Simulation Box
Name BoxShape
Section Mesh::Simulation Box
Type integer
This variable decides the shape of the simulation box.
The default is minimum for finite systems and parallelepiped for periodic systems.
Note that some incompatibilities apply:
- Spherical or minimum mesh is not allowed for periodic systems.
- Cylindrical mesh is not allowed for systems that are periodic in more than one dimension.
- box_image is only allowed in 2D.
*Options*:
- sphere:
The simulation box will be a sphere of radius Radius. (In 2D, this is a circle.)
- cylinder:
The simulation box will be a cylinder with radius Radius and height (in the x-direction)
of 2 Xlength.
- minimum:
The simulation box will be constructed by adding spheres created around each
atom (or user-defined potential), of radius Radius.
- parallelepiped:
The simulation box will be a parallelepiped whose dimensions are taken from
the variable Lsize.
- box_image:
The simulation box will be defined through an image, specified with BoxShapeImage.
White (RGB = 255,255,255) means that the point
is contained in the simulation box, while any other color means that the point is out.
The image will be scaled to fit Lsize, while its resolution will define the default Spacing.
The actual box may be slightly larger than Lsize to ensure one grid point = one pixel for
default Spacing.
- user_defined:
The shape of the simulation box will be read from the variable BoxShapeUsDef.
- hypercube:
(experimental) The simulation box will be a hypercube or
hyperparallelepiped. This is equivalent to the
parallelepiped box but it can work with an arbitrary
number of dimensions.
Name BoxShapeImage
Section Mesh::Simulation Box
Type string
Name of the file that contains the image that defines the simulation box
when BoxShape = box_image. No default. Will search in current
directory and OCTOPUS-HOME/share/.
Name BoxShapeUsDef
Section Mesh::Simulation Box
Type string
Boolean expression that defines the interior of the simulation box. For example,
BoxShapeUsDef = "(sqrt(x^2+y^2) <= 4) && z>-2 && z<2" defines a cylinder
with axis parallel to the z-axis.
Name LatticeParameters
Section Mesh::Simulation Box
Type block
The lattice parameters (a, b, c).
This variable is mandatory for periodic systems and is ignored otherwise.
When PeriodicDimensions = 3, a second optional line can be used to
define the angles between the lattice vectors. If the angles are not
provided, then the variable LatticeVectors must be set.
The number of parameters specified in the block must be at least equal
to the number of periodic dimensions, but it is not mandatory to
specify parameters for the non-periodic dimensions (in that case they
are set to 1).
Name LatticeVectors
Section Mesh::Simulation Box
Type block
Default simple cubic
Primitive lattice vectors. Vectors are stored in rows.
Default:
%LatticeVectors
1.0 | 0.0 | 0.0
0.0 | 1.0 | 0.0
0.0 | 0.0 | 1.0
%
Name Lsize
Section Mesh::Simulation Box
Type block
If BoxShape is parallelepiped, hypercube,
box_image, or user_defined, this is a
block of the form:
%Lsize
sizex | sizey | sizez | …
%
where the size* are half the lengths of the box in each direction.
The number of columns must match the dimensionality of the
calculation. If you want a cube you can also set Lsize as a
single variable.
Name Radius
Section Mesh::Simulation Box
Type float
Defines the radius for BoxShape = sphere,
cylinder, or minimum. Must be a positive
number. If not specified, the code will look for values in
the Species block, or, from the default
pseudopotential parameters. In these cases, for
minimum, a different radius is used for each
species, while for other shapes, the maximum radius is used.
Name SymmetryBreakDir
Section Mesh::Simulation Box
Type block
This variable specifies a direction in which the symmetry of
the system will be broken. This is useful for generating k-point
grids when an external perturbation is applied.
Name Xlength
Section Mesh::Simulation Box
Type float
Default Radius
If BoxShape is cylinder, the total length of the cylinder is twice Xlength.
Note that when PeriodicDimensions = 1, then the length of the cylinder is determined from the lattice vectors.