PSCF v1.1
Parameter File - pscf_fd

Parameter File - Parameter Sweeps (Prev)         Parameter File - pscf_pc (Next)

The pscf_fd program allows the solution of the SCFT field equations for problems in which all fields depend only on a single coordinate in a planar planar (Cartesian), cylindrical or spherical geometry. This program may be used to treat a flat interface or thin film by using a planar geometry, or can treat curved interfaces and a cylindrical or spherical micelles by using a cylindrical or spherical coordinate by using a cylindrical or spherical geometry. An example of a parameter file for an pscf_fd program was given previously as an example of the syntax. Please consult this example when looking at this discussion of the file format.

File Format

The overall format for a pscf_fd parameter file is shown below in skeleton form:

System{
Mixture{ ... }
Interaction{ ... }
Domain{ ... }
Iterator#{ ... }
Sweepr#*{ ... }
}

The purposes of each of these top-level blocks have been discussed previously. The Mixture and Interaction blocks use the same format for all PSCF programs, and have also been discussed previously. We thus focus below on the contents of the Domain, Iterator, and Sweep blocks.

Domain Block

The domain block describes the spatial domain over which the SCFT equations should be solved. The parameter file syntax is described in detail here, and also discussed below.

The example parameter file shown previously was designed to describe a planar geometry. As another example, here is the Domain block for a simulation of a spherical micelle

Domain{
mode spherical
xMax 8.0
nx 201
}

This example omits an optional parameter xMin that, when present, would appear immediately before xMax.

The full format for the Domain block is

Domain{
mode* enumeration ("planar", "cylindrical" or "spherical", "planar" by default)
xMin* real (optional, 0 by default)
xMax real
nx int
}

The meaning of the various parameters are given in tabular form below

Label Description
mode* enumeration ("planar", "cylindrical" or "spherical", "planar" by default)
xMin* Lower bound of coordinate domain. Optional and 0.0 by default.
xMax Upper bound of coordinate domain.
nx Number of grid points used to discretize the domain.

Each parameter is discussed in more detail below:

mode : The value of the optional "mode" parameter is an enumuration that specifies the coordinate system. The allowed input values for this parameter are the strings "planar", "cylindrical" or "spherical". Mode "planar" indicates a Cartesian coordinate system appropriate to membrane or thin film, in which the coordinate is measured normal to the film. Mode "cylindrical" indicates a cylindrical coordinate system for a system with cylindrical rotational symmetry, in which the coordinate represents distance from an axis of rotation. Mode "spherical" indicates a spherical coordinate system for a system with spherical symmetry, in which the coordinate represents distance from the origin.

xMin and xMax : The parameters xMin and xMax specify the minimum and maximum values of the relevant spatial coordinate. The parameter xMin is optional, and is set to 0.0 default when the parameter is omitted. In "planar" mode, xMin and xMax are the minimum and maximum values of a Cartesian coordinate, defining a slit bounded bounded by constant values of this coordinate. In "cylindrical" and "spherical" mode, these are minimum and maximum values of a radial coordinate. In cylindrical or spherical mode, omitting xMin defines a simply connected circular or spherical domain of radius equal to xMax that includes the origin. If the parameter xMin is present and is assigned a positive value less than xMax, the problem will be solved in a cylindrical or spherical annular region of inner radius xMin and outer radius xMax.

nx : The parameter nx specifies the number of equally spaced grid points that will be used to discretize the spatial domain. Because this includes both end-points, the number of grid points is one greater than the number of spatial steps. The distance between grid points in the underlying finite difference discretization, denoteed by dx, is thus given by dx = (xMax - xMin)/(nx-1).

Boundary Conditions

The pscf_fd program solves the modified diffusion equation subject to von Neumann boundary conditions that require derivatives of the propagators and concentration fields with respect to the relevant Cartesian or radial normal coordinate must vanish at the lower and upper bounds, xMin and xMax. In the special case of a cylindrical or spherical geometry, for which xMin = 0.0, the requirement of a vanishing radial derivative at x=0 is necessary to guarantee that the gradient vector is continuous at the origin.

Iterators

The Iterator block provides data required by the iterator used to solve the nonlinear self-consistent field (SCF) equations.

The default iterator for pscf_fd is an Anderson-mixing algorithm that is implemented by a class named AmIterator. Because this is the default iterator, it may be chosen by including an iterator block 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 step is high, and grows rapidly with increasing number of grid points. This iterator is not efficient for large problems (more than approxinately 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, 4317, 1999).

More detailed documentation of the input format for each available 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.

Sweep

The default sweep for pscf_fd is a linear sweep algorithm that can be invoked using a block that starts either with the generic label Sweep or the specific label LinearSweep. The required parameter file format has been described here.


Parameter File - Parameter Sweeps (Prev)         Parameter Files (Up)         Parameter File - pscf_pc (Next)