12
$\begingroup$

I have used a few codes for studying magnetic materials (specifically core-shell nanoparticles with an AFM shell and an FM core). These are:

  • Vampire: For the calculation of curie temperature via Magnetisation-Temperature curve simulations;

  • Mumax3: For Micromagnetics simulations; and

  • Vegas: This is an old package using the heisenberg model. [I havent been able to use this due to compilation issues].

Are there any other software packages? I have also heard of OOMMF, Ubermag and others but I'm not familiar with them. So it would be nice if anyone could shed some light on the main use cases (what kind simulations could be easily done using such software).

Thanks in advance :)

$\endgroup$
4
  • 3
    $\begingroup$ What're the magnetic properties you want to study? FM/AFM ground state? Curie temperature? $\endgroup$ – Jack Nov 9 '20 at 9:36
  • 1
    $\begingroup$ @Jack My main aim was to find out the magnetoelectric constant of an FM/AFM core shell system and for composites. $\endgroup$ – Anoop A Nair Nov 9 '20 at 9:40
  • $\begingroup$ Do you need this code to calculate the electron wavefunctions too? Or just the magnetic interactions? $\endgroup$ – taciteloquence Nov 10 '20 at 17:46
  • 1
    $\begingroup$ @taciteloquence I'm just interested in the magnetic interactions. DFT codes wont be of much use while dealing with magnetism for atomistic simulations, atleast, that's the picture I've got. Is there a way to use something like Quantum ESPRESSO for doing the same?. Usually one would use codes implementing Monte-Carlo for that. $\endgroup$ – Anoop A Nair Nov 10 '20 at 18:59
4
$\begingroup$

In addition to those listed, Spin-W is another option:

SpinW is a MATLAB library that can plot and numerically simulate magnetic structures and excitations of given spin Hamiltonian using classical Monte Carlo simulation and linear spin wave theory.

SpinW also has a Python library available, although this is not yet a first-class citizen (you can't pip install it).

There's also the ALPS library and related projects like ALPSCore, although these may be more useful if you're writing your own simulation code.

All these codes give similar capabilities, namely that if you have a model Hamiltonian (e.g. a simple Heisenberg model) you can perform simulations of large system sizes (such as nanoparticles) at finite temperature and derive relevant thermodynamic information, usually via Monte Carlo. Calculation accuracy will be limited by the accuracy of the underlying Hamiltonian. To calculate the Hamiltonian parameters (e.g., for the Heisenberg model, your $J_{ij}$ terms) will usually require a first-principles method such as DFT.

$\endgroup$
3
$\begingroup$

If you already know the electron spatial wavefunctions, then it should be possible to calculate the spin exchange coefficients between electrons on neighboring atoms (by directly integrating them) and generate a spin-interaction-only Hamiltonian. Then you can plug it all into a QMC that is designed just to handle spin (such as Stochastic Series Expansion).

The drawbacks of this approach are that (1) you have to know the electron spatial wavefunctions in advance and (2) your exchange coefficients might produce a QMC sign problem, which means QMC would not work.

I'm 100% open to feedback to help refine this answer.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.