Module guide#

Module guide is directed at the users, who wants to use the package as python library. The main objective of the module guide is to familiarise you with the package and provide examples of usage.

If you want to use command-line interface check out the Scripts guide.

Data structure and import#

RAD-tools is a collection of submodules, which combine the classes and functions with the same topic. For the full reference of the submodules, please refer to the API reference.

All public methods of each submodule are exposed to the main entry point (radtools):

>>> from radtools import Crystal, print_2d_array, Cell, SpinHamiltonian

Explicit imports are supported as well:

>>> from radtools.crystal import Crystal, Cell
>>> from radtools.decorate import print_2d_array
>>> from radtools.spinham import SpinHamiltonian

As well as the exact imports:

>>> from radtools.crystal.crystal import Crystal
>>> from radtools.crystal import cell as Cell
>>> from radtools.decorate.array import print_2d_array
>>> from radtools.spinham.hamiltonian import SpinHamiltonian

The first method is recommended for the user, as it is the most convenient and provides the most intuitive way of using the package.

The third method is useful for the advanced users, who wants to contribute to the package.

In the examples of this guide, the first import method is used, unless stated otherwise.

Relation between classes#

Classes in RAD-tools illustrate a physical or mathematical concept (i.e. MagnonDispersion, Kpoints, ...) or object (i.e. Atom, Lattice, Crystal, ...). The relations between the classes could be roughly illustrated by the following diagram:

../../_images/class-relation.png

Submodules#

For the detailed guide on each submodule please refer to the corresponding page: