LBFGS and Sparse HTST
New LBFGS Solvers (thanks to A. Ivanov)
Added new solvers for energy minimization LBFGS_Atlas, LBFGS_OSO and VP_OSO.
These new solvers circumvent the explicit renormalization of the spins by working with norm-preserving maps - either stereographic atlases or matrix exponentials.
Sparse HTST
Implementad a sparse version of HTST, which can be used if no dipole-dipole interactions are present. If applicable, it is much faster and more memory-efficent than the dense implementation.
Other
- added interpolated energy contributions
- internally, mutices are now FIFO, allowing to interact with the GUI even when there are many iterations per second
- minor fixes for HTST
- improved log legibility
- small improvements of ui-web
- more and improved documentation
- new CLI parser
- added simulation_n_shot to python API
- fixed unit tests for single precision
- optional skipping of zero padding, if periodic boundaries are used
- fixed memory leaks in CUDA backend
- fixed api functions energy_per_spins (thanks to P. Buhl)
- added circular domain wall skyrmions
- added visual filters, based on lattice cell to QT-GUI
- optimized LLG and GNEB energy calculations by deriving them from the gradient
- moved CI to github actions
- fixed Hessian for dipole-dipole interaction
- improved cmake code, especially cuda integration