### 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 , 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 18) 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 18).

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 (,,) of 1 magnetic ion in the crystallographic unit cell with respect to the lattice vectors ,,. 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 ,,. The program then calculates from these values the coordinates with respect to the primitive lattice . ( ). Column 4,5,6 ...contain the components of the interaction tensor . Note that in case of non-orthogonal axes the components of the moments and the interaction tensor refer to the orthogonal coordinate system defined with respect to the nonorthogonal lattice as , and perpendicular to and .
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:
• If a nonzero coordinate (or ,) in the interaction table corresponds to it's value at the nearest lattice point of the primitive lattice, additional interactions of the same size with neighbours with coordinate (or ,, respectively) are taken into account. This holds for each of the three coordinates , and resulting in a maximum number of 8 equivalent neighbours per line in the interaction table.
• If the value of (or ,) is zero or differs from it's value at the nearest lattice point of the primitive lattice, it is changed to the value at the nearest lattice point and no interaction with neighbours with coordinates (or ,) is taken into account. If such interaction is needed it may be given in a different line and may have different magnitude. In this way also crystallographic lattices with no mirror symmetry may be described.
mcphas.coq:
exchange parameters etc [ in old format]...see examples for details, use coq2jjj to transform mcphas.coq to mcphas.jjj format

Martin Rotter 2017-01-10