Geometry

Let us start with a few examples showing how to define the geometry of your system in BAND.

Sodium chloride crystal:
Units
  Length Angstrom
End

Lattice
  0.00 2.82 2.82
  2.82 0.00 2.82
  2.82 2.82 0.00
End

Atoms
  Na  0.00 0.00 0.00
  Cl  2.82 2.82 2.82
End
Graphene (2D slab):
Units
  Length Angstrom
End

Lattice
  2.46 0.0     0.0
  1.23 2.13042 0.0
End

Atoms
  C  0.0  0.0     0.0
  C  1.23 0.71014 0.0
End
Water molecule:
Atoms
  O  0.0  0.0   0.0
  H  0.0  1.446 1.137
  H  0.0 -1.446 1.137
End

Notes:

  • If you leave out the Lattice key block, BAND will not use periodic boundary condition
  • The default unit of length is Bohr
Geometry from an external file:
GeometryFile /SomePath/diamond.xyz

Units

The default unit for geometric data (atomic positions and lattice vectors) is Bohr (atomic units). You can change the input units via the optional block key Units:

Units
  {Length [Bohr|Angstrom]}
  {Angle [Degree|Radian]}
End
Length
(Default: Bohr) Units of length.
Angle
(Default: Degree) Units of angle.

Lattice vectors

Lattice (block-type)

Vectors (Cartesian coordinates x, y, z) defining the Bravais lattice, one vector per line. The number of lines defines the periodicity of the system: 1 - polymer, 2 - slab, 3 - bulk crystal. If the Lattice block is omitted, no periodic boundary conditions will be used.

For 1D periodic systems the lattice vector must be aligned with the x-axis

! This is OK (lattice vector aligned with the x-axis):

Lattice
  2.0 0.0 0.0
End
! This is WRONG (lattice vector not aligned with the x-axis):

Lattice
  1.0 1.0 0.0
End

For 2D periodic systems (slabs) the lattice vectors must be on the xy-plane:

! This is OK (lattice vectors in the xy-plane):

Lattice
  2.0 0.0 0.0
  1.0 1.0 0.0
End
! This is WRONG (lattice vector not in the xy-plane):

Lattice
  2.0 0.0 0.0
  0.0 0.0 2.0
End

Coordinates of atoms in the unit cell

The chemical symbols and coordinates of the atoms in the unit cell must be defined in the Atoms block key:

Atoms
  O  x1 y1 z1
  H  x2 y2 z2
  H  x3 y3 z3
End

The chemical symbol, preceding the coordinates, defines the atom type. Be aware that internally BAND will reorder the atoms, so that atoms of the same type are consecutive.

You may want atoms of the same element to belong to different atom types. This can be done by appending a user defined name to the element symbol, using . as a separator. Example:

Atoms
  O            x1 y1 z1
  H.my_name_1  x2 y2 z2
  H.my_name_2  x3 y3 z3
End

This can be useful if you want to:

Fractional coordinates

Coordinates Fractional
Including this key in the input specifies that nuclear coordinates (key atoms) are given as expansions in the Bravais lattice vectors, rather than in a Cartesian representation. See the NaCl example.

Selected atoms

SelectedAtoms

With this key you can select atoms. This has an effect on a couple of options, like Gradients, Hessian (FREQUENCIES), NMR, and EFG options. In these cases, the properties will only be calculated for the selected atoms, which can make the job faster.

SelectedAtoms n1, n2, n...

The numbers of the atoms are as on input. If the selection breaks the symmetry the program will stop. Leaving out this key in general selects all atoms.

Atomic masses (AtomProps)

The default atomic masses used in BAND are taken from Nuclear Physics A 565, 1-65 (1993). The atomic masses of selected atom types can be redefined via the AtomProps block key:

AtomProps
   Symbol m=mass
   ...
End
Symbol
Symbol defining the atom type, as defined in the Atoms block key. Here, mass defines the new atomic mass (in unified atomic mass unit).

Example with three different hydrogen isotopes:

Atoms
   N         0.000000    0.000000    0.010272
   H        -0.471582   -0.816803    0.407861
   H.D       0.943163    0.000000    0.407861
   H.T      -0.471582    0.816803    0.407861
End
AtomProps
   H.D m=2.01410
   H.T m=3.01605
End

Only the following properties depend on the atomic masses:

Ghost atoms

A ghost atom represents only the basis set of an atom, there is no nucleus at that position. Ghost atoms are defined by prepending “Gh.” to the element name. In the case of a frozen core, the core orbitals of the ghost atoms are added to the valence space.

Example The dimer N-H including basis functions of two hydrogens:

Atoms
   N         0.000000    0.000000    0.010272
   H        -0.471582   -0.816803    0.407861
   Gh.H      0.943163    0.000000    0.407861
   Gh.H     -0.471582    0.816803    0.407861
End

Geometry from file

Instead of specifying the geometry of your system in the input file via the Atoms, Lattice and Units block keys, the geometry can be read from an external file

GeometryFile file
file
The absolute path of the file containing the geometry information of the system. The only format currently supported is .xyz. The default unit is Angstrom.

Notes

  • The standard .xyz file format does not include lattice vectors. However, we support lattice vectors in .xyz files; our convention is to specify the lattice vectors at the end of the .xyz file via the keys VEC1, VEC2 and VEC3. For 1D periodic systems only VEC1 is needed. For 2D periodic systems only VEC1 and VEC2 are needed. Example: .xyz file for graphene:

    2
    
    C    0.0  0.0     0.0
    C    1.23 0.71014 0.0
    VEC1 2.46 0.0     0.0
    VEC2 1.23 2.13042 0.0
    
  • If you specify the geometry via the GeometryFile key, the following keys must not appear in the input: Atoms, Lattice and Units.