Skip to main content

Crate radiological_material_clearance_finder

Crate radiological_material_clearance_finder 

Source
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.