Overview#

Almost every calculation with Magnopy begins with the creation of a magnopy.SpinHamiltonian object, that handles a Spin Hamiltonian.

This object is created from three other objects

  • Cell - a unit cell of the system;

  • Atoms/Sites - a list of atoms in the system;

  • Convention - a convention that defines how the spin Hamiltonian is written.

When those three objects are created, then

Once an instance of magnopy.SpinHamiltonian exists, then you can add (magnopy.SpinHamiltonian.add()) or remove (magnopy.SpinHamiltonian.remove()) an interaction parameters. As well as do many other things that are present in API reference page.

Then, from the spin Hamiltonian with some parameters, you can create an instance of the magnopy.Energy class to compute the energy of the system in any state or optimize the spin directions to find the vacuum state.

Or you can create an instance of the magnopy.LSWT class to compute the parts of the bosonic Hamiltonian at the linear spin wave theory level.

../../_images/data-structure.png

The picture can be read as: