This page contains a list of the classes and functions that users will likely want to use. There are three broad categories (1) classes that users might create directly (2) helper functions (3) classes that users will use, but not create directly.
Classes and functions designed to called directly by the user are made accessible by doing from pyspinw import *
User Facing Classes
The user facing classes are for defining the system, there are also a number of helper functions that make it easier to create large numbers of them.
LatticeSite- Lattice position and spin of unit cellsUnitCell- The unit cellStructure- Contains the magnetic structure details: a list of sites, the unit cell, spacegroup and supercellExchangeinteractions, multiple subclassesHamiltonianSampledefinitions, these are used to define things like twins and powders- Supercell definitions:
PropagationVectorandCommensuratePropagationVectorSupercellTransformfor use with theTransformationSupercellSupercellsubclasses:TiledSupercellSummationSupercellTransformationSupercellRotationSupercell
Helper Functions
spacegroup- takes a string describing a spacegroup and returns aSpacegroupobject. This function is capable of dealing with many different ways of writing the spacegroup, including though an partial operator list.generate_*functionsgenerate_sitesautomatically creates a list of sitesgenerate_exchangesautomatically creates a list of exchanges
viewGraphically show a Hamiltonian
Indirectly Created Classes
Spacegroup- these contain detailsHamiltonianParameterizationPowderParameterization
Detailed listing
LatticeSite
UnitCell
Spacegroup
Supercell Classes
Supercells come in two flavours, commensurate and incommensurate. As there are differing strategies for calculations with commensurate and incommensurate structures, these are treated differently. The Supercell and CommensurateSupercell classes are abstract and cannot be created.
Commensurate
TiledSupercellSummationSupercellTransformationSupercell
Incommensurate
RotatingSupercell