Module Usage:

The program mcphas (-calculation of the magnetic phase diagram) requires a single ion property input file of the same format as given above in section 6.2 (also for each ion in the crystallographic unit cell):

It follows a simple example (for more complicated examples see section 7.1.6 and mcphas.cf1 in the directory examples/ndcu2b_new):

#!MODULE=so1ion
#<!--mcphas.sipf-->
# comment followed by
# the ion type and the crystal field parameters [meV]
 IONTYPE=Nd3+
# - note you can also do any pure spin problem by entering e.g. IONTYPE=S=2.5 
 B20=  0.116765                                           
 B22  =  0.134172                                           
 B40  =  0.0019225                                          
 B42  =  0.0008704                                          
 B44  =  0.0016916                                          
 B60  =  0.0000476                                          
 B62  =  0.0000116                                          
 B64  =  0.0000421                                          
 B66  =  0.0003662

Note:
In order to use the so1ion module in McPhase a convention for the orientation of the $xyz$ coordinate system (of the crystal field) relative to the crystal axis $abc$ has to be made: The axes convention adopted in module so1ion for the crystal field parameters is - $\vec a\vert\vert x$, $\vec b\vert\vert y$ and $\vec c\vert\vert z$. 12 In case of non-orthogonal axes the convention is $y\vert\vert\vec b$, $z\vert\vert(\vec a \times \vec b)$ and $x$ perpendicular to $y$ and $z$.

The reason for this unique choice is to make it possible to treat quadrupolar interactions - the generalisation of bilinear interactions to these higher order interactions is much easier in a unique axes convention.

Information for experienced users: the first line in the single ion property file can either refer to one of the standard single ion property modules (e.g. Kramers ground state doublet #!MODULE=kramers, full crystal field #!MODULE=so1ion) or a shared library file, which will be loaded dynamically into the program at runtime - for a description of this file see section 7.1.6.