mcphas.j - lattice and exchange parameters

This file provides the information about the crystallographic structure and the magnetic exchange interactions. For every atom in the crystallographic basis there has to be given the coordinates, the number of neighbours to be considered, the Landé factor $g_J$, the single ion property filename and a set of exchange parameters. If the exchange parameters (and neighbour positions) are not known for your system, you can use the program module makenn (see section 19) to generate a list of nearest neighbours and exchange parameters, currently implemented in makenn are dipolar interactions, exchange interactions via the Bethe-Slater curve or the RKKY model. Note that in order to use makenn you have to set up a working mcphas.j file, which may or may not contain neighbours and interactions.

Use program addj to add exchange parameter set stored in different such .j files (see section 19).

Line 1,2:
Comment Lines
Line 3:
lattice constants a,b,c and crystal angles alpha, beta, gamma
Line 4-6:
primitive lattice vectors
Line 7:
Number of atoms in the primitive crystallographic unit cell (nofatoms)
Line 8:
a comment line with stars
Line 9:
coordinates ($d_a$,$d_b$,$d_c$) of 1$^{st}$ magnetic ion in the crystallographic unit cell with respect to the lattice vectors $\vec a$,$\vec b$,$\vec c$. The number of neighbours of this ion, for which interaction constants are given in the interaction table (nofneighbours). If diagonalexchange is set to 0 the 9 components of the exchange tensor are given in column 4-12. If diagonalexchange is 1, only 3 components are given (column 4-6). If diagonalexchange is 2, specific components of the exchange tensor can be given in columns 4 onwards. The indices of these components must be given in the following line (Line 9a below). The file name of the corresponding single ion parameter file (sipffilename).
Line 9a:
If diagonalexchange=2, then this line gives the indices of the exchange tensor corresponding to the columns 4 onwards. It must have a variable called indexexchange followed by a list of names of components of the interaction tensor separated by space. E.g.

#! indexexchange= JaJb JbJc

means column 4 gives the the interaction constant between the first angular momentum component of the current ion with the second angular momentum component of its neighbour, whilst column 5 has the interaction constant between the second angular momentum component of this ion with the third component of its neighbour. Alternatively, pairs of numbers may be given, as in #! indexexchange= 1,2 2,3 Additionally another parameter symmetricexchange can be set to 1, where the value in each column is also used for the transposed tensor component. Thus #! symmetricexchange=1 indexexchange= JaJb is the same as
#! indexexchange= JaJb JbJa where the 4th and 5th column are the same.

Line 10:
Comment line
Line 11-(10+nofneighbours):
Interaction table for ion number 1. Note: the neighbour coordinates (column 1-3) are given with respect to the lattice vectors $\vec a$,$\vec b$,$\vec c$. The program then calculates from these values the coordinates with respect to the primitive lattice $\vec r_1$$\vec r_2$$\vec r_3$. ( $ d_a \vec a + d_b \vec b + d_c \vec c = d_1 \vec r_1 + d_2 \vec r_2 + d_3 \vec r_3$). Column 4,5,6 ...contain the components of the interaction tensor $\stackrel{=}{\mathcal J}$. Note that in case of non-orthogonal axes the components of the moments and the interaction tensor $Ja, Jb, Jc, Jaa, Jbb, Jcc, Jab ...$ refer to the orthogonal coordinate system defined with respect to the nonorthogonal lattice $\vec a,\vec b,\vec c$ as $Jb\vert\vert\vec b$, $Jc\vert\vert(\vec a \times \vec b)$ and $Ja$ perpendicular to $Jb$ and $Jc$.
Line (11+nofneighbours) - end:
for each ion in the unit cell line 8 - (10+nofneighbours) are repeated.



Information for experienced users:

mcphas.jjj:
format of exchange parameter file, which only needs a reduced set of exchange parameters in the input file. Using the program jjj2j the file can be transformed to mcphas.j by adding lines for all the equivalent neighbours. The format definition of mcphas.jjj is the same as mcphas.j, however each line denotes several equivalent neighbour atoms (instead of only one in mcphas.j) according to the following rules:
mcphas.coq:
exchange parameters etc [ in old format]...see examples for details, use coq2jjj to transform mcphas.coq to mcphas.jjj format