# SMM-ET: an SMM evaluator tool

# Brief intro

The SMM evaluator tool (SMM-ET) calculates the ac susceptibility and hysteresis loop curves of an SMM, using the following inputs:

## Inputs

1) Relaxation time parameters that correspond to Orbach, Raman, Direct and QTM processes.

2) The magnetic behaviour of the SMM during dc *χ* vs *T* and *M* vs *H* experiments. This behaviour can be imported in two ways:

-By parametric calculation of these properties using *Easyspin*'s *curry* function, if the spin Hamiltonian or Crystal Field parameters of the SMM are known.

-By interpolation of experimental curves if these have been recorded at dc experiments.

3) Magnetic field positions of known QTM-inducing level crossings.

These inputs suffice for the calculation of *χ'* and *χ''* as a function of *ω* or *T*, (and for drawing Cole-Cole plots) and for the calculation of hysteresis curves.

## Distributions and low-fraction SMMs

In addition, the SMM-ET can implement various distribution models, in particular:

-Calculation of the actual fraction of sample that undergoes slow magnetic relaxation.

-The Debye generalized model (as proposed by Cole and Cole) using the *α* parameter.

-A distribution of the magnetization reversal barrier *U _{eff}*, being able to consider Gaussian, Lorentzian and Voigtian distributions.

# Input files

## Parameters (SMM_params.dat, mandatory)

There the user can define the relaxation parameters, the *T*, *H*, and *ω* domains of the experiments to calculate and level crossings. The fields are commented for easy use.

The parameters are comma (,) delimited, and in-line comments can be given after a % break character.

No user-made carriage returns are allowed, as they will break the parsing of the file by the executable.

## Magnetic system in Easyspin format (SMM_Sys.mat, optional)

Any magnetic spin system whose parameters are known can be constructed in Easyspin format using "Sys" as structure name (Sys.g, Sys.D, etc) and saved in Matlab as SMM_Sys.mat.

Then, any *χ* vs *T* and *M* vs *H* curves can be calculated by *curry*.

## Experimental or Phi-calculated dc data (chi_vs_T_dc.dat and M_vs_H_dc.dat, optional - override Sys.mat)

If the spin-Hamiltonian/Crystal-field parameters were not adequately derived by fits, or if the Hilbert space of the system is too large, experimental dc data can also be used.

Giving any experimental curve will override the respective *Easyspin* calculation, and create a curve based on a cubic spline interpolation of the experimental data. The *T* or *H* domains of that new curve will be those defined in the SMM_params.dat file).

It goes without saying that this function can be used by users who are more comfortable in calculating such curves with other software (e.g. *Phi*). Saving such calculated curves under the above file names will treat them in the same way as experimental data.

Files should be saved as ascii space-delimited [*T* *χ*] or [*M* *H*] files.

## Experimental domain of field-sweep experiments (M_vs_H_sweep.dat, optional - overrides magnetic fields defined in SMM_params.dat)

When the user wants to simulate the magnetic hysteresis in non-equidistant field sweeps (e.g. more dense dat apoints at low fields) often collected on conventional SQUID magnetometers, aan ascii file containing the precise experimenta magnetic fields may be given. If present in the executable path it will override the respective magnetic field domain defined in the SMM_params.dat file.

This file should only contain the magnetic fields, and only those of the *ascending* branch, i.e. from -*H _{max}* to +

*H*.

_{max}# Outputs

In its current version, SMM-ET outputs the calculated curves in a series of self-explanatory figures. The data of each curve will appear on the workspace under self-explanatory names. However, users can also extract the data from the Matlab figures using the Matlab command line. E.g.:

figure(xxx)

D=get(gca,'Children');

XData=get(D,'XData');

YData=get(D,'YData');

Data=[XData' YData'];

The figures can also be directly printed as high-resolution images. E.g.:

figure(xxx)

set(gcf, 'PaperSize', [10 30], 'Units', 'centimeters');

print(gcf,'figure_name.png','-r900','-dpng')

# Requiremements

SMM-ET requires a *Matlab* working environment to run, as well as *Easyspin* if *curry* is to be invoked. SMM-ET v1.0 has been tested on Matlab 2018a using Easyspin 6.0.0-dev.10.

The current version has been tested in a Linux operating system, although it should be interoperable with Windows and Mac OS's.

# Feedback, bug reports, requests

Users can contact the author by email (bountalis [at] unistra.fr) for any such issues.

# License

SMM-ET is provided as is, at no cost, WITHOUT ANY WARRANTY. It may be freely redistributed as is and AT NO COST. It MAY NOT be rented or sold, reverse-engineered or decompiled.

If you have found it useful in your work, please cite it as follows:

[Athanassios K. Boudalis, ]

# Download

At the link below you can download a zip file containing:

-The matlab executable (.p) file of SMM-ET

-A sample of SMM_params.dat and SMM_Sys.mat files

-Sample dc.dat and M_vs_H.dat files