PSCF v1.2
|
Field File - Symmetrized Basis (Periodic) (Prev) Field File - K-Grid (Periodic) (Next)
The r-grid file format is used by the pscf_pc and pscf_pg programs to describe fields in a spatially periodic microstructure. This format outputs the values of set of fields on the nodes of a regular mesh that covers one unit cell of a periodic structure. This mesh is the same one as that used by the pseudo-spectral algorithm for solving the modified diffusion equation.
Here is example of a converged omega field for a hex phase of a diblock copolymer melt:
Like other field formats, this file format contains a header section with crystallographic information followed by a data section. The header section is similar that for the symmetry adapted format, except for two differences:
In this example, because it is a two-dimensional crystal (dim = 2), the mesh parameter contains two numbers, both equal to 24, indicating a grid in which there are 24 grid points along each coordinate axis. To describe a hexagonal phase, we use a non-orthogonal coordinate system in which each axis is parallel to one of the Bravais lattice vectors, which in a hexagonal phase have an angle of 60 degrees between them.
The group_name parameter, which is present in the above example, is an optional element of r-grid file. This parameter may be included to document that the field is invariant under a known space group, though the r-grid file format does not impose any space group symmetry. When a w-field in is read from an r-grid file by the READ_W_GRID command, however, the presence of any group_name parameter is actually ignored, and the field is treated as if it has no nontrivial space group symmetry.
The data section contains the values of fields associated with N_monomer monomer types at grid points given by
\[ \textbf{r}(n_1, \ldots, n_{D}) = \sum_{i=0}^{\textrm{D}-1} \frac{n_{i}}{N_{i}}\textbf{a}_{i} \]
where \(D\) is the dimensionality of the crystal (denoted by "dim" in the header file), \(\textbf{a}_{i}\)is a Bravais lattice vector, \(N_{i}\) is the number of grid points along direction \(i\), and \(n_{i}\) is an integer index in the range \(0 \leq n_{i} < N_{i}\).
The number of rows in the data section is equal to the total number of grid points. Each row in this section contains values of all field components at a single grid point. The number of columns is equal to the number of monomer types, so that data in column \(\alpha\), with columns numbered as \( \alpha = 0, 1, \ldots \), contains the values of the field associated with monomer type index \(\alpha\).
Grid points are listed in order using the first index \(n_{0}\) as the most rapidly varying (innermost) loop index. This order, which is the opposite of the order in which elements of an array are stored in in C/C++, is used to maintain backwards compatbility with order used in the file format defined in the older fortran version of PSCF. This is implemented for a three-dimensional crystal as a loop that can be given as pseudo-code of the form:
in which capitalized symbols (N0, N1, N2) denote the number of grid points in each direction and lower case-variables (n0, n1, n2) denote indices for a particular grid point.
Field File - Symmetrized Basis (Periodic) (Prev) Field Files (Up) Field File - K-Grid (Periodic) (Next)