This document lists and provides the description of the name (keywords) of all geometry builder + symmetry related input variables to be used in the main input file of the abinit code.
The new user is advised to read first the new user's guide, before reading the present file. It will be easier to discover the present file with the help of the tutorial.
When the user is sufficiently familiarized with ABINIT, the reading of the ~abinit/doc/users/tuning file might be useful. For response-function calculations using abinit, please read the response function help file
Set the type of Bravais lattice, needed only if spgroup/=0 . In this case, the cell defined by acell and rprim or angdeg should be the CONVENTIONAL cell.
If brvltt=0, the code will assign brvltt from the space group information spgroup, and produce the symmetry operations for the conventional unit cell. If the conventional cell is not primitive, the user should set chkprim=0.
If brvltt=-1, the code will assign brvltt from the space group information, then reduce the unit cell to a primitive unit cell. The echo of acell and rprim might thus differ from those derived directly from the input variables. Also, the input variable xred will refer to the CONVENTIONAL unit cell, but its echo will refer to the preprocessed PRIMITIVE unit cell. There is of course no problem with xangst and xcart, as they are independent of the unit cell.
The echo of brvltt in the output file will be one
of the following Bravais lattices:
The space groups 146, 148, 155, 160, 161, 166, 167, when used
with spgaxor=1 (hexagonal axes) will have brvltt=7
and two associated translations: (2/3, 1/3, 1/3) and
(1/3, 2/3, 2/3).
For more details see the space group
help file.
This input variable might be used to define a Shubnikov type IV magnetic space group (anti-ferromagnetic
space group). The user is advised to consult
"The mathematical theory of symmetry in solids,
Representation theory for point groups and space groups, 1972,
C.J. Bradley and A.P. Cracknell, Clarendon Press, Oxford."
A Shubnikov type IV magnetic space group might be defined by its Fedorov space group
(set of spatial symmetries, that do not change the magnetisation), and
one translation associated with a change of magnetisation.
genafm is precisely this translation, in reduced coordinates (like xred)
Thus, one way to specify a Shubnikov IV magnetic space group, is to define both
spgroup and genafm. Alternatively, one might
define spgroup and spgroupma,
or define by hand the set of symmetries, using symrel,
tnons and symafm
Gives the number of atoms to be
read from the input file, in the case the geometry builder
or the symmetriser is used. In this case,
natrd is also used to dimension
the array typat,
and the arrays xred,
xangst and xcart.
Must take into account the vacancies (see vacnum and
vaclst).
Despite possible vacancies, cannot be bigger than natom.
Gives the number of 'objects'
to be used by the geometry builder in order to find the full
set of atoms. At present, only one or two objects
can be defined, identified as objects 'a' and 'b'.
Related variables for object 'a' are : objan,
objaat,
objarf, objatr,
objaro, objaax. Related variables
for object 'b' are : objbn, objbat,
objbrf, objbtr,
objbro, objbax.
More detailed explanation : when the geometry builder
is used (i.e. when nobj==1 or nobj==2), the code
will be given a primitive set of atoms, from which it
will have to deduce the full set of atoms.
An object will be specified by the number of
atoms it includes (objan or objbn),
and the list of these atoms (objaat or objbat).
Examples of physical realisation of an object can be a molecule,
or a group of atom to be repeated, or a part of a molecule
to be rotated.
The geometry builder can indeed repeat these objects (objarf
or objbrf), rotate them (objaro or
objbro) with respect
to an axis (objaax or objbax), and translate them
(objatr or objbtr).
After having generated a geometry
thanks to rotation, translation and repetition of objects,
it is possible to remove some atoms, in order to create
vacancies (vacnum and vaclst).
The number of atoms in the primitive
set, those that will be read from the input file, is
specified by the variable natrd. It will be always smaller
than the final number of atoms, given by the variable natom.
The code checks whether the primitive number of atoms
plus those obtained by the repetition operation is
coherent with the variable natom, taking into
account possible vacancies.
You should look
at the other variables for more information.
Go to objan, for example.
Not present in the dtset array (no internal).
Gives the list of atoms in either
object a or object b. This list is specified
by giving, for each atom, its index in the list
of coordinates (xred, xangst
or xcart), that also
corresponds to a type of atom (given by the array type).
These objects can be thought as molecules, or groups
of atoms, or parts of molecules, to be repeated,
rotated and translated to generate the full set
of atoms.
Look at objarf and objbrf
for further explanations.
objaat MUST be provided if nobj==1.
objaat and objbat MUST be provided if nobj==2.
Not present in the dtset array (no internal).
Gives, for each object, the cartesian coordinates of
two points (first point : objaax(1:3) or objbax(1:3),
second point : objaax(4:6) or objbax(4:6) ).
By default, given in Bohr atomic units
(1 Bohr=0.5291772108 Angstroms), although Angstrom can be specified,
if preferred, since these variables have the
'LENGTH' characteristics.
The two points define an axis of rotation
of the corresponding object.
Note that the rotation of
the object is done BEFORE the object is translated.
The sign of the rotation angle is positive if the
object is to be rotated clockwise when looking to it
along the axis, from point 1 (coordinates 1:3)
toward point 2 (coordinates 4:6).
objaat MUST be provided if
nobj==1 and one component
of objaro does not vanish.
objaat and objbat
MUST be provided if nobj==2 and one
component of objbro does not vanish.
Not present in the dtset array (no internal).
Gives the number of atoms in either
object a or object b. The list of atoms is given by the
variables objaat and objbat.
objan MUST be provided if nobj==1.
objan and objbn MUST be provided if nobj==2.
Not present in the dtset array (no internal).
Gives three repetition factors of the objects a or b.
This gives the opportunity to generate a three-dimensional
set of repeated objects, although a simple one-dimensional
repetition will be easily obtained through the specification of
nrep 1 1 <r>
where nrep is the 1D repetition factor.
The initial rotation and translation of the object,
as well as the increment of rotation or translation
from one object to the next are specified by
the variables objaro and objatr, for object a,
and objbro and objbtr, for object b.
Note that the geometry builder will generate the full set
of atoms from the primitive set of atoms using the
following order : it will process each atom in the
primitive list one by one, determine whether it belongs
to either object a or object b, and then repeat it
taking into account the proper rotation and translation,
with the fastest varying repetition factor being the first,
then the second, then the third.
In the final list of atoms, one will first
find the atoms generated from atom 1 in the primitive list,
then those generated from atom 2 in the primitive list, and
so on.
If the geometry builder is only used to rotate
or translate an object, without repeating it,
simply use 1 1 1, which is also the Default value.
Not present in the dtset array (no internal).
Give, for each object, the angles of rotation in degrees
to be applied to the corresponding object.
The rotation is applied before the translation,
and the axis is defined by the variables objaax and
objbax.
See the latter variables for the definition of the sign
of the rotation.
The first component objaro(1) and objbro(1) gives
the angle of rotation to be applied to the first
instance of the object. The second, third or fourth
component (resp.) gives the increment of rotation angle
from one instance to the next instance, defined
by the first, second or third repetition factor (resp.) .
This allows to generate 3D arrays of molecules with
different rotation angles.
Not present in the dtset array (no internal).
Give, for each object, the vectors of translations,
in cartesian coordinates,
to be applied to the corresponding object.
By default, given in Bohr atomic units
(1 Bohr=0.5291772108 Angstroms), although Angstrom can be specified,
if preferred, since these variables have the
'LENGTH' characteristics.
The translation is applied after the rotation.
The first vector objatr(3,1) and objbro(3,1) gives
the translation to be applied to the first
instance of the object. The second, third or fourth
component (resp.) gives the increment of translation
from one instance to the next instance, defined
by the first, second or third repetition factor (resp.) .
This allows to generate 3D arrays of molecules.
In general, when the objects are repeated, a translation
vector must be given, since otherwise, the repeated objects
pack in the same region of space. As an exception, one can
have a set of molecules regularly spaced on a circle, in
which case, only rotations are needed.
Not present in the dtset array (no internal).
This internal variable characterizes a Shubnikov type III magnetic space group (anti-ferromagnetic
space group). The user is advised to consult
"The mathematical theory of symmetry in solids,
Representation theory for point groups and space groups, 1972,
C.J. Bradley and A.P. Cracknell, Clarendon Press, Oxford."
A Shubnikov type III magnetic space group might be defined by its Fedorov space group
(set of all spatial symmetries, irrespective of their magnetic action), and
the halving space group (only the symmetries that do not change the magnetisation).
The specification of the halving space group might be done by specifying, for each
point symmetry, the magnetic action. See Table 7.1 of the above-mentioned reference.
Magnetic point groups are numbered from 1 to 58.
Related input variables : spgroup, spgroupma, genafm
It is taken into account only when spgroup/=0; it allows one to define the axes orientation for the specific space groups for which this is needed. Trigonal groups (number 146,148,155,160,161,166,167):
Gives the choice of origin for the axes system,
taken into account only when spgroup/=0,
It is defined according to the origin choice in the
International Tables of Crystallography.
It applies only to the space groups 48, 50, 59, 70, 85, 86, 88, 125,
126, 129, 130, 133, 134, 137, 141, 142, 201, 203, 222, 224, 227, 228.
For details see the space group
help file.
Gives the number of the space group.
If spgroup is 0, the code assumes that all the symmetries
are input through the symrel matrices and the tnons
vectors, or obtained from the symmetry finder (the default when
nsym==0).
It should be between 1 and 230. This option can be
used to obtain all the atoms in the unit cell, starting
from the assymetric unit cell.
The references for computing the symmetry corresponding to
the space groups are :
This input variable might be used to define a Shubnikov
magnetic space group (anti-ferromagnetic space group). The user is advised to consult
"The mathematical theory of symmetry in solids,
Representation theory for point groups and space groups, 1972,
C.J. Bradley and A.P. Cracknell, Clarendon Press, Oxford."
A Shubnikov type IV magnetic space group might be defined by its Fedorov space group
(set of spatial symmetries that do not change the magnetisation), and an additional
magnetic space group number spgroupma.
A Shubnikov type III magnetic space group might be defined by its Fedorov space group
(set of all spatial symmetries, irrespective of their magnetic action), and an additional
magnetic space group number spgroupma.
For the additional number spgroupma, we follow the definition of Table 7.4 of the
above-mentioned Bradley and Cracknell textbook.
Thus, one way to specify a Shubnikov IV magnetic space group, is to define both
spgroup and spgroupma.
For example, the group P2_1/c' has spgroup=14
and spgroupma=78.
Alternatively,
for Shubnikov IV magnetic groups, one might
define spgroup and genafm.
For both the type III and IV, one might
define by hand the set of symmetries, using symrel,
tnons and symafm
Gives the tolerance on the atomic positions (reduced coordinates), primitive
vectors, or magnetization, to be considered equivalent, thanks to symmetry operations.
This is used in the recognition of the set of symmetries of the system,
or the application of the symmetry operations to generate from a reduced set of atoms,
the full set of atoms. Note that a value larger than 0.01 is considered to be unacceptable.
Note : ABINIT needs the atomic positions to be symmmetric to each others within 1.e-8 .
If tolsym is set to a larger value than 1.e-8, then the input atomic coordinates
will be automatically symmetrized by the symmetry operations that will have been found.
Gives the identification number(s) of atoms
to be subtracted from the set of atoms that are obtained
after having rotated, translated and repeated the objects.
Useful to created vacancies.
Gives the number of atoms to be subtracted from the list of atoms after the rotations, translations and repetitions have been done. The list of these atoms is contained in vaclst.
Gives the name of a xyz format file, to take natom, ntypat, typat, znucl, and xangst from. This input can not be mixed with normal atom specifications or cmlfile for other datasets.