Expand description
Clearance indexes for a radiological material.
Give it a nuclide inventory and it tells you whether the material meets the clearance, exemption or disposal limits of the UK, German, US, EU and IAEA regulations, and by how much.
use radiological_material_clearance_finder::{
clearance_index, get_limit_set, ClearanceOptions, Material,
};
let steel = Material::from_atom_counts([("Fe56", 8.4e22), ("Co60", 2.1e9), ("Cs137", 3.1e8)])?;
let set = get_limit_set("UK_EPR16_out_of_scope")?;
let result = clearance_index(&steel, &set, ClearanceOptions::default())?;
assert!(!result.clearable());
assert_eq!(result.dominant(1)[0].0, "Co60");Every regulation here uses the same arithmetic, a sum of activity-to-limit
ratios that must stay below one. What differs is the tables, and those are
data compiled into the crate: see limit_sets for what is available and
get_limit_set for the provenance of any one of them.
A transport or transmutation code with its own material type hands over its atom densities in atoms per barn-cm, and its volume if total activity is wanted:
use radiological_material_clearance_finder::Material;
let atoms_per_barn_cm: HashMap<String, f64> =
[("Fe56".to_string(), 0.0849), ("Co60".to_string(), 1e-10)].into();
let inventory = Material::from_atom_densities(atoms_per_barn_cm)?.with_volume(1000.0)?;
assert!((inventory.mass_density()? - 7.89).abs() < 0.01);Re-exports§
pub use classify::alpha_activity;pub use classify::beta_gamma_activity;pub use classify::nrc_waste_class;pub use classify::uk_waste_category;pub use classify::NrcWasteClass;pub use classify::UkCategory;pub use classify::UkWasteCategory;pub use cooling::index_series;pub use cooling::time_to_clear;pub use decay::DecayData;pub use decay::AVOGADRO;pub use decay::BECQUEREL_PER_CURIE;pub use error::Error;pub use error::Result;pub use index::clearable_routes;pub use index::clearance_index;pub use index::clearance_indices;pub use index::ClearanceOptions;pub use index::ClearanceResult;pub use index::EQUILIBRIUM_TOLERANCE;pub use limits::get_limit_set;pub use limits::limit_sets;pub use limits::register_limit_set;pub use limits::DynamicRule;pub use limits::LimitSet;pub use limits::LimitSetData;pub use material::ActivityUnit;pub use material::Material;
Modules§
- classify
- Waste classification, where the answer is a category rather than an index.
- cooling
- Finding when a material becomes clearable.
- decay
- Half-lives, decay constants and atomic masses.
- error
- The one error type every fallible function in this crate returns.
- index
- The clearance index itself: a sum of activity-to-limit ratios.
- limits
- Limit sets: the regulatory tables a material is measured against.
- material
- The material a clearance index is computed for.
- nuclide
- Nuclide name parsing, validation and normalisation.