- EasySpin
- Documentation
- Publications
- Website
- Forum

curry

Calculates magnetometry data: magnetic moment, static magnetic susceptibility.

Syntax

curry(Sys,Exp); curry(Sys,Exp,Opt); muz = curry(...); [muz,chizz] = curry(...); [...] = curry(...);

See also the user guide on how to use `curry`

.

Description

`curry`

calculates the magnetic moment and the molar static magnetic susceptibility for given fields and temperatures.

Outputs

There are up to two standard output arguments (here standard refer to empty `Opt.Output`

). If no output argument is requested, `curry`

plots the calculated curves.

`muz`

`muz`

contains the values of the longitudinal magnetic moment, i.e. along the direction of the applied magnetic field (zL), for the fields and temperatures requested.
The units are either Bohr magnetons μ_{B} if the value is understood as single-molecule magnetic moment μ_{z}, or N_{A}μ_{B} if the value is understood as molar magnetic moment μ_{m,z}. N_{A} is the Avogadro constant. For example, `muz = 0.53`

means the single-molecule magnetic moment μ_{z} is 0.53 μ_{B} and the molar magnetic moment μ_{m,z} is 0.53 N_{A}μ_{B}.
To convert the molar magnetic moment to SI units (J T^{-1} mol^{-1}), use

muz_SI = muz*avogadro*bmagn; % unit conversion from NA*muB to J T^-1 mol^-1

`chizz`

`chizz`

contains the molar static magnetic susceptibility. This is not the full 3x3 susceptibility tensor χ`chizz`

from SI units to CGS units (cmchizz_cgs = chizz_SI/(4*pi*1e-6); % unit conversion from SI to CGS units

`Opt.Output`

is given the number of outputs depend on `Opt.Output`

(see Output).
Input: Spin system

There are three inputs to the function, the last one is optional.

`Sys`

is a spin system structure containing the spin quantum numbers and the spin Hamiltonian parameters. In addition to the parameters used by all EasySpin functions, `TIP`

can be introduced.

`TIP`

Temerature-independent paramagnetism added to the magnetic susceptibility. EasySpin understand

`TIP`

to be in SI units.
TIP_cgs = 7e-4; % TIP in cm^3 mol^-1 TIP_SI = (4*pi*1e-6) * TIP_cgs; % TIP in SI units Sys.TIP = TIP_SI;

Input: Experimental parameters

`Exp`

contains experimental parameters such as the magnetic field range and temperature. Compared to EasySpin's EPR simulation functions, `curry`

needs only very few parameters.

`Temperature`

This gives the temperature, or list of temperatures, for which magnetization data should be calculated, in kelvin. For example,

`Exp.Temperature = 298`

corresponds to room temperature, and `Exp.Temperature = 4:300`

specifies a temperature range. If an array of values is given, data are calculated for each temperature in the array.
Populations are computed for all energy levels assuming thermal (Boltzmann) equilibrium and are included in the calculation of the magnetic moment and the magnetic susceptibility.

`Temperature`

has to be provided.

`Field`

`Field`

gives the magnetic field strength, in mT, for which magnetization data should be calculated. If an array of values is given, data are calculated for each field value in the array.
If `Field`

is missing, EasySpin assumes that no field is applied.

Magnetic moment is often measured as a function of field and for a few temperatures, while molar static magnetic susceptibility is measured as function of temperature for a few fields. This can be done also in simulations:

`chiTemperature`

Temperature or list of Temperatures, for which magnetic susceptibility should be calculated, in Kelvin.

`chiField`

Magnetic field strength, in mT, for which magnetic susceptibility should be calculated. If an array of values is given, data are calculated for each field value in the array.

`mTemperature`

Temperature or list of Temperatures, for which magnetic moment should be calculated, in Kelvin.

`mField`

Magnetic field strength, in mT, for which magnetic moment should be calculated. If an array of values is given, data are calculated for each field value in the array.

`curry`

calculates magnetic susceptibility as numeric derivative of the magnetic moment at the given field value. However, the experimental data is often obtained by measuring the magnetization at a given field value and divide it by the field strength. For sufficiently small field strength this correspond to the derivative at zero field. In cases the field strength is not small experimental results might be better reproduced by:

m4chi = curry(Sys,Exp,Opt); % magnetic moment at the field used in the experiment % divide magnetic moment by magnetic field and unit conversion chisim_cgs = m4chi*avogadro*bmagn*1e2./repmat(Exp.Field(:),1,numel(Exp.Temperature)); chisim_si = (4*pi*1e-6) *chisim_cgs ; % convert to SI units

`curry`

not only supports powder samples, but also single crystals. The following fields are needed for single-crystal calculations:

`CrystalOrientation`

An Nx3 or Nx2 array that specifies single-crystal orientations for which the magnetic moment and the susceptibility should be computed. Each row of

`CrystalOrientation`

contains the three Euler rotation angles that transform the crystal frame (C) to the lab frame (L). If only two Euler angles are given, the third is set to zero. If `CrystalOrientation`

is empty or not specified, the full powder is computed.
Exp.CrystalOrientation = [0 0 0]; % single crystal, crystal z axis aligned with B0 Exp.CrystalOrientation = [0 pi/2 0]; % single crystal, crystal z axis perpendicular to B0 Exp.CrystalOrientation = [0 0 0; 0 pi/2 0]; % two crystals Exp.CrystalOrientation = []; % powder

`CrystalSymmetry`

Specifies the symmetry of the crystal. You can give either the number of the space group (between 1 and 230), the symbol of the space group (such as

`'P212121'`

or `'Ia-3d'`

), or the symbol for the point subgroup of the space group (in either Schönflies or Hermann-Mauguin notation, such as `'D2h'`

or `'mmm'`

).
Exp.CrystalSymmetry = 11; % space group number (between 1 and 230) Exp.CrystalSymmetry = 'P21/c'; % space group symbol Exp.CrystalSymmetry = 'C2h'; % point group, Schönflies notation Exp.CrystalSymmetry = '2/m'; % point group, Hermann-Mauguin notation

When `CrystalSymmetry`

is given, all symmetry-related sites in the crystal are generated and included in the calculation. If `CrystalSymmetry`

is not given, space group 1 (P1, point group C1, one site per unit cell) is assumed.

`MolFrame`

The three Euler angles, in radians, for the transformation of the crystal frame to the molecular frame. Use this field when specifying a crystal containing spin systems that are tilted with respect to the crystal frame. E.g.

`Param.MolFrame=[0,pi/4,0]`

tilts the x and z axis of the spin system's molecular frame (xM, zM), relative to the crystal frame (xC,yC,zC).
Input: Calculation options

The structure `Opt`

collects computational parameters. `Opt`

need not be specified, in which case default values for all fields are used. The field names and their possible values are as follows.

`Output`

String to specify the output

`curry`

should provide in the given order. Keywords should be seperated by blanks. The following keywords are allowed:

`MvsB`

Magnetic moment in CGS units

`MvsBCGS`

Magnetic moment in CGS units

`MvsBSI`

Magnetic moment in SI units

`Chi`

Magnetic susceptibility in SI units

`ChiCGS`

Magnetic susceptibility in CGS units

`ChiSI`

Magnetic susceptibility in SI units

`1overChi`

1 / magnetic susceptibility in SI units

`1overChiCGS`

1 / magnetic susceptibility in CGS units

`1overChiSI`

1 / magnetic susceptibility in SI units

`ChiT`

Product of magnetic susceptibility and Temperature in SI units

`ChiTCGS`

Product of magnetic susceptibility and Temperature in CGS units

`ChiTSI`

Product of magnetic susceptibility and Temperature in SI units

`mueff`

Effective magnetic moment in SI units

`mueffCGS`

Effective magnetic moment in CGS units

`mueffSI`

Effective magnetic moment in SI units

Examples:

Opt.Output = 'MvsB ChiTCGS 1overChi'; % three outputs, first: magnetic moment in CGS units, % second: product of magnetic susceptibility and Temperature in CGS units, % third: 1 / magnetic susceptibility in SI units Opt.Output = 'ChiTCGS MvsB 1overChi'; % first output will be now product of magnetic susceptibility and Temperature in CGS units, % second magnetic moment in CGS units, and third 1 / magnetic susceptibility in SI units Opt.Output = 'mueff'; % single output: effective magnetic moment in SI unitsThe number of given output arguments have to match the number of keywords in

`Output`

.
Opt.Output = 'MvsB ChiTCGS MvsBSI'; [MvsB, ChiTCGS, MvsBSI] = curry(Sys,Exp,Opt);

The order of keywords in `Opt.Output`

determine the order of the outputs!

%two outputs, first magnetic moment in CGS units % second: product of magnetic susceptibility and Temperature in CGS units Opt.Output = 'MvsB ChiTCGS'; [MvsB, ChiTCGS]= curry(Sys,Exp,Opt); %the same two outputs, reversed order Opt.Output = 'ChiTCGS MvsB'; [ChiTCGS, MvsB]= curry(Sys,Exp,Opt);

`OneColoumn`

`curry`

return all calculated data in one coloumn. Example:

Sys = struct('S',1,'D',5000); Exp = struct('Temperature', 1:20, 'Field', 100:100:1000); Opt.Output = 'MvsB OneColoumn ChiTCGS'; y = curry(Sys,Exp,Opt);

`y`

will then contain
`[MvsB(B = 100 mT, T = 1 K), MvsB(B = 200 mT, T = 1 K), ..., MvsB(B = 1000 mT, T = 1 K), MvsB(B = 100 mT, T = 2 K), ..., MvsB(B = 1000 mT, T = 20 K), ChiTCGS(B = 100 mT, T = 1 K), ..., ChiTCGS(B = 1000 mT, T = 20 K)]`

.

The order is given by the order of keywords in `Output`

. Using the same example as above but with reversed order:

Opt.Output = 'ChiTCGS OneColoumn MvsB'; y2 = curry(Sys,Exp,Opt);

`y2`

will then contain
`[ChiTCGS(B = 100 mT, T = 1 K), ChiTCGS(B = 200 mT, T = 1 K), ... ChiTCGS(B = 1000 mT, T = 1 K), ChiTCGS(B = 100 mT, T = 2 K), ..., ChiTCGS (B = 1000 mT, T = 20 K), MvsB(B = 100 mT, T = 1 K), ..., MvsB(B = 1000 mT, T = 20 K)]`

.

`OneColoumn`

can be at any position in the `Output`

string. So the following will all lead to the same output
Opt.Output = 'ChiTCGS OneColoumn MvsB'; Opt.Output = 'OneColoumn ChiTCGS MvsB'; Opt.Output = 'ChiTCGS MvsB OneColoumn';

`Verbosity`

Determines how much information is printed to the command window. If

`Opt.Verbosity=0`

, `curry`

is silent. 1 logs relevant information, 2 gives more details.
`nKnots`

Determines the number of orientations (knots) in a powder for which moment and susceptibility are calculated.

`nKnots`

gives the number of orientations between θ=0° and θ=90° for which data are calculated. Common values for `N1`

are between 10 (10° increments) and 91 (1° increments). The larger the anisotropy of the spin Hamiltonian, the higher `N1`

must be to yield accurate values.
Opt.nKnots = 91; % 1° increments Opt.nKnots = 31; % 3° increments

`Methods`

Calculation method used by

`curry`

. `'operator'`

is the default and the method described in Algorithm is used. `'energies'`

is slightly faster for large spin systems, but far more approximatively. Magnetization and susceptibility are obtained as first and second numerical derivative of the thermodynamic free energy. The susceptibility can only be calculated for zero field.
Algorithm

`curry`

calculates the magnetic moment as follows: For each of the given values of the applied magnetic field, the spin Hamiltonian matrix is set up and diagonalized to obtain all eigenvalues and eigenstate vectors. Then, the operator matrix for the projection of the magnetic dipole moment onto the field axis (zL, z axis in the laboratory frame) is set up. Next, its expectation value for each eigenstate is calculated. Lastly, these expectation values are summed using thermal Boltzmann population factors corresponding to the given temperature as weights.

To obtain the zz-component of the magnetic susceptibility tensor, the numerical derivative of the zL-component of the magnetic moment with respect to the applied magnetic field along zL is calculated.

References

- T. Quickenden, R. C. Marshall,
*J. Chem. Edu*,**1972**, 49(2), 114-116. - S. Hatscher, H. Schilder, H. Lueken, W. Urland,
*Pure Appl. Chem.*,**2005**, 77(2), 497-511. - R. Boča, Theoretical Foundations of Molecular Magnetism, Elsevier,
**1999**. - N. F. Chilton, R. P. Anderson, L. D. Turner, A. Soncini, K. S. Murray,
*J. Comp. Chem.***2013**, 34, 1164-1175.

See also