PSCF v1.3.2
|
Self-Consistent Field Theory (Prev) Parameter Sweeps (Next)
The self-consistent field equations are non-linear equations that must be solved by an iterative method. The algorithm used for this purpose is referred to throughout the PSCF source code and documentation as an "iterator". The parameter file format for each PSCF program allows a user to use a selectable "Iterator" block of the parameer file to choose from among several available iterator algorithms.
Several of the iterator algorithms provided by PSCF rely on some variant of the Anderson mixing (AM) algorithm. General aspects of this algorithm are discussed on a separate page.
Different sets of algorithms are available for use with pscf_1d for one-dimension problems, and for the pscf_pc and pscf_pg programs for periodic systems, as described below:
Users of pscf_1d may choose from among 3 SCFT iterators, named AmIterator, NrIterator, and BinaryRelaxiterator. More detailed documentation of the input format for each available pscf_1d iterator is given in the links in the table below:
Class | Description |
AmIterator | Anderson-Mixing iterator (default) |
NrIterator | Newton-Raphson iterator |
BinaryRelaxIterator | Simple relaxation algorithm for AB (two monomer) systems, as described by Drolet and Fredrickson. |
The default iterator for pscf_1d is an Anderson-mixing algorithm that is implemented by a class named AmIterator. Because this is the default choice, it may be invoked by including an iterator block in the parameter file in which the first line contains either the generic label "Iterator" or the specific class name "AmIterator".
The NrIterator class implements a Newton-Raphson iterator. Under favorable conditions, this may converge in only a few steps, but the cost for each step is high, and grows rapidly with increasing number of grid points. This iterator is thus not efficient for large problems (more than approximately 1000 grid points).
The BinaryRelaxiterator class implements a simple relaxation iterator for AB systems with only two types of monomer, as described by F. Drolet and G.H. Fredrickson (Phys. Rev. Lett, vol 83, page 4317, 1999).
The pscf_pc and pscf_pg programs each provide two Anderson mixing iterator algorithms named AmIteratorBasis and AmIteratorGrid, respectively. The AmIteratorBasis algorithm is the default iterator algorithm for either program, and so may be invoked by a block that starts with either the generic label "Iterator" or with a block that uses the specific label "AmIteratorBasis".
Descriptions of the parameter file formats for these two types of iterator may be found by following the links in the table below:
Class | Description |
AmIteratorBasis | Anderson Mixing iterator for periodic structures, formulated using a symmetry-adapted basis (default) |
AmIteratorGrid | Anderson Mixing iterator for periodic structures, formulated using values defined on a spatial grid |
Either of these algorithms can be used either to solve the SCF equations in a rigid periodic unit cell or to simultaneously solve the SCF equations and optimize the unit cell parameters of a flexible unit cell so as to mininize the free energy density. For either algorithm, this choice is determined by the value of an optional boolean parameter named "isFlexible", which is true (i.e., flexible unit cell) by default.
Both of these iteration algorithms are both based on Anderson-mixing (AM) algorithms, but differ in their treatment of space-group symmetry:
The implementation of the AmIteratorBasis algorithm uses an expansion of both chemical potential fields and the residual vector as arrays with elements that represent coefficients in symmetry-adapted Fourier expansions of the corresponding fields. This expansion can only represent fields that are invariant under all symmetry operations of the specified space-group. This algorithm thus searches for a solution with the specified space-group symmetry, which is automatically maintained throughout the iteration process. This algorithm thus requires a parameter file that contains a groupName parameter, and requires an initial guess for the w-fields that was input in symmetry-adapted basis field file format.
The AmIteratorGrid is an Anderson-mixing algorithm that does not impose any space group symmetry on either the initial guess or the solution. The implementation of AmIteratorGrid uses a representations of the w fields and residual vector as arrays whose elements represent values of fields on the nodes of a regular spatial grid. This iterator may be enabled by a parameter file block that starts with the label AmIteratorGrid. It may be used with a parameter file that does not contain a groupName parameter, and may use an initial guess that was input in either r-grid or basis format. Because the algorithm does not impose a space-group symmetry during iteration, the converged w-fields are not assumed to have any such symmetry, and thus cannot be output in symmetry-adapted basis format.
Self-Consistent Field Theory (Prev) Self-Consistent Field Theory (Up) Parameter Sweeps (Next)