[package]
name = "spintronics"
version = "0.2.0"
edition = "2021"
rust-version = "1.70.0"
authors = ["COOLJAPAN OÜ (Team KitaSan)"]
description = "Pure Rust library for simulating spin dynamics, spin current generation, and conversion phenomena in magnetic and topological materials"
license = "MIT OR Apache-2.0"
readme = "README.md"
homepage = "https://github.com/cool-japan/spintronics"
keywords = ["spintronics", "magnetism", "physics", "simulation", "materials"]
categories = ["science", "simulation", "wasm"]
repository = "https://github.com/cool-japan/spintronics"
documentation = "https://docs.rs/spintronics"
exclude = [
"test_*",
"performance_*",
"*.csv",
"*.vtu",
"*.vtk",
"*.json",
"wasm-demo/pkg/",
"pkg/",
".cargo/",
"TODO.md",
]
[lib]
crate-type = ["cdylib", "rlib"]
[dependencies]
scirs2-core = { version = "0.1.0-rc.4", features = ["random", "parallel"], optional = true }
scirs2-spatial = { version = "0.1.0-rc.4", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
serde_json = { version = "1.0", optional = true }
pyo3 = { version = "0.25", features = ["extension-module"], optional = true }
numpy = { version = "0.25", optional = true }
hdf5 = { version = "0.8", optional = true }
wasm-bindgen = { version = "0.2", optional = true }
wasm-bindgen-futures = { version = "0.4", optional = true }
js-sys = { version = "0.3", optional = true }
web-sys = { version = "0.3", features = ["console", "Window", "Document"], optional = true }
console_error_panic_hook = { version = "0.1", optional = true }
getrandom = { version = "0.3", features = ["wasm_js"], optional = true }
[dev-dependencies]
wasm-bindgen-test = "0.3"
[features]
default = ["fem", "scirs2", "serde"]
fem = ["scirs2-spatial"]
scirs2 = ["scirs2-core"]
serde = ["dep:serde", "dep:serde_json"]
python = ["pyo3", "numpy"]
hdf5 = ["dep:hdf5"]
wasm = ["wasm-bindgen", "wasm-bindgen-futures", "js-sys", "web-sys", "console_error_panic_hook", "getrandom"]
[[example]]
name = "yig_pt_pumping"
path = "examples/yig_pt_pumping.rs"
[[example]]
name = "magnon_propagation"
path = "examples/magnon_propagation.rs"
[workspace]
members = ["demo"]