Magnon is a general, scalable Python code to simulate magnon bandstructures from spin structures and exchange coupling constants.
Project description
Magnon 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 magnon
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 Magnon, the simple script below can be used to obtain the bandstructure of BCC iron in the primitive cell..
import magnon
import magnon.build
atoms, interactions = magnon.input.create_interacting_system('Iron_BCC.poscar', 'Iron_BCC_mag_moments', 'Iron_BCC_exchange', 2)
interactions = interactions.symmetrize(atoms)
primitive_atoms, primitive_interactions, _ = magnon.build.build_primitive_cell(atoms, interactions)
magnon = magnon.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')
The bandstructure of BCC Iron calculated using the above example script.
Why use Magnon?
Our core development principles are:
Easy to use - Magnon bandstructures can be computed using less than 10 lines of Python code!
Scalable - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file magnon-1.0.0.tar.gz.
File metadata
- Download URL: magnon-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f749c4fdd68c7c36162e0f0abcb6e1765f900ef680b746c57324878d7aa85a8
|
|
| MD5 |
b91de8b62d36ea01bb5015ade8e5b2a7
|
|
| BLAKE2b-256 |
8e81eb86a9e28708859cdbbc7dcf6f4bc40ce83343cd6f8b3a8177b5678f052c
|
File details
Details for the file magnon-1.0.0-py3-none-any.whl.
File metadata
- Download URL: magnon-1.0.0-py3-none-any.whl
- Upload date:
- Size: 36.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10bf7db694e122e157440d0a7523ee69cd62138160c68894cbca3b9d2d836b9e
|
|
| MD5 |
79cea3ef45c92c178ed6e8c344717500
|
|
| BLAKE2b-256 |
3ce0185088456fefabcb8232278e3b69cde6f454d86bd7f449cb03028781cc57
|