Geometry setup - bertdupe/Matjes GitHub Wiki
Geometry setup
Starting on the branch patrick-dev, the input to define the lattice-geometry is modified.
This page describes this setup in its entirety.
Basic lattice dimension
The shape of the basic unit-cell is described entirely with the parameters lattice
and alat
.
The keyword lattice
has to be followed, starting in the next line, by 3 3-vectors, i.e. 9 real values. Each set of 3 numbers defines a lattice vector in xyz-direction, the resulting lattice-vector is automatically normalized.
For example:
lattice
0.5 0.86602540378 0.0
-0.5 0.86602540378 0.0
0.0 0.0 1.0
creates a hexagonal lattice with 60°-angle.
The keyword
rotate_lattice 0.0 0.0 0.0 #rotate real-space lattice around ZXZ axes by angles in units of pi
can be used to rotate the real-space lattice vectors using the euler rotations in the ZXZ order. The real input are the angles in units of pi.
The keyword alat
allows to rescale each lattice-vector, hence it has to be followed by 3 real numbers.
alat 0.25 0.25 1.0
results in a lattice where the first 2 lattice vectors have a length of 0.25nm while the last has a length of 1nm.
Supercell geometry
The supercell is created from the basic unit cell through the input parameters Nsize
and Periodic_log
.
Nsize
has to be followed by 3 integers, which specify the number of repetitions along the respective lattice vector direction.
Nsize 10 10 1
creates a super-cell with 100 unit-cells, 10 repetitions in direction of the first and second lattice vector each.
Periodic_log
has to be followed by 3 logical parameters, which specify if the super-cell is periodic along the respective direction if the lattice vector.
Periodic_log T T F
adds periodic boundaries along the first and second lattice vector, while the system is not periodic along the third lattice vector direction.
Atom sites
The atoms in the unit cell are described by the atomtypes
and the atoms
-keywords. First, the different atom-types in the system have to be specified with their respective properties, then to positions of the atoms in can be specified.
Atom-type
The atom-types are defined through the keyword atomtypes
, followed in-line by an integer specifying the number of atom-types.
For each atom-type first a character has to be set, serving as an identifier in the Atom setup, then 3 real number, corresponding to magnetic moment, effective charge, and effective mass, followed by a logical which specifies if this atom-type is considered with respect to phonon calculations. Lastly, the number of tight-binding orbitals excluding magnetic- and particle-hole-degeneracy is specified.
Hence,
atomtypes 2
Fe 2.3 0.0 0.0 F 1
Ag 0.0 1.0 1.0 T 2
specifies 2 atom-types, , the first called Fe
with a magnetic moment of 2.3 bohr magneton and one tight-binding orbital, the second called Ag with an effective charge of 1, effective mass of 1, consideration in phonon calculations, and 2 tight-binding orbitals.
Atom-positions
In order to specify the which atoms sit at which position, the atoms
keyword is used. It has to be followed immediately by the number of atoms in the unit-cell. The following lines are expected to supply the atom-type identifier as character, followed by 3 real numbers which define the position in the unit-cell in basis of the lattice parameters.
For example:
atoms 2
Fe 0.0 0.0 0.0
Ag 0.5 0.5 0.0