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