Package to be used with the magnetism simulation tool spirit
Project description
spirit-extras
Package with some useful scripts, to be used together with the Spirit python API (github.com/spirit-code/spirit/
).
Data structure for spin systems
Parse data from a Spirit state pointer
from spirit import state
import spirit_extras.data
with state.State("input.cfg") as p_state:
spin_sytem = spirit_extras.data.spin_system_from_p_state()
# Information about the bravais lattice is automatically parsed from the spirit API
print(spin_system)
# The spins can be set
ib, a, b, c = 1, 5, 3, 4
idx = spin_system.idx(ib, a, b, c) # computes the linear index from a bravais tupel
spin_system.spins[idx] = [0,0,-1]
ib, a, b, c = spin_system.tupel(5) # computes the bravais tupel from a linear index
# A shaped view into the spin system is also available
spin_system.shaped().spins[ib,a,b,c] = [0,0,1]
# Slicing syntax works
spin_system.shaped().spins[ib,:,b,c] = [0,1,0]
mask = np.linalg.norm(spin_system.positions - spin_system.center() < 5, radius=1)
spin_sytem.spins[mask] = [1,0,0]
Create from your own buffers
# Since spirit_extras.Spin_System is needed for many functions in spirit_extras, it can also be created from a spins and positions arrays
spins = [ [1,0,0] for i in range(10) ]
# The default behaviour is to expect an unordered system, meaning some functions will throw an exception
my_spin_system = spirit_extras.data.Spin_System(positions=None, spins=spins) # positions dont _have_ to be specified
try:
my_spin_sytem.shaped() # needs an ordered system
except:
print("Throws :(")
# To create an ordered system pass `unordered=False` and specify `n_cells`
my_spin_system = spirit_extras.data.Spin_System(positions=None, spins=spins, n_cells=[10,1,1], unordered=False)
my_spin_sytem.shaped() # works!
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-extras-0.0.34.tar.gz
(46.2 kB
view details)
Built Distribution
File details
Details for the file spirit-extras-0.0.34.tar.gz
.
File metadata
- Download URL: spirit-extras-0.0.34.tar.gz
- Upload date:
- Size: 46.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cdcf9126846b12a33e6b8ef0336464cc7fb04675caf6223371bc3a83c1998583 |
|
MD5 | 3d919cb436d9272cb6f57193fa15a001 |
|
BLAKE2b-256 | 8309a9152b84b328fd90bd5160116c8486e98a6bfe6fc9590c14ff22e0c3f914 |
File details
Details for the file spirit_extras-0.0.34-py3-none-any.whl
.
File metadata
- Download URL: spirit_extras-0.0.34-py3-none-any.whl
- Upload date:
- Size: 41.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d8760ce8e161d7e78e73fa13261dfb5d00b701d22d14211d98dabed2fdf1f57 |
|
MD5 | b66f2d106e89e6331dbdffcbca61219b |
|
BLAKE2b-256 | 477832c5a87fb2d8fec24a6f2daa4c6f6b4a865cc01ee05fe0b7bcddb40daa7c |