Optimizations and Dynamics Framework for atomistic Spin systems
Project description
Spirit Python Library
---------------------
This library is meant to provide useful and easy API functions to enable productive work
with atomistic dynamics simulations and optimizations.
The current implementation is specific to atomistic spin models, but it may
easily be generalised.
The library is written in C++ but has been wrapped in Python for easier install and use.
### API functions
The API revolves around a simulation `State` which contains all the necessary
data and keeps track of running Optimizers.
A new `State` can be created with
from Spirit import state
with state.State(cfgfile) as p_state:
pass
where you can pass a config file specifying your initial system parameters.
If you do not pass a config file, the implemented defaults are used.
*Note that you currently cannot change the geometry of the systems in your state once they are initialized.*
The interface exposes functions for:
* Control of simulations
* Manipulation of parameters
* Extracting information
* Generating spin configurations and transitions
* Logging messages
* Reading spin configurations
* Saving datafiles
### Running a Simulation
An easy example is a Landau-Lifshitz-Gilbert (LLG) dynamics simulation
using the Semi-implicit method B (SIB):
from spirit import state
with state.State(cfgfile) as p_state:
simulation.PlayPause(p_state, "LLG", "SIB")
---------------------
This library is meant to provide useful and easy API functions to enable productive work
with atomistic dynamics simulations and optimizations.
The current implementation is specific to atomistic spin models, but it may
easily be generalised.
The library is written in C++ but has been wrapped in Python for easier install and use.
### API functions
The API revolves around a simulation `State` which contains all the necessary
data and keeps track of running Optimizers.
A new `State` can be created with
from Spirit import state
with state.State(cfgfile) as p_state:
pass
where you can pass a config file specifying your initial system parameters.
If you do not pass a config file, the implemented defaults are used.
*Note that you currently cannot change the geometry of the systems in your state once they are initialized.*
The interface exposes functions for:
* Control of simulations
* Manipulation of parameters
* Extracting information
* Generating spin configurations and transitions
* Logging messages
* Reading spin configurations
* Saving datafiles
### Running a Simulation
An easy example is a Landau-Lifshitz-Gilbert (LLG) dynamics simulation
using the Semi-implicit method B (SIB):
from spirit import state
with state.State(cfgfile) as p_state:
simulation.PlayPause(p_state, "LLG", "SIB")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
spirit-1.4.0.tar.gz
(574.9 kB
view hashes)
Built Distributions
Close
Hashes for spirit-1.4.0-py2.py3-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56c547d00202036cfa678f39acb3a123072163cf88d515f8f4ef15adc910ae7e |
|
MD5 | 8a1d15712f866faa6a7ea1e66eba9d3b |
|
BLAKE2b-256 | 27469e65858e8c4ec0c1fb2c231d7bf49c7592471ceee2161a3eedf338f58b37 |
Close
Hashes for spirit-1.4.0-py2.py3-none-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 045baa87572d3252caedf755352a3e231feb5aaba74ab1e2411ed75b370fb3e8 |
|
MD5 | 78647d9bc6373403ebf9ef3ddd0e20b7 |
|
BLAKE2b-256 | b304266558672638584c8df547cffa0ca3caa88d2c0713abedb6c01d9eb0dc5c |
Close
Hashes for spirit-1.4.0-py2.py3-none-macosx_10_8_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ed9c1e443d1eb31c642bf2309dd1ce082d4e5380534679fbf926485c7e45b89 |
|
MD5 | 341fa4846492e23596ac735c527bf274 |
|
BLAKE2b-256 | e5ff0908f950566400605b3f45771a6155317e94901f3aee76d157e31fe99349 |