Spirit
latest
Introduction
Contents
Introduction
A modern framework for magnetism science on clusters, desktops & laptops and even your Phone
Physics Features
Highlights of the Framework
Documentation
Getting started with the Desktop Interface
Getting started with the Python Package
Qt desktop user interface
Physics features
Real-time visualisation
Additional features
How to perform an energy minimisation
How to perform an LLG dynamics calculation
How to perform a GNEB calculation
Key bindings
UI Controls
Camera Controls
Control Simulations
Manipulate the current image
Manipulate the chain of images
ImGui desktop user interface
Physics features
Real-time visualisation
Additional features
How to perform an LLG dynamics calculation
How to perform an energy minimisation
How to perform a GNEB calculation
Key bindings
UI Controls
Camera Controls
Control Simulations
Manipulate the current image
Visualisation
Manipulate the chain of images
Input file specification
General Settings and Log
Geometry
Heisenberg Hamiltonian
Gaussian Hamiltonian
Method Output
Method Parameters
Pinning
Disorder and Defects
Definitions
Heisenberg Hamiltonian
LLG dynamics
Geodesic nudged elastic band method
Minimum mode following method
Harmonic transition state theory
Topological charge
Gaussian (test-) Hamiltonian
Additional features
Command line options
Running quietly
Stopping a running process by interrupting
Stopping a running process without interrupting
Installation
Build on Unix/OSX
Core library
Desktop GUI
Additional requirements
Python package
OpenMP backend
CUDA backend
Web apps
Further build configuration options
Installation
Build on Windows
Core library
Desktop GUI
Python package
OpenMP backend
CUDA backend
Web apps
Further build configuration options
Installation
Using Docker
C API
Usage
Energy minimisation
LLG method
GNEB method
HTST
MMF method
Full Reference
Spirit/Chain.h
Chain_Get_NOI
Change the active image
Chain_next_Image
Chain_prev_Image
Chain_Jump_To_Image
Insert/replace/delete images
Chain_Set_Length
Chain_Image_to_Clipboard
Chain_Replace_Image
Chain_Insert_Image_Before
Chain_Insert_Image_After
Chain_Push_Back
Chain_Delete_Image
Chain_Pop_Back
Calculate data
Chain_Get_Rx
Chain_Get_Rx_Interpolated
Chain_Get_Energy
Chain_Get_Energy_Interpolated
Chain_Update_Data
Chain_Setup_Data
Spirit/Configurations.h
Clipboard
Configuration_To_Clipboard
Configuration_From_Clipboard
Configuration_From_Clipboard_Shift
Nonlocalised
Configuration_Domain
Configuration_PlusZ
Configuration_MinusZ
Configuration_Random
Configuration_SpinSpiral
Configuration_SpinSpiral_2q
Perturbations
Configuration_Add_Noise_Temperature
Configuration_Displace_Eigenmode
Localised
Configuration_Skyrmion
Configuration_DW_Skyrmion
Configuration_Hopfion
Pinning and atom types
Configuration_Set_Pinned
Configuration_Set_Atom_Type
Spirit/Constants.h
Constants_mu_B
Constants_mu_0
Constants_k_B
Constants_hbar
Constants_mRy
Constants_gamma
Constants_g_e
Constants_Pi
Spirit/Geometry.h
Definition of Bravais lattice types
Setters
Geometry_Set_Bravais_Lattice_Type
Geometry_Set_N_Cells
Geometry_Set_Cell_Atoms
Geometry_Set_mu_s
Geometry_Set_Cell_Atom_Types
Geometry_Set_Bravais_Vectors
Geometry_Set_Lattice_Constant
Getters
Geometry_Get_NOS
Geometry_Get_Positions
Geometry_Get_Atom_Types
Geometry_Get_Bounds
Geometry_Get_Center
Geometry_Get_Bravais_Lattice_Type
Geometry_Get_Bravais_Vectors
Geometry_Get_Dimensionality
Geometry_Get_mu_s
Geometry_Get_N_Cells
The basis cell
Geometry_Get_Cell_Bounds
Geometry_Get_N_Cell_Atoms
Geometry_Get_Cell_Atoms
Triangulation and tetrahedra
Geometry_Get_Triangulation
Geometry_Get_Tetrahedra
Spirit/Hamiltonian.h
DMI chirality
SPIRIT_CHIRALITY_BLOCH
SPIRIT_CHIRALITY_NEEL
SPIRIT_CHIRALITY_BLOCH_INVERSE
SPIRIT_CHIRALITY_NEEL_INVERSE
Dipole-Dipole method
SPIRIT_DDI_METHOD_NONE
SPIRIT_DDI_METHOD_FFT
SPIRIT_DDI_METHOD_FMM
SPIRIT_DDI_METHOD_CUTOFF
Setters
Hamiltonian_Set_Boundary_Conditions
Hamiltonian_Set_Field
Hamiltonian_Set_Anisotropy
Hamiltonian_Set_Exchange
Hamiltonian_Set_DMI
Hamiltonian_Set_DDI
Getters
Hamiltonian_Get_Name
Hamiltonian_Get_Boundary_Conditions
Hamiltonian_Get_Field
Hamiltonian_Get_Anisotropy
Hamiltonian_Get_Exchange_Shells
Hamiltonian_Get_Exchange_N_Pairs
Hamiltonian_Get_DMI_Shells
Hamiltonian_Get_DMI_N_Pairs
Hamiltonian_Get_DDI
Spirit/HTST.h
HTST_Calculate
HTST_Get_Info
HTST_Get_Eigenvalues_Min
HTST_Get_Eigenvectors_Min
HTST_Get_Eigenvalues_SP
HTST_Get_Eigenvectors_SP
HTST_Get_Velocities
Spirit/IO.h
Definition of file formats for vectorfields
IO_Fileformat_OVF_bin
IO_Fileformat_OVF_bin4
IO_Fileformat_OVF_bin8
IO_Fileformat_OVF_text
IO_Fileformat_OVF_csv
Other
IO_System_From_Config
IO_Positions_Write
Spin configurations
IO_N_Images_In_File
IO_Image_Read
IO_Image_Write
IO_Image_Append
Chains
IO_Chain_Read
IO_Chain_Write
IO_Chain_Append
Neighbours
IO_Image_Write_Neighbours_Exchange
IO_Image_Write_Neighbours_DMI
Energies
IO_Image_Write_Energy_per_Spin
IO_Image_Write_Energy
IO_Chain_Write_Energies
IO_Chain_Write_Energies_Interpolated
Eigenmodes
IO_Eigenmodes_Read
IO_Eigenmodes_Write
Spirit/Log.h
Definition of log levels and senders
Spirit_Log_Level
Spirit_Log_Sender
Logging functions
Log_Send
Log_Append
Log_Dump
Log_Get_N_Entries
Log_Get_N_Errors
Log_Get_N_Warnings
Set Log parameters
Log_Set_Output_File_Tag
Log_Set_Output_Folder
Log_Set_Output_To_Console
Log_Set_Output_To_File
Get Log parameters
Log_Get_Output_File_Tag
Log_Get_Output_Folder
Log_Get_Output_To_Console
Log_Get_Output_Console_Level
Log_Get_Output_To_File
Log_Get_Output_File_Level
Spirit/Parameters_MC.h
Set
Parameters_MC_Set_Output_Tag
Parameters_MC_Set_Output_Folder
Parameters_MC_Set_Output_General
Parameters_MC_Set_Output_Energy
Parameters_MC_Set_Output_Configuration
Parameters_MC_Set_N_Iterations
Set Parameters
Parameters_MC_Set_Temperature
Parameters_MC_Set_Metropolis_Cone
Parameters_MC_Set_Random_Sample
Get Output
Parameters_MC_Get_Output_Tag
Parameters_MC_Get_Output_Folder
Parameters_MC_Get_Output_General
Parameters_MC_Get_Output_Energy
Parameters_MC_Get_Output_Configuration
Parameters_MC_Get_N_Iterations
Get Parameters
Parameters_MC_Get_Temperature
Parameters_MC_Get_Metropolis_Cone
Parameters_MC_Get_Random_Sample
Spirit/Parameters_LLG.h
Set Output
Parameters_LLG_Set_Output_Tag
Parameters_LLG_Set_Output_Folder
Parameters_LLG_Set_Output_General
Parameters_LLG_Set_Output_Energy
Parameters_LLG_Set_Output_Configuration
Parameters_LLG_Set_N_Iterations
Set Parameters
Parameters_LLG_Set_Direct_Minimization
Parameters_LLG_Set_Convergence
Parameters_LLG_Set_Time_Step
Parameters_LLG_Set_Damping
Parameters_LLG_Set_STT
Parameters_LLG_Set_Temperature
Parameters_LLG_Set_Temperature_Gradient
Get Output
Parameters_LLG_Get_Output_Tag
Parameters_LLG_Get_Output_Folder
Parameters_LLG_Get_Output_General
Parameters_LLG_Get_Output_Energy
Parameters_LLG_Get_Output_Configuration
Parameters_LLG_Get_N_Iterations
Get Parameters
Parameters_LLG_Get_Direct_Minimization
Parameters_LLG_Get_Convergence
Parameters_LLG_Get_Time_Step
Parameters_LLG_Get_Damping
Parameters_LLG_Get_Temperature
Parameters_LLG_Get_Temperature_Gradient
Parameters_LLG_Get_STT
Spirit/Parameters_GNEB.h
GNEB_IMAGE_NORMAL
GNEB_IMAGE_CLIMBING
GNEB_IMAGE_FALLING
GNEB_IMAGE_STATIONARY
Set Output
Parameters_GNEB_Set_Output_Tag
Parameters_GNEB_Set_Output_Folder
Parameters_GNEB_Set_Output_General
Parameters_GNEB_Set_Output_Energies
Parameters_GNEB_Set_Output_Chain
Parameters_GNEB_Set_N_Iterations
Set Parameters
Parameters_GNEB_Set_Convergence
Parameters_GNEB_Set_Spring_Constant
Parameters_GNEB_Set_Spring_Force_Ratio
Parameters_GNEB_Set_Path_Shortening_Constant
Parameters_GNEB_Set_Climbing_Falling
Parameters_GNEB_Set_Image_Type_Automatically
Parameters_GNEB_Set_N_Energy_Interpolations
Get Output
Parameters_GNEB_Get_Output_Tag
Parameters_GNEB_Get_Output_Folder
Parameters_GNEB_Get_Output_General
Parameters_GNEB_Get_Output_Energies
Parameters_GNEB_Get_Output_Chain
Parameters_GNEB_Get_N_Iterations
Get Parameters
Parameters_GNEB_Get_Convergence
Parameters_GNEB_Get_Spring_Constant
Parameters_GNEB_Get_Spring_Force_Ratio
Parameters_GNEB_Get_Path_Shortening_Constant
Parameters_GNEB_Get_Climbing_Falling
Parameters_GNEB_Get_N_Energy_Interpolations
Spirit/Parameters_EMA.h
Set
Parameters_EMA_Set_N_Modes
Parameters_EMA_Set_N_Mode_Follow
Parameters_EMA_Set_Frequency
Parameters_EMA_Set_Amplitude
Parameters_EMA_Set_Snapshot
Get
Parameters_EMA_Get_N_Modes
Parameters_EMA_Get_N_Mode_Follow
Parameters_EMA_Get_Frequency
Parameters_EMA_Get_Amplitude
Parameters_EMA_Get_Snapshot
Spirit/Parameters_MMF.h
Set Output
Parameters_MMF_Set_Output_Tag
Parameters_MMF_Set_Output_Folder
Parameters_MMF_Set_Output_General
Parameters_MMF_Set_Output_Energy
Parameters_MMF_Set_Output_Configuration
Parameters_MMF_Set_N_Iterations
Set Parameters
Parameters_MMF_Set_N_Modes
Parameters_MMF_Set_N_Mode_Follow
Get Output
Parameters_MMF_Get_Output_Tag
Parameters_MMF_Get_Output_Folder
Parameters_MMF_Get_Output_General
Parameters_MMF_Get_Output_Energy
Parameters_MMF_Get_Output_Configuration
Parameters_MMF_Get_N_Iterations
Get Parameters
Parameters_MMF_Get_N_Modes
Parameters_MMF_Get_N_Mode_Follow
Spirit/Quantities.h
Quantity_Get_Magnetization
Quantity_Get_Topological_Charge
Quantity_Get_Grad_Force_MinimumMode
Spirit/Simulation.h
Definition of solvers
Solver_VP
Solver_SIB
Solver_Depondt
Solver_Heun
Solver_RungeKutta4
Solver_LBFGS_OSO
Solver_LBFGS_Atlas
Solver_VP_OSO
Start or stop a simulation
PREFIX
Simulation_LLG_Start
Simulation_GNEB_Start
Simulation_MMF_Start
Simulation_EMA_Start
Simulation_SingleShot
Simulation_N_Shot
Simulation_Stop
Simulation_Stop_All
Get information
Simulation_Get_MaxTorqueComponent
Simulation_Get_Chain_MaxTorqueComponents
Simulation_Get_MaxTorqueNorm
Simulation_Get_Chain_MaxTorqueNorms
Simulation_Get_IterationsPerSecond
Simulation_Get_Iteration
Simulation_Get_Time
Simulation_Get_Wall_Time
Simulation_Get_Solver_Name
Simulation_Get_Method_Name
Whether a simulation is running
Simulation_Running_On_Image
Simulation_Running_On_Chain
Simulation_Running_Anywhere_On_Chain
Spirit/State.h
State
State_Setup
State_Delete
State_Update
State_To_Config
State_DateTime
Spirit/System.h
System_Get_Index
System_Get_NOS
System_Get_Spin_Directions
System_Get_Effective_Field
System_Get_Eigenmode
System_Get_Rx
System_Get_Energy
System_Get_Energy_Array_Names
System_Get_Energy_Array
System_Get_Eigenvalues
System_Print_Energy_Array
System_Update_Data
System_Update_Eigenmodes
Spirit/Transitions.h
Transition_Homogeneous
Transition_Homogeneous_Insert_Interpolated
Transition_Add_Noise_Temperature
Python API
Usage
Energy minimisation
LLG method
GNEB method
HTST
MMF method
Full Reference
spirit.chain
spirit.configuration
spirit.constants
spirit.geometry
spirit.hamiltonian
spirit.htst
spirit.io
spirit.log
spirit.parameters
Monte Carlo (MC)
Landau-Lifshitz-Gilbert (LLG)
Geodesic nudged elastic band (GNEB)
Eigenmode analysis (EMA)
Minimum mode following (MMF)
spirit.quantities
spirit.simulation
spirit.state
spirit.system
spirit.transition
Further Information
License
Contributing
Branches
Contributors
Moritz Sallermann
Gideon P. Müller
Markus Hoffmann
Nikolai S. Kiselev
Florian Rhiem
Pavel F. Bessarab
Aleksei V. Ivanov
Daniel Schürhoff
Stefanos Mavros
Constantin Disselkamp
Filipp N. R. Rybakov
Ingo Heimbach
Mathias Redies, Maximilian Merte, Rene Suckert
Dmitrii Tolmachev
David Bauer
Graph
Referencing this Code
The Framework
Specific Methods
Included dependencies
VFRendering
Getting Started
1. Include <VFRendering/View.hxx>
2. Create a VFRendering::Geometry
3. Read or calculate the vector directions
4. Create a VFRendering::VectorField
5. Create a VFRendering::View and a Renderer
5. Draw the view in an existing OpenGL context
Python Package
1. import
2. Create a pyVFRendering.Geometry
3. Read or calculate the vector directions
4. Pass geometry and directions to a pyVFRendering.View
5. Draw the view in an existing OpenGL context
Renderers
Options
ToDo
OVF
How to use
C/C++
Python
Fortran
How to embed it into your project
Build
On Unix systems
On Windows
CMake Options
Create and install the Python package
Build without CMake
File format v2.0 specification
General
Header
Segments
Extensions made by this library
Current limitations of this library
Example
Comparison to OVF 1.0
Eigen3
Spectra
Relation to ARPACK
Common Usage
Examples
Shift-and-invert Mode
Documentation
License
fmtlib
Features
Examples
Projects using this library
Motivation
Printf
IOStreams
Boost Format library
FastFormat
Loki SafeFormat
Tinyformat
Boost Spirit.Karma
Benchmarks
Speed tests
Compile time and code bloat
Running the tests
License
Acknowledgments
termcolor
Installation
How to use?
What manipulators are supported?
Foreground manipulators
Background manipulators
Attribute manipulators
Control manipulators
Spirit
Docs
»
Full API reference
Edit on GitHub
Full API reference
¶
spirit.chain
spirit.configuration
spirit.constants
spirit.geometry
spirit.hamiltonian
spirit.htst
spirit.io
spirit.log
spirit.parameters
Monte Carlo (MC)
Landau-Lifshitz-Gilbert (LLG)
Geodesic nudged elastic band (GNEB)
Eigenmode analysis (EMA)
Minimum mode following (MMF)
spirit.quantities
spirit.simulation
spirit.state
spirit.system
spirit.transition
Read the Docs
v: latest
Versions
latest
stable
v2.2.0
2.1.1
v2.1.0
v2.0.1
v2.0.0
v1.8.8
v1.8.7
v1.8.5
v1.8.3
v1.8.2
v1.8.1
v1.8.0
feature-micromagnetic
docs-update
Downloads
pdf
html
epub
On Read the Docs
Project Home
Builds
Free document hosting provided by
Read the Docs
.