Skip to main content

Magnos is a general, scalable Python code to simulate magnon bandstructures from spin structures and exchange coupling constants.

Project description

[URL]

Magnos is a Python library for calculating magnon bandstructures from exchange coupling interactions. It is designed to be intuitive and easy-to-use so that you can spend less time calculating bandstructures and more time using them to do interesting science.

Install

pip install magnos

Bandstructures in under 10 lines of code

It should be extremely easy to take exchange coupling data from the literature and reproduce the magnon bandstructure. Using Magnos, the simple script below can be used to obtain the bandstructure of BCC iron in the primitive cell..

import magnos
import magnos.build

atoms, interactions = magnos.input.create_interacting_system('Iron_BCC.poscar', 'Iron_BCC_mag_moments', 'Iron_BCC_exchange', 2)

interactions = interactions.symmetrize(atoms)
primitive_atoms, primitive_interactions, _ = magnos.build.build_primitive_cell(atoms, interactions)

magnon = magnos.MagnonSpectrum(primitive_atoms,primitive_interactions,num_threads=4)

path = primitive_atoms.get_cell().bandpath(path='GNPGHN', npoints=180)

bstruct = magnon.get_band_structure(path)
bstruct.plot(emin=0, emax=0.7, filename='Iron_BCC_bands.png')
Iron_BCC_bandstructure.png

The bandstructure of BCC Iron calculated using the above example script.

Why use Magnos?

Our core development principles are:

  • Easy to use - Magnon bandstructures can be computed using less than 10 lines of Python code!

  • Scaleable - For handling complex cells, symmetries, and couplings.

  • Integrated - Interfaces with tools such as ASE to accelerate scientific workflows. The MagnonSpectrum class mirrors the structure of ASE’s Phonons class.

  • Adaptable - Allows conventions for working with dimensionless or dimensionful magnetic moments, different Hamiltonian conventions, many input formats.

  • Open - Built for collaboration.

The code offers:

  • ASE-enabled reading of many widely used structure file formats

  • Ability to read complex exchange interaction data, and rigorously check symmetry requirements

  • Option to easily augment non-magnetic structure files with a magnetic moment data file

  • Rapid set-up routine by simultaneously reading structural, magnetic and coupling data

  • Powerful InteractionList class for working efficiently with exchange coupling data at scale

  • In-built symmetrisation routines for generating full exchange couplings from a minimal description

  • Unit cell standardisation to convert couplings to those of the primitive cell

  • Supports ferromagnetic, antiferromagnetic and non-collinear spin configurations

  • Adapts to different conventions for the Heisenberg Hamiltonian prefactor

  • Able to convert from exchange couplings from unit vector spin models

  • Integrated MagnonSpectrum class for easy generation of reciprocal space paths and their bandstructures. Built with the same structure as the ASE Phonons class.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

magnos-1.0.0.tar.gz (34.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

magnos-1.0.0-py3-none-any.whl (36.2 kB view details)

Uploaded Python 3

File details

Details for the file magnos-1.0.0.tar.gz.

File metadata

  • Download URL: magnos-1.0.0.tar.gz
  • Upload date:
  • Size: 34.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for magnos-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ec2da34b91687d70a1423a1d0603412f1a110025eeae1be991608f1c1e561c32
MD5 dd853c222421c902641b3263ba2c98be
BLAKE2b-256 c1fbf1e4a08bae0d851444fc895bb2fc0b72988c91c23e338ab041fce862428b

See more details on using hashes here.

File details

Details for the file magnos-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: magnos-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 36.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for magnos-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c98a423134d838849216174acbc1e2816cbb5723a37fe0b2a4988734d37a311f
MD5 312220f215d91543008d56c494560872
BLAKE2b-256 85dd86fc1e6dbb3c4618a68768acb5bfc4299f15c65ec72c804195a5b679aefd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page