# TetraX

TetraX is a package for finite-element-method (FEM) micromagnetic modeling with the aim to provide user friendly and versatile micromagnetic workflows. Apart from energy minimizers and an LLG solver, it aims to provide implementations of several FEM dynamic-matrix approaches to numerically calculate the normal modes and associated frequencies for magnetic specimen of different geometries such as confined samples, infinitely long waveguides, or infinitely extended multilayers. Apart from ferromagnets, the package will also be able to be used for antiferromagnetic samples in a future release.

TetraX is maintained by the [Micromagnetic Modeling Group](https://www.hzdr.de/db/Cms?pOid=55944&pNid=107) of Dr. Attila Kákay at the [Helmholtz-Zentrum Dresden - Rossendorf](https://www.hzdr.de).

For questions or feedback, please contact [Lukas Körber](mailto:l.koerber@hzdr.de).

# Current features

<span style="color:gray">planned</span>, <span style="color:orange">available soon</span>, <span style="color:green">available</span>


| || Confined samples| Waveguide cross sections | Layer samples |
| ----------------||-----------------|-------------------|---------------|
| Ferromagnets || <span style="color:gray">RELAX</span> - <span style="color:gray">EIGEN</span> - <span style="color:gray">LLG</span> | <span style="color:green">RELAX</span> - <span style="color:green">EIGEN</span> | Layer samples |
| Antiferromagnets || <span style="color:gray">RELAX</span> - <span style="color:gray">EIGEN</span> - <span style="color:gray">LLG</span> | Waveguide samples | Layer samples |


# Installation

Install this package using

```bash
   pip install tetrax
```

To allow for 3D visualization in Jupyter notebooks, you additionally need to activate the k3d extension in your shell using

```bash
   jupyter nbextension install --py --sys-prefix k3d
   jupyter nbextension enable --py --sys-prefix k3d
```