PSCF v1.1
Crystal Unit Cells

Examples (Prev)         Space Groups (Next)

The input files for pscf_pc and pscf_pg programs use a shared set of conventions to describe crystallographic unit cells (i.e,. Bravais lattices).

Unit Cell Descriptors

Three different types of information are required to completely describe a crystal lattice, as discussed below:

Spatial dimension : The spatial dimension of a lattice, denoted here by D, is a positive integer that gives the number coordinates along which the structure is periodic, e.g., D=1 for a lamellar phase, D=2 for hexagonally packed cylinders, or D=3 for a three dimensional crystal such a BCC lattice or a gyroid network.

Lattice system identifier : The lattice system identifier is a string that names one of the allowed crystallographic lattice systems (e.g., cubic, orthorhombic, etc) for a crystal of the specified dimensionality. The set of allowed values of this string identifier is different for 1, 2, and 3 dimensional crystals, as discussed below.

Lattice parameters : Values of the lattice parameters specify the size and shape of the unit cell by specifying values for the lengths lengths of the Bravais lattice basis vectors (corresponding to the lengths of edges of the unit cell) and, when necessary, values of angles between such vectors.

The number of parameters required to describe a unit cell is different for different lattice systems. For example, a 3D cubic lattice can be specified by giving a single parameter, which is the length of any of the three orthogonal basis vectors, whereas 6 parameters (3 lengths and three angles) are required to describe a 3D triclinic lattice. By convention, the required lattice parameters for each lattice system type are always listed in a specific order that is described below for each of the possible 1, 2 and 3 dimensional lattice systems.

These three different types of information are provided to a pscf_pc or pscf_pg program in different ways:

Spatial dimension : The PSCF package requires the user to use different executable programs to simulate periodic systems of different dimensionality, in which the value of the spatial dimension D appears as part of the executable name. For example, one must use pscf_pc3 or pscf_pg3 to simulate a fully three dimensional crystal but pscf_pc1 or pscf_pg1 for a 1D (lamellar) crystal. As a result, the value of the spatial dimension D is known at run time from the user's choice of executable, and does not need to be specified in any input file.

Lattice system identifier : The string identifier for a lattice system is a required parameter in the parameter file format for all pscf_pc and pscf_pg programs. This identifier is given as the value of the parameter with the label "lattice" within the Domain block of the parameter file. The choice of lattice system that is specified in the parameter file cannot be changed during later stages of program execution. To perform calculations involving several different lattice systems, one must instead execute the relevant program or programs several times with different input parameter files.

Lattice parameters : Values for the lattice parameters (i.e., lengths of the edges of the unit cell and angles between them) do not appear in the parameter file, but are instead usually provided within an input field file that is read by the program. All of the field file formats used by pscf_pc and pscf_pg contain a file header that contains lattice system identifier and a list of values for lattice parameters. The lattice system identifier in the header of any field file read by the program must agree with that declared in the parameter file - the program will halt execution with an error message if they do not. Users can also explicitly set or modify lattice parameter values by executing the SET_LATTICE_PARAMETERS command, which takes the lattice parameter values as a list of command arguments.

Allowed values of the lattice system identifier and conventions for the meaning and conventional order of required unit cell parameters for each lattice system type are described below for 1, 2 and 3 dimensional systems.

1D Systems

There is only possible lattice system for a one dimensionally periodic system, which is identifed by the string "lamellar". A 1D lamellar system only has one lattice parameter, which is the repeat distance along the direction in which the system is periodic, denoted here by d.

This information is repeated below in tabular format analogous to that used for 2D and 3D systems. In this format, the "lattice system" column gives the allowed values (or value) for the lattice system identifier string, N is the number of required input parameters for each lattice system, "parameters" gives the name(s) of all required parameters in the order in which they must be listed in any input file, and "description" describes the meaning of those parameters.

lattice system N parameters description
lamellar 1 d d is the lamellar repeat distance

2D Systems

There are 4 conventional 2D lattice systems (square, hexagonal, rectangular, and oblique). The code also allows the user to specify a "rhombic" unit cell, which is an oblique unit cell in which the two basis vectors have equal magnitude.

The names of the lattice systems, and the list of parameter required by each is listed below. Throughout, let a and b denote the lengths of the lattice basis vectors, and let alpha denote the angle between these two vectors. When a value for the parameter alpha is required, it must be provided in radians, and not in degrees.

lattice system N parameters description
square 1 a 2 orthogonal basis vectors of equal length a=b
hexagonal 1 a 2 basis vectors of length a=b separated by 120 degrees
rectangular 2 a, b 2 orthogonal basis vectors of unequal lengths a and b
rhombic 2 a, alpha 2 basis vectors of equal length a separated by an angle alpha (radians)
oblique 3 a, b, alpha 2 basis vectors of unequal lengths a and b separated by an angle alpha (radians)

3D Systems

In what follows we use the letters a, b, c both to denote lengths of the three Bravais lattice basis vectors and as labels to identify the actual vectors. Different definitions of angles are used for different lattice systems, as discussed below:

lattice system N parameters description
cubic 1 a 3 orthogonal basis vectors of equal length a=b=c.
tetragonal 2 a, c 3 orthogonal basis vectors, with a=b but c unequal to a or b.
orthorhombic 3 a, b, c 3 orthogonal basis vectors of generally unequal lengths a, b and c.
hexagonal 2 a, c Two lattice vectors of equal length a=b are separated by 120 degrees. A third vector of length c is perpendicular to a and b.
rhombohedral 2 a, beta 3 lattice vectors of equal length a=b=c, with the same angle beta between any two of these vectors.
monoclinic 3 a, c, beta 2 orthogonal basis vectors of equal lengths a=b. A third vector of length c is orthogonal to vector b. Angle beta is the angle between vectors a and c.
triclinic 6 a, b, c, phi, theta, gamma 3 non-orthogonal basis vectors of uequal lengths a, b, and c. Gamma is the angle between a and b. Theta is the angle between c and a vector z that is perpendicular to a and b. Phi is the angle between the a-z and c-z planes.


Examples (Prev)         User Guide (Up)         Space Groups (Next)