@@ -22,6 +22,7 @@ def test_evaluate_conc():
2222 dt = np .diff ([0 , 1 , 2 ])
2323
2424 # N(dt) = (F*y/lam) * (1 - exp(-lam*dt))
25+ name = 'Fission and decay'
2526 lam = np .log (2 ) / 10
2627 lam_p = np .log (2 ) / 10
2728 new_conc , new_p_conc = conc ._evaluate_conc (
@@ -31,9 +32,10 @@ def test_evaluate_conc():
3132 )
3233 assert new_p_conc == 0
3334 expected = (1.0 / lam ) * (1 - np .exp (- lam * 1 ))
34- assert np .isclose (new_conc , expected )
35+ assert np .isclose (new_conc , expected ), f" { name } "
3536
3637 # N(dt) = N0 * exp(-lam*dt)
38+ name = 'Pure decay'
3739 N0 = 5.0
3840 lam = np .log (2 ) / 10
3941 new_conc , new_p_conc = conc ._evaluate_conc (
@@ -42,9 +44,10 @@ def test_evaluate_conc():
4244 y_p = 0.0 , y = 1.0
4345 )
4446 expected = N0 * np .exp (- lam * 1 )
45- assert np .isclose (new_conc , expected )
47+ assert np .isclose (new_conc , expected ), f" { name } "
4648
4749 # N(dt) = N0*exp(-l*dt) + (lp*Np0/(l-lp)) * (exp(-lp*dt) - exp(-l*dt))
50+ name = 'Pure decay with parent'
4851 lam_p = np .log (2 ) / 30
4952 lam = np .log (2 ) / 10
5053 Np0 , Nc0 = 10.0 , 0.0
@@ -57,10 +60,11 @@ def test_evaluate_conc():
5760 expected_c = (Nc0 * np .exp (- lam * 1 )
5861 + (lam_p * Np0 / (lam - lam_p ))
5962 * (np .exp (- lam_p * 1 ) - np .exp (- lam * 1 )))
60- assert np .isclose (new_p_conc , expected_p ), ' Parent incorrect'
61- assert np .isclose (new_conc , expected_c ), ' Daughter incorrect'
63+ assert np .isclose (new_p_conc , expected_p ), f' { name } Parent incorrect'
64+ assert np .isclose (new_conc , expected_c ), f' { name } Daughter incorrect'
6265
6366 # Same but equal half-lives
67+ name = 'Pure decay with parent (same hl)'
6468 lam_p = lam = np .log (2 ) / 10
6569 Np0 , Nc0 = 10.0 , 0.0
6670 new_conc , new_p_conc = conc ._evaluate_conc (
@@ -70,10 +74,11 @@ def test_evaluate_conc():
7074 )
7175 expected_p = Np0 * np .exp (- lam_p * 1 )
7276 expected_c = lam_p * Np0 * 1 * np .exp (- lam * 1 )
73- assert np .isclose (new_p_conc , expected_p ), ' Parent incorrect'
74- assert np .isclose (new_conc , expected_c ), ' Daughter incorrect'
77+ assert np .isclose (new_p_conc , expected_p ), f' { name } Parent incorrect'
78+ assert np .isclose (new_conc , expected_c ), f' { name } Daughter incorrect'
7579
7680 # N(dt) = N0 + F*y*dt
81+ name = 'Fission no decay'
7782 lam = 0.0
7883 lam_p = np .log (2 ) / 10
7984 new_conc , new_p_conc = conc ._evaluate_conc (
@@ -82,7 +87,7 @@ def test_evaluate_conc():
8287 y_p = 0.0 , y = 3.0
8388 )
8489 expected = 2.0 * 3.0 * 1
85- assert np .isclose (new_conc , expected )
90+ assert np .isclose (new_conc , expected ), f' { name } '
8691
8792 # Pulse irradiation
8893 lam = np .log (2 ) / 10
@@ -121,6 +126,7 @@ def test_evaluate_conc():
121126def test_evaluate_conc ():
122127 input_path = './tests/unit/input/input.json'
123128 conc = Concentrations (input_path )
129+ conc .conc_method = 'IFY'
124130 times = [0 , 1 , 2 ]
125131 dt = np .diff (times )
126132 cur_conc = 0
@@ -136,4 +142,11 @@ def test_evaluate_conc():
136142 new_conc , new_p_conc = conc ._evaluate_conc (cur_conc , cur_p_conc , lam_p , lam , ti , dt , fission_rates , concs , p_concs , y_p , y )
137143 assert new_p_conc == 0
138144 new_conc_expected = 1 / lam * (1 - np .exp (- lam * 1 ))
139- assert new_conc == new_conc_expected
145+ assert new_conc == new_conc_expected , "Concentrations don't match"
146+
147+ conc .conc_method = 'CFY'
148+ new_conc , new_p_conc = conc ._evaluate_conc (cur_conc , cur_p_conc , lam_p , lam , ti , dt , fission_rates , concs , p_concs , y_p , y )
149+ assert new_p_conc == y_p / lam_p
150+ new_conc_expected = (y_p + y ) / lam
151+ assert new_conc == new_conc_expected , "Concentrations don't match"
152+
0 commit comments