def test_cascade_constructor(): casc = enr.Cascade() assert_almost_equal(casc.alpha, 0.0) assert_almost_equal(casc.Mstar, 0.0) assert_equal(casc.j, 0) assert_equal(casc.k, 0) assert_almost_equal(casc.N, 0.0) assert_almost_equal(casc.M, 0.0) assert_almost_equal(casc.x_feed_j, 0.0) assert_almost_equal(casc.x_prod_j, 0.0) assert_almost_equal(casc.x_tail_j, 0.0) assert_equal(casc.mat_feed, Material()) assert_equal(casc.mat_prod, Material()) assert_equal(casc.mat_tail, Material()) assert_almost_equal(casc.l_t_per_feed, 0.0) assert_almost_equal(casc.swu_per_feed, 0.0) assert_almost_equal(casc.swu_per_prod, 0.0)
def check_tungsten(solver): # This test comes from 'Multicomponent Isotope Separation in Matched # Abundance Ratio Cascades Composed of Stages with Large Separation Factors' # by casc. von Halle, 1987. orig_casc = enr.Cascade() orig_casc.alpha = 1.16306 orig_casc.Mstar = 181.3 orig_casc.j = 741800 orig_casc.k = 741860 orig_casc.N = 30.0 orig_casc.M = 10.0 orig_casc.x_prod_j = 0.5109 orig_casc.x_tail_j = 0.00014 feed = Material( { 741800000: 0.0014, 741820000: 0.26416, 741830000: 0.14409, 741840000: 0.30618, 741860000: 0.28417, } ) orig_casc.mat_feed = feed casc = enr.multicomponent(orig_casc, solver=solver, tolerance=1e-7) assert_almost_equal(casc.mat_prod.comp[741800000], 0.5109, 5) assert_almost_equal(casc.mat_tail.comp[741800000], 0.00014, 5) assert_almost_equal(casc.mat_feed.mass / 1.0, 1.0) assert_almost_equal(casc.mat_prod.mass / 0.0024669120526274574, 1.0) assert_almost_equal(casc.mat_tail.mass / 0.99753308794737272, 1.0) assert_almost_equal(casc.N / 43.557515688533513, 1.0, 2) assert_almost_equal(casc.M / 11.49556481009056, 1.0, 2) assert_almost_equal(casc.Mstar / 181.16425540249995, 1.0, 4) assert_almost_equal(casc.l_t_per_feed / 96.81774564292206, 1.0, 3) assert_almost_equal(casc.swu_per_feed / 2.22221945305, 1.0, 3) assert_almost_equal(casc.swu_per_prod / 900.810164953, 1.0, 3)
def test_x_feed_j(): casc = enr.Cascade(x_feed_j=0.0072) assert_equal(casc.x_feed_j, 0.0072)
def test_M(): casc = enr.Cascade() casc.M = 10.0 assert_equal(casc.M, 10.0)
def test_N(): casc = enr.Cascade() casc.N = 30.0 assert_equal(casc.N, 30.0)
def test_k(): casc = enr.Cascade() casc.k = 922380000 assert_equal(casc.k, 922380000)
def test_j(): casc = enr.Cascade() casc.j = 922350000 assert_equal(casc.j, 922350000)
def test_Mstar(): casc = enr.Cascade() casc.Mstar = 236.5 assert_equal(casc.Mstar, 236.5)
def test_alpha(): casc = enr.Cascade() casc.alpha = 1.05 assert_equal(casc.alpha, 1.05)
def test_x_tail_j(): casc = enr.Cascade() casc.x_tail_j = 0.0025 assert_equal(casc.x_tail_j, 0.0025)
def test_x_prod_j(): casc = enr.Cascade() casc.x_prod_j = 0.05 assert_equal(casc.x_prod_j, 0.05)