Crate Overview
Nucleide is a Cargo workspace. Each crate owns one capability area and exposes a thin, focused API.
Crates
nucleide-linalg
crates/linalg · source
Isolation facade over the numeric backend (faer) so the rest of the workspace never depends on it directly
Depends on: -
Python:
nucleide.uq
nucleide-nuclei
crates/nuclei · source
Nuclide identification, naming conventions, and reaction names
Depends on: -
Python:
nucleide.nuclei
nucleide-material
crates/material · source
Nuclear material compositions: mixing, conversions, materials XML export
Depends on:
nucleide-nuclei
Python: -
nucleide-mcnp-io
crates/mcnp-io · source
MCNP-family file I/O: xsdir, meshtal, SSW, PTRAC, ENDL readers/writers plus shared Fortran-record framing and SSW combining
Depends on:
nucleide-nuclei
Python:
nucleide.mcnp
nucleide-csg-xlate
crates/csg-xlate · source
MCNP CSG translation to OpenMC geometry.xml, Serpent, PHITS, and GDML (Geant4) outputs with per-cell/per-surface drift reports
Depends on:
nucleide-mcnp-io
Python: -
nucleide-mcpl-io
crates/mcpl-io · source
MCPL Monte Carlo Particle List read/write (v2/v3, single/double precision, gzip-transparent) with merge/extract/stats/repair utilities
Depends on:
nucleide-mcnp-io
Python:
nucleide.mcpl
nucleide-serpent-io
crates/serpent-io · source
Parsers for Serpent Monte Carlo MATLAB-style output files (_res.m, _dep.m, _det.m)
Depends on: -
Python:
nucleide.serpent
nucleide-fluka-io
crates/fluka-io · source
FLUKA Monte Carlo interface: USRBIN tally reading and MATERIAL/COMPOUND card generation
Depends on:
nucleide-nuclei
Python:
nucleide.fluka
nucleide-alara-io
crates/alara-io · source
ALARA activation-code interop: input-deck, flux, schedule, and output glue (no solver)
Depends on:
nucleide-nuclei
Python:
nucleide.alara
nucleide-cccc-io
crates/cccc-io · source
CCCC binary-standard readers (ISOTXS, RTFLUX/ATFLUX, RZFLUX) and PARTISN deck writer
Depends on:
nucleide-nuclei
Python:
nucleide.cccc
nucleide-fispact-io
crates/fispact-io · source
FISPACT-II output parser producing ALARA-compatible response frames (no solver)
Depends on:
nucleide-alara-io
nucleide-nuclei
Python:
nucleide.fispact
nucleide-origen-io
crates/origen-io · source
ORIGEN 2.2 TAPE readers (scoped: TAPE5 input echo, TAPE6 output, TAPE9 decay constants)
Depends on:
nucleide-nuclei
Python:
nucleide.origen
nucleide-enrichment
crates/enrichment · source
Multicomponent enrichment cascades and SWU analytics
Depends on:
nucleide-nuclei
Python:
nucleide.enrichment
nucleide-depletion
crates/depletion · source
CRAM matrix exponential (orders 16/48), depletion-chain XML parsing
Depends on:
nucleide-linalg
nucleide-nuclei
Python:
nucleide.depletion
nucleide-kinetics
crates/kinetics · source
Prescribed-reactivity point-kinetics solver (PKE + inhour + prompt-jump)
Depends on: -
Python:
nucleide.kinetics
nucleide-spectroscopy
crates/spectroscopy · source
Gamma-ray spectrum smoothing, peak counting, energy/efficiency calibration, SPE parsing, and SDEF decay-source cards
Depends on:
nucleide-linalg
nucleide-nuclei
Python:
nucleide.spectroscopy
nucleide-unfold
crates/unfold · source
Neutron spectrum unfolding from activation-type measurements (SAND-II, STAYSL-class least-squares, GRAVEL, and MAXED maximum-entropy adjustment)
Depends on:
nucleide-linalg
Python:
nucleide.unfold
nucleide-tritium
crates/tritium · source
1D tritium diffusion-trapping kernel (Fick + McNabb-Foster, Sieverts surfaces, permeation gates)
Depends on:
nucleide-linalg
Python:
nucleide.tritium
nucleide-plasma-source
crates/plasma-source · source
Tokamak fusion neutron sources (ring/point): sampled particle vectors and SDEF/Serpent source cards
Depends on:
nucleide-nuclei
nucleide-mcnp-io
Python:
nucleide.plasma_source
nucleide-damage
crates/damage · source
Damage and gas-production metrics (NRT-dpa, arc-dpa, He/H appm, He/dpa) by spectral folding of caller flux with caller damage/gas response functions
Depends on:
nucleide-linalg
nucleide-nuclei
Python:
nucleide.damage
nucleide-blanket
crates/blanket · source
TBR and blanket power bookkeeping over caller transport tallies (port-penalty haircuts, energy multiplication, tritium burn and fuel-cycle margin)
Depends on: -
Python:
nucleide.blanket
nucleide-equilib-io
crates/equilib-io · source
Equilibrium data readers (classic-netCDF VMEC wout files plus VMEC INDATA namelist text); reads data, never solves equilibria
Depends on: -
Python:
nucleide.equilib
nucleide-vr-tools
crates/vr-tools · source
MAGIC weight-window generation, mesh source sampling with alias tables
Depends on:
nucleide-mcnp-io
Python:
nucleide.vr
nucleide-r2s
crates/r2s · source
Rigorous two-step (R2S) shutdown-dose-rate orchestration over mcnp-io, alara-io, and vr-tools
Depends on:
nucleide-alara-io
nucleide-depletion
nucleide-material
nucleide-mcnp-io
nucleide-nuclei
nucleide-vr-tools
Python:
nucleide.r2s
nucleide-emit
crates/emit · source
Single-material emission to MCNP/Serpent/FLUKA/ALARA/PARTISN cards plus mass-drift reports
Depends on:
nucleide-nuclei
nucleide-material
nucleide-mcnp-io
nucleide-serpent-io
nucleide-fluka-io
nucleide-alara-io
nucleide-cccc-io
Python:
nucleide.emit
nucleide-bindings
bindings/python · source
PyO3 bindings exposing Nucleide to Python as nucleide._internal
Depends on:
nucleide-nuclei
nucleide-material
nucleide-mcnp-io
nucleide-mcpl-io
nucleide-depletion
nucleide-kinetics
nucleide-spectroscopy
nucleide-serpent-io
nucleide-fluka-io
nucleide-vr-tools
nucleide-enrichment
nucleide-alara-io
nucleide-cccc-io
nucleide-fispact-io
nucleide-origen-io
nucleide-r2s
nucleide-emit
nucleide-tritium
nucleide-csg-xlate
nucleide-linalg
nucleide-plasma-source
nucleide-damage
nucleide-unfold
nucleide-equilib-io
nucleide-blanket
Python: -
nucleide-wasm
bindings/wasm · source
wasm-bindgen facade exposing Nucleide core capabilities to the browser
Depends on:
nucleide-nuclei
nucleide-material
nucleide-emit
nucleide-enrichment
nucleide-depletion
nucleide-mcnp-io
nucleide-mcpl-io
nucleide-kinetics
nucleide-spectroscopy
nucleide-alara-io
nucleide-cccc-io
nucleide-fispact-io
nucleide-serpent-io
nucleide-fluka-io
nucleide-origen-io
nucleide-vr-tools
nucleide-tritium
nucleide-linalg
nucleide-damage
nucleide-plasma-source
nucleide-unfold
nucleide-blanket
nucleide-equilib-io
Python: -
Dependency rules
bindings/pythonmay depend on workspace crates.- Workspace crates must never depend on
bindings/pythonor on Python. enrichmentstays independent ofmaterialby design.
See Crate responsibilities for the dependency rationale and layering rules.