Crystal structure menu - ajsteele/mmcalc GitHub Wiki

The crystal menu allows the crystallographic and magnetic structures to be defined.

Space group

The space group can be entered using either the space group’s name in Hermann–Mauguin notation, or its number in the international tables. In the former, there is no space between the lattice type and the rest of the name, any bars are replaced with a preceding dash, and subscripts are ignored. So, for example:

  • $P 1$: ''P1''
  • $P \bar{1}$: ''P-1''
  • $P2_{1}/m$: ''P21/m''
  • $P\bar{4}2_{1}c$: ''P-421c''

If the space group has multiple settings (ie a unique axis or a choice of origin), you will then be asked to specify which of these you would like to use.

The space groups available are those listed on the Bilbao Crystallographic Server, so please use that to check availability or definitions.

Length unit

MµCalc can be used in metres, nanometres or ångströms. Changing this affects the behaviour of the program in all menus, so take care to be consistent!

a, b and c

The crystal parameters a, b and c are specified in the units defined. These are scalar lengths. Take care to specify valid values for the space group you have chosen, as they are not restricted by this at present.

α, β and γ

The angles α, β and γ define the angles between b and c, c and a and a and b, respectively, in degrees. Take care to specify valid values for the space group you have chosen, as they are not restricted by this at present.

Atoms

The atoms command opens a sub-menu which allows you to specify the minimal atomic coordinates for the unit cell you wish to define. The atoms entered here will be operated on by the symmetry operations for the space group selected and thus generate a fully-populated unit cell.

add atom

  • Enter an atom name. This is a periodic table element symbol followed optionally by an identifying number, which can be of any length. (eg Fe, Ag1, C12345…)
  • Enter a position in fractional coordinates. These are typically 0 ≤ a,b,c < 1, but the value is unrestricted in case of unusually-specified unit cells.
  • Enter a charge in electron charges, which may be fractional. MµCalc currently makes no use of this information!

other commands

Once an atom has been added, it becomes possible to delete and edit them. The former is done by selecting the atom's number on the list of atoms, and the latter is broadly similar to the add atom dialogue.

Magnetic properties

The magnetic properties of the crystal are specified in the magnetic propagation vector formalism, which allows very general description of any periodic magnetic structure. (Care should probably be taken if simulating the dipole field inside a magnetic structure which is incommensurate with the lattice periodicity.)

  • It is first necessary to add at least one basis and propagation vector m and k respectively.
    • A basis vector m is defined in terms of its three cartesian components, specified in Bohr magnetons, and may take a complex value. Complex values are specified by entering, for example, 2+0.5j.
    • A propagation vector k is defined in terms of three cartesian components, which must be real. (Is that true?) These values are given as fractions of 2π.
  • Adding a vector enables the deletion and editing of vectors.
  • Vectors are referred to by an ascending index which first indexes the m vectors and then the k. Adding an m vector increases the values of all indices to k-vectors, and references to those indices, by 1.
  • Adding at least one of each type of vector makes it possible to edit atoms' assigned vectors. An atom can have as many m and k vectors as required, as long as it has the same number of each. Indices are entered as a comma-separated list, first of m vectors and then of ks, and the order of the indices in the list specifies which m and k vectors are related to one-another. The moment on an atom j is then given by (eqn).
  • It is also possible to clear an atom's m and k vectors, effectively rendering it non-magnetic.

Draw crystal

Once crystal and magnetic parameters have been specified, it's possible to draw the crystal to check that the structure is rendered as anticipated. It's possible to draw both the crystal and magnetic unit cell. More advanced options for custom drawing are available in the visualisation.

Load/save crystal

It's possible to save and load crystal structures as a MµCalc JSON file. (Automated extensions?)

CIF import

MµCalc can load CIF files if the PyCifRW module is installed (see install). This option won't appear if it isn't.

Known limitations:

  • It is not at present possible to import CIFs which do not specify a space group, but instead specify a range of general equivalent positions. If there is no space group name or number available in the CIF, the user will be asked to provide one. (This is not a problem with PyCIFRW; an interpreter could be written relatively simply and incorporated into MmCalc.)