[package]
edition = "2024"
name = "caustic"
version = "0.0.9"
authors = ["Albin <albin@sjoegren.se>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A General-Purpose 6D Collisionless Gravitational Dynamics Solver"
documentation = "https://docs.rs/caustic"
readme = "README.md"
keywords = [
"vlasov",
"poisson",
"simulation",
"physics",
]
categories = [
"science",
"simulation",
]
license = "GPL-3.0"
repository = "https://github.com/resonant-jovian/caustic"
[features]
default = []
dhat-heap = ["dep:dhat"]
hdf5 = ["dep:hdf5-metno"]
jemalloc = ["dep:tikv-jemallocator"]
mimalloc-alloc = ["dep:mimalloc"]
mpi = ["dep:mpi"]
tracy = ["dep:tracing-tracy"]
[lib]
name = "caustic"
path = "src/lib.rs"
[[bench]]
name = "solver_kernels"
path = "benches/solver_kernels.rs"
harness = false
[dependencies.anyhow]
version = "1.0.102"
[dependencies.dhat]
version = "0.3.3"
optional = true
[dependencies.faer]
version = "0.24.0"
[dependencies.hdf5-metno]
version = "0.12.3"
optional = true
[dependencies.mimalloc]
version = "0.1.48"
optional = true
[dependencies.mpi]
version = "0.8"
optional = true
[dependencies.rayon]
version = "1.11.0"
[dependencies.realfft]
version = "3.5.0"
[dependencies.rust_decimal]
version = "1.40.0"
[dependencies.rustfft]
version = "6.4.1"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tikv-jemallocator]
version = "0.6.1"
optional = true
[dependencies.tracing]
version = "0.1.44"
[dependencies.tracing-tracy]
version = "0.11.4"
optional = true
[dev-dependencies.criterion]
version = "0.8.2"
features = ["html_reports"]
[lints.rust]
unsafe_code = "deny"
[profile.profiling]
debug = 2
inherits = "release"
strip = "none"
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "abort"