tetmag
is a finite-element software for general-purpose micromagnetic simulations.
- For ubuntu 22.04: Install the following
sudo apt-get install build-essential cmake git wget
sudo apt-get install libboost-all-dev libeigen3-dev libnetcdf-dev libvtk9-dev
sudo apt-get install liblapack-dev libglu1 libpthread-stubs0-dev
sudo apt-get install libxrender-dev libxcursor-dev libxft-dev libxinerama-dev
sudo apt-get install qtbase5-dev qtdeclarative5-dev
- Optional:
- GPU-acceleration with CUDA (version 10.1 or higher needed)
For more detailed installation instructions, see the tetmag
documentation.
git clone https://github.com/R-Hertel/tetmag.git
cd tetmag && mkdir build && cd build
cmake ..
make -j$(nproc)
- Notes:
- Installation on Windows and other linux distributions should be possible, but hasn't been tested.
- The software can be compiled and run on MacOS (tested on macOS 13.3.1 with Apple M1 processor) if the required libraries are installed.
- An internet connection is necessary during the build process.
Although tetmag
is a standalone software that -unlike plugin-type applications- does not require a specific framework to operate, its workflow involves a series of processes that must be handled by other applications. This concerns two categories of operations:
- Preprocessing - Definition of the sample geometry and finite-element mesh generation
- Postprocessing - Visualization and analysis of the results
The following software can accomplish these tasks:
- ParaView - Data visualization
- gmsh or netgen - Finite-element mesh generation
- FreeCAD - Design of three-dimensional objects
The documentation describes the required pre- and postprocessing steps and shows how tetmag
interacts with this external software.
- For a short introduction to the usage of
tetmag
see the documentation at https://tetmag.readthedocs.io. - Examples of simple simulation studies with
tetmag
can be found in the examples directory.
The tetmag software is powered by these awesome projects:
-
AMGCL - Iterative solution of sparse systems
-
SUNDIALS / CVODE - Solution of ordinary differential equation systems
-
Eigen - Linear algebra
-
H2Lib - Hierarchical matrix data compression
-
CUDA / Thrust - GPU acceleration
-
boost - Powerful C++ libraries
-
CMake - Build system generator