3.2 Physical model: Geometry, charge, spin, etc.
The present section summarizes all keywords in FHI-aims that are directly concerned with the physical model of the problem to be tackled. Importantly, this includes some specific subtags that you cannot ignore, because they define the physical question that you are trying to address – and no one else but you can do that. The present section thus includes such things as atomic positions or unit cells, but also the level of theory to be used (exchange-correlation, relativistic treatment), or a potential charge of the system.
Tags for geometry.in:
Tag: atom(geometry.in)
Usage: atom x y z
species_name
Purpose: Specifies the initial location and type of an atom.
x, y, z are real-valued numbers (in Å) which
specify the atomic position.
species_name is a string descriptor which specifies the chemical element
(or, more broadly, atomic species type) at
this atomic position; it must match one of the species descriptions
defined in control.in.
Tag: atom_frac(geometry.in)
Usage: atom_frac
species_name
Purpose: Specifies the initial location and type of an atom in fractional coordinates.
is a real-valued multiplier to lattice_vector .
species_name is a string descriptor which specifies the chemical
element (or, more broadly, the atomic species type) at
this atomic position; it must match one of the species descriptions
defined in control.in.
Fractional coordinates are only meaningful in periodic calculations.
Conversion of fractional atomic positions into cartesian coordinates, , is achieved by
| (3.1) |
where is a unit cell vector specified by the lattice_vector keyword.
Tag: lattice_vector(geometry.in)
Usage: lattice_vector x y z
Purpose: Specifies one lattice vector for periodic boundary conditions.
x, y, z are real numbers (in Å) which
specify the direction and length of a unit cell vector.
If up to three lattice vectors are specified, FHI-aims automatically assumes periodic boundary conditions in those directions. Note that the order of lattice vectors matters, as the order of space divisions (given in control.in) depends on it!
Tags for general section of control.in:
Tag: charge(control.in)
Usage: charge q
Purpose: If set, specifies an overall charge in the system.
q is a real number that specifies a positive or negative total
charge in the system.
For most normal systems, this definition is unambiguous (sum of all nuclear charges in geometry.in minus number of electrons in the system). Note specifically that the same definition continues to hold also in systems with external embedding charges (specified by keyword multipole in geometry.in). The charges of the external embedding charges are in addition to the charge keyword in control.in, and not included.
Note also that the value q of charge should be equal to the sum of initial_charge values specified in geometry.in (or equal to 0 ifinitial_charge values are not specified). If this is not the case FHI-aims will stop, unless the keyword
override_initial_charge_check is used.
Tag: fixed_spin_moment(control.in)
Usage: fixed_spin_moment value
Purpose: If set, allows to enforce a fixed overall spin moment throughout the calculation.
value : real-valued number, specifies the difference of electrons
between spin channels, .
Meaningful only in the spin-polarized case (spin collinear in control.in).
This keyword replaces the earlier keyword multiplicity. Note that the value that must be given for fixed_spin_moment is , which corresponds to a multiplicity —i.e., the values are not the same. Keyword fixed_spin_moment works for periodic and cluster systems alike, and uses two different chemical potentials (Fermi levels) for the spin channels.
Tag: species(control.in)
Usage: species species_name
Purpose: Defines the name of a species (element) for possible use with atoms
in geometry.in
species_name is a string descriptor (e.g. C, N, O, Cu, Zn,
Zn_tight, …).
Every species_name used in an atom descriptor in geometry.in must correspond to a species given in control.in. Following the species tag, all sub-tags describing that species must follow in one block. (No particular order is enforced within that block). For example, the choice of the basis set, the atom-centered integration grid, or the multipole decomposition of the atom-centered Hartree potential are all specified per species.
Tag: spin(control.in)
Usage: spin type
Purpose: Specifies whether or not spin-polarization is used.
type is a string, either none or
collinear, depending on whether an unpolarized (spin-restricted) or
spin-polarized (unrestricted) calculation is performed.
In the collinear case, defining the moments used to create the initial spin density is required (see the beginning of Sec. 3.10 for an explanation). This means that an overall default_initial_moment (in control.in), or at least one individual initial_moment tag in geometry.in, or both, must be set. Else, the code will stop with a warning. (It is not necessary to specify initial_moment for every atom in geometry.in. A single one will do.) Choosing the right initial spin density can be performance-critical, and critical for the resulting physics. FHI-aims should not make this choice for you.
Warning: It is not a good idea to run each and every calculation with spin collinear just because that seems to be the more general case. In a system that will safely be non-magnetic, using something other than spin none will roughly double the CPU time needed in the best case, and it will most likely lead to much worse s.c.f. convergence (i.e., more iterations needed to find the self-consistent electronic solution). There is no fundamental problem with running spin collinear, but again: just doing this out of some sense of impartiality may not be a wise use of resources.
This keyword is completely independent of spin-orbit coupling, which is applied as a post-processed correction after the SCF cycle has converged. The two keywords can be used together, e.g., to obtain spin-orbit coupled versions of the energy band structure of an open-shell system (see the supporting material of Ref. [148] for an example of the spin-polarized band structure of fcc Ni). For more information on spin-orbit coupling, please see the include_spin_orbit keyword and the discussion in the associated chapter.
Subtags for species tag in control.in:
species sub-tag: mass(control.in)
Usage: mass M
Purpose: Atomic mass
M is a real number that specifies the atomic mass in atomic
mass units (amu).
This tag is used only for molecular dynamics. The preconstructed species_defaults files supplied with FHI-aims contain the mass average over the different isotopes of each natural element.
species sub-tag: nucleus(control.in)
Usage: nucleus Z
Purpose: Via the nuclear charge defines the chemical element associated with
the present species.
Z is a real number (the nuclear charge).
Z is usually an integer number. However, partial (non-integer) charges are also possible.
Fractional Z can be useful, for example, for a stoichiometric hydrogen-like termination of a compound semiconductor slab (e.g., in a III-V compound, the valence of the connecting element would be mimicked by a fractionally charged H of charge 0.75 or 1.25).
If the difference between the specified nuclear charge and the nearest integer is greater than 0.34, keyword element may be needed to be set explicitly in the species definition to designate an unambiguous chemical identity.
Fractional Z can also be useful to distribute a compensating charge for an electronically charged periodic supercell calculation. In electronic charged periodic systems, a compensating background charge is always implicit. This is often accomplished by introducing an implicit homegeneous charged background density. However, the choice of such a jellium background is often anything but ideal. For instance, in a surface slab calculation, part of this compensating charge will be located in the vacuum. In such cases, it may be better to place the compensating charge in the system explicitly and “by hand”. One good way to do this is to place the compensating charges on certain nuclei.[261]
If you add a fractional Z to a species_default, you will have to take care to modify the valence tags to reflect the exact opposite charge, creating an overall neutral spherical free atom as far as the valence occupation numbers in the species definition go.
species sub-tag: element(control.in)
Usage: element symb
Purpose: Chemical element associated with the species.
symb is a string (max. 2 characters) that corresponds to the symbol
of the chemical element. Default: see below.
The purpose of this tag is to specify the chemical identity of a species in the rare cases when it cannot be determined from Z because it has been set to a non-integer value. In particular, when Z is more than 0.34 from the nearest integer number, the species element must be set with the element tag. Currently, this value is used only by the van der Waals routines, but the requirement above must be satisfied for any calculation.