Energy minimisation of a spin system can be performed using the LLG method and the velocity projection (VP) solver:
from spirit import simulation, state
with state.State("input/input.cfg") as p_state:
simulation.start(p_state, simulation.METHOD_LLG, simulation.SOLVER_VP)
or using one of the dynamics solvers, using dissipative dynamics:
from spirit import parameters, simulation, state
with state.State("input/input.cfg") as p_state:
parameters.llg.set_direct_minimization(p_state, True)
simulation.start(p_state, simulation.METHOD_LLG, simulation.SOLVER_DEPONDT)
To perform an LLG dynamics simulation:
from spirit import simulation, state
with state.State("input/input.cfg") as p_state:
simulation.start(p_state, simulation.METHOD_LLG, simulation.SOLVER_DEPONDT)
Note that the velocity projection (VP) solver is not a dynamics solver.
The geodesic nudged elastic band method. See also the method paper.
This method operates on a transition between two spin configurations, discretised by "images" on a "chain". The procedure follows these steps:
- set the number of images
- set the initial and final spin configuration
- create an initial guess for the transition path
- run an initial GNEB relaxation
- determine and set the suitable images on the chain to converge on extrema
- run a full GNEB relaxation using climbing and falling images
from spirit import state, chain, configuration, transition, simulation
noi = 7
with state.State("input/input.cfg") as p_state:
### Copy the first image and set chain length
chain.image_to_clipboard(p_state)
chain.set_length(p_state, noi)
### First image is homogeneous with a Skyrmion in the center
configuration.plus_z(p_state, idx_image=0)
configuration.skyrmion(p_state, 5.0, phase=-90.0, idx_image=0)
simulation.start(p_state, simulation.METHOD_LLG, simulation.SOLVER_VP, idx_image=0)
### Last image is homogeneous
configuration.plus_z(p_state, idx_image=noi-1)
simulation.start(p_state, simulation.METHOD_LLG, simulation.SOLVER_VP, idx_image=noi-1)
### Create initial guess for transition: homogeneous rotation
transition.homogeneous(p_state, 0, noi-1)
### Initial GNEB relaxation
simulation.start(p_state, simulation.METHOD_GNEB, simulation.SOLVER_VP, n_iterations=5000)
### Automatically set climbing and falling images
chain.set_image_type_automatically(p_state)
### Full GNEB relaxation
simulation.start(p_state, simulation.METHOD_GNEB, simulation.SOLVER_VP)
The harmonic transition state theory. See also the method paper.
The usage of this method is not yet documented.
The minimum mode following method. See also the method paper.
The usage of this method is not yet documented.