- EasySpin
- Documentation
- Publications
- Website
- Forum

Calculating magnetic moment and magnetic susceptibility

EasySpin can calculate magnetic moments and magnetic susceptibilities for arbitrary spin systems. Experimentally, these are obtained using a SQUID magnetometer. This user guide explains how to calculate these quantities.

The following topics are covered:

- Running the calculation
- The spin system
- Experimental parameters
- Units
- Single crystals
- Calculation options
- Least-squares fitting

Running the calculation

To calculate magnetic moments and magnetic susceptibilities, you need to provide information on the sample (spin system) and the fields and temperatures used in the SQUID measurement. With these, you then call the function curry. Depending on what quantity you want to calculate, you ask for a different number of outputs from curry:

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

`Sys`

contains the spin system, and `Exp`

contains the experimental parameters. `muz`

is the z component of the magnetic dipole moment, and `chizz`

is the zz component of the magnetic susceptibility.

Additionally, you can provide a third input argument, `Opt`

that contains some calculation options. For example,

muz = curry(Sys,Exp,Opt);

The spin system

To calculate magnetic moment and magnetic susceptibility, first of all you need to provide the system of spins and the parameters of the associated spin Hamiltonian as a spin system structure. Here is a simple example of two coupled spins-1/2 with isotropic g factors and strong exchange coupling:

Sys.S = [1/2 1/2]; Sys.g = [2 2]; Sys.J = -2*-10*29.98e3; % MHz

Be mindful that EasySpin's isotropic electron-electron coupling term `Sys.J`

uses the convention H = +J S_{1}S_{2}. Other conventions are often used in the literature. See here for details.

Also, EasySpin expects all couplings in units of MHz. Very often, exchange couplings are given in cm^{-1}. To convert cm^{-1} to MHz use

J_cm = 5; % value in cm^-1 J_MHz = J_cm*29.98e3; % cm^-1 -> MHz conversion Sys.J = J_MHz; % for H = +J*S1*S2 Sys.J = 5 * 29.98e3; % all in one line

You can also give antisymmetric and symmetric coupling terms, in `Sys.dvec`

and `Sys.eeD`

.

As with the rest of EasySpin, there is in principle no limit on the number of spins you can specify or on how they can be coupled. The only limit is the computer memory required to hold the spin Hamiltonian and operator matrices.

Experimental parameters

For SQUID magnetometry, you only need two basis experimental settings: the magnetic field values and the temperatures at which you measure the magnetic moment and the magnetic susceptibility.

Give the temperature in `Exp.Temperature`

, in units of K. You can provide either a single temperature or an array of temperatures.

Exp.Temperature = 298; % room temperature Exp.Temperature = 4:300; % large temperature range

For the magnetic field, use `Exp.Field`

and provide the field values in units of mT. Again, you can give either a single value, or an array of values. If the experiment is run at zero magnetic field, you can omit `Exp.Field`

.

Exp.Field = 3000; % 3000 mT = 3 T Exp.Field = 0:10:6000; % 0 t 6T range

If you give a single value for both the temperature and the field, curry calculates single values for the outputs. If you provide a single value for one of the parameters and an array for the other, you get an array of results. For example, providing `Exp.Field = 1000;`

and `Exp.Temperature = 4:300`

will yield curves as a function of temperature. Finally, if you provide arrays for both field and temperature, curry returns 2D arrays for the results.

Units

curry returns the calculated magnetic moments in what might be called "natural units". The numerical value returned by curry can be taken either as the molecular magnetic moment μ_{z} (magnetic moment per molecule) in units of Bohr magnetons (μ_{B}), or as the molar magnetic moment μ_{mol,z} (magnetic moment per mole) in "molar Bohr magnetons" (N_{A}μ_{B}). These two are numerically identical. For example, `muz = 0.53`

means the molecular magnetic moment μ_{z} is 0.53 μ_{B} and the molar magnetic moment μ_{mol,z} is 0.53 N_{A}μ_{B}.

The SI units for these two magnetic moment quantities are J T^{-1} and J T^{-1} mol^{-1}. To convert from the natural units to the SI units, use EasySpin's functions for the Avogadro number (avogadro) and the Bohr magneton (bmagn):

muz_SI = muz*bmagn; % molecular magnetic moment, natural units to SI units muzmol_SI = muz*avogadro*bmagn; % molar magnetic moment, natural units to SI units

The molar magnetic susceptibility χ_{zz} is returned in SI units of m^{3} mol^{-1}. Often, the susceptibility is given in the old CGS units of cm^{3} mol^{-1}. To convert the SI susceptibility to the corresponding CGS quantity, use

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

Single crystals

`curry`

can also calculate magnetic moment and molar magnetic susceptibility of single crystals. For this, you need to provide three things: (a) the orientation of the crystal in the spectrometer in `Exp.CrystalOrientation`

, (b) the space group of the crystal in `Exp.CrystalSymmetry`

, and (c) the orientation of the molecular frame relative to the crystal frame in `Exp.MolFrame`

. You can omit the latter two, in which case the space group is assumed to be P1, and the molecular frame is assumed to be aligne with the crystal frame.

For more information on the various frames and how to specify the relative orientations, see here.

Here are some examples on how to use this.

Exp.CrystalSymmetry = 'P212121'; % space group symbol Exp.CrystalOrientation = [0 0 0]; % magnetic field along crystal z axis Exp.CrystalOrientation = [0 pi/2 0]; % magnetic field along crystal x axis Exp.CrystalOrientation = [pi/2 pi/2 0]; % magnetic field along crystal y axis

Calculation options

Without information about a crystal (`Exp.CrystalOrientation`

, `Exp.CrystalSymmetry`

), curry assumes the sample is a powder and performs a powder average. The powder average involves evaluating many orientations of the paramagnetic center with respect to the magnetic field, and then averaging them. To adjust the number of orientations included in the powder average, use `Opt.nKnots`

. The higher the number, the more orientations are included.

Opt.nKnots = 10; % 10° increments Opt.nKnots = 19; % 5° increments Opt.nKnots = 31; % 3° increments

A sufficient number of orientations is necessary to obtain correct data. If you are not sure whether you have enough orientations, increase `Opt.nKnots`

until the calculated data do not change any more.

Of course, if the spin Hamiltonian is isotropic, you do not have to run a powder average.

Least-squares fitting

You can use EasySpin's least-squares fitting tool esfit to fit magnetometry data using curry.

However, the order and nature of curry's output arguments is different from the main EasySpin simulation functions pepper, garlic, chili, etc. By default, esfit is set up for these latter functions.
To make esfit work for curry, you need to provide information about the type of output arguments via the fitting option `FitOpt.OutArg`

.

`FitOpt.OutArg`

should be an array of two numbers, for example `FitOpt.OutArg = [3 2]`

. The first number indicates how many output arguments `esfit`

should ask for when calling the simulation function. The second number indicates which output argument to use for fitting. So, `FitOpt.OutArg = [3 2]`

indicates to call the simulation function with three outputs, and then use the second to fit to the data.

For curry, you need to use the following settings, depending on what you want to fit. For fitting the magnetic moment, have curry be called only with one output and use it:

FitOpt.OutArg = [1 1]; % to fit the magnetic moment muz (first output)

The magnetic susceptibility χ_{zz} is the second output argument of curry. To fit it, have curry be called with 2 outputs and use the second:

FitOpt.OutArg = [2 2]; % to fit the magnetic susceptibility chizz (second output)

For more details on least-squares fitting, see the corresponding user guide and the reference page on esfit.