# ABINIT, geometry builder + symmetry related input variables:

## List and description.

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 abinis 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 abinis, please read the response function help file

##### Copyright (C) 1998-2009 ABINIT group (DCA, XG, RC)
This file is distributed under the terms of the GNU General Public License, see ~abinit/COPYING or http://www.gnu.org/copyleft/gpl.txt .
For the initials of contributors, see ~abinit/doc/developers/contributors.txt .

Goto : ABINIT home Page | Suggested acknowledgments | List of input variables | Tutorial home page | Bibliography

Help files : New user's guide | Abinis (main) | Abinis (respfn) | Mrgddb | Anaddb | AIM (Bader) | Cut3D | Optic | Mrgscr

Related files which describe the input variables:

- Basic variables, VARBAS
- Developper variables, VARDEV
- File handling variables, VARFIL
- Ground-state calculation variables, VARGS
- GW variables, VARGW
- Internal variables, VARINT
- Parallelisation variables, VARPAR
- Projector-Augmented Wave variables, VARPAW
- Response Function variables, VARRF
- Structure optimization variables, VARRLX
- Wannier90 interface variables, VARW90

### Content of the file : alphabetical list of variables.

A.
B. brvltt
C.
D.
E.
F.
G. genafm
H.
I.
J.
K.
L.
M.
N. natrd nobj
O. objaat, objbat objaax, objbax objan, objbn objarf, objbrf objaro, objbro objatr, objbtr
P. %ptgroupma
Q.
R.
S. spgaxor spgorig spgroup spgroupma
T.
U.
V. vaclst vacnum
W.
X.
Y.
Z.

brvltt
Mnemonics: BRaVais LaTTice type
Characteristic: SYMMETRIZER
Variable type: integer parameter
Default is 0.
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:

- 1 = Primitive with no associated translations
- 2 = Inner centered with (a/2 + b/2 + c/2) associated translation
- 3 = Face centered with (a/2 + b/2; b/2 + c/2; c/2 + a/2) associated translations
- 4 = C - centered with (a/2 + b/2) associated translation
- 5 = A - centered with (b/2 + c/2) associated translation
- 6 = B - centered with (c/2 + a/2) associated translation
- 7 = Rhombohedral lattice.

The user might also input directly these values, although they might not be consistent with spgroup.

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.

Go to the top | Complete list of input variables

genafm
Mnemonics: GENerator of the translation for Anti-FerroMagnetic space group
Characteristic: SYMMETRISER
Variable type: real genafm(3)
Default is 3*0.
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 magnatisation), 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
Go to the top | Complete list of input variables

natrd
Mnemonics: Number of AToms ReaD
Characteristic: GEOMETRY BUILDER, SYMMETRISER
Variable type: integer parameter
Default is natom.
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.
Go to the top | Complete list of input variables

nobj
Mnemonics: Number of OBJects
Characteristic: GEOMETRY BUILDER, NO INTERNAL
Variable type: integer parameter
Default is 0 (no use of the geometry builder).
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).
Go to the top | Complete list of input variables

objaat, objbat
Mnemonics: OBJect A : list of AToms, OBJect B : list of AToms
Characteristic: GEOMETRY BUILDER, NO INTERNAL
Variable type: integer arrays objaat(objan) and objbat(objbn)
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).
Go to the top | Complete list of input variables

objaax, objbax
Mnemonics: OBJect A : AXis, OBJect B : AXis
Characteristic: GEOMETRY BUILDER, NO INTERNAL, LENGTH
Variable type: real arrays objaax(6) and objbax(6)
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).
Go to the top | Complete list of input variables

objan, objbn
Mnemonics: OBJect A : Number of atoms, OBJect B : Number of atoms
Characteristic: GEOMETRY BUILDER, NO INTERNAL
Variable type: integer parameters
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).
Go to the top | Complete list of input variables

objarf, objbrf
Mnemonics: OBJect A : Repetition Factors, OBJect B : Repetition Factors
Characteristic: GEOMETRY BUILDER, NO INTERNAL
Variable type: integer arrays objarf(3) and objbrf(3)
Default is 1 1 1 .
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).
Go to the top | Complete list of input variables

objaro, objbro
Mnemonics: OBJect A : ROtations, OBJect B : ROtations
Characteristic: GEOMETRY BUILDER, NO INTERNAL
Variable type: real arrays objaro(4) and objbro(4)
Default is 4*0.0d0 (no rotation).
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).
Go to the top | Complete list of input variables

objatr, objbtr
Mnemonics: OBJect A : TRanslations, OBJect B : TRanslations
Characteristic: GEOMETRY BUILDER, NO INTERNAL, LENGTH
Variable type: real arrays objatr(3,4) and objbtr(3,4)
Default is 12*0.0d0 (no translation).
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).
Go to the top | Complete list of input variables

ptgroupma
Mnemonics: PoinT GROUP number for the MAgnetic space group
Characteristic: SYMMETRISER, INTERNAL
Variable type: integer parameter
Default is 0.
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 space groups are numbered from 1 to 58.

Related input variables : spgroup, spgroupma, genafm

Go to the top | Complete list of input variables

spgaxor
Mnemonics: SPace Group : AXes ORientation
Characteristic: SYMMETRISER
Variable type: integer parameter
Default is 1.
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):

- 1 represents the hexagonal axes
- 2 represents the rhombohedral axes

Orthorhombic space groups : there are six possibilities corresponding to the possible axes permutations

- 1 abc -> abc
- 2 abc -> cab
- 3 abc -> bca
- 4 abc -> acb
- 5 abc -> bac
- 6 abc -> cba

Monoclinic : there are 3 or 9 possibilities depending on the space group. See the space group help file for details. In the log/output file the notation used to describe the monoclinic groups is for example:
15:c1, A2/a_c = C2/c
where,

- 15 represents the space group number,
- c1 the orientation as it appears on the web page,
- A is the real Bravais type lattice,
- 2/a the existent symmetry elements,
- _c marks the orientation of the two-fold axis or of the mirror plane,
- C2/c represents the parent space group.

Go to the top | Complete list of input variables

spgorig
Mnemonics:SPace Group : ORIGin
Characteristic: SYMMETRISER
Variable type: integer parameter
Default is 1.
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.
Go to the top | Complete list of input variables

spgroup
Mnemonics: SPace GROUP number
Characteristic: SYMMETRISER
Variable type: integer parameter
Default is 0.
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 :

- International Tables for Crystallography, 1983, Ed. Theo Hahn, D. Reidel Publishing Company
- 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.

For details see the space group help file.
Go to the top | Complete list of input variables

spgroupma
Mnemonics: SPace GROUP number defining a MAgnetic space group
Characteristic: SYMMETRISER, NOT INTERNAL
Variable type: integer parameter
Default is 0.
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
Go to the top | Complete list of input variables

vaclst
Mnemonics: VACancies LiST
Characteristic: GEOMETRY BUILDER, NOT INTERNAL
Variable type: integer array vaclst(vacnum)
Default is No Default.
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.
Go to the top | Complete list of input variables

vacnum
Mnemonics: VACancies NUMber
Characteristic: GEOMETRY BUILDER
Variable type: integer parameter
Default is 0.
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.
Go to the top | Complete list of input variables

Goto : ABINIT home Page | Suggested acknowledgments | List of input variables | Tutorial home page | Bibliography

Help files : New user's guide | Abinis (main) | Abinis (respfn) | Mrgddb | Anaddb | AIM (Bader) | Cut3D | Optic | Mrgscr