Skip to content

Commit 63ccd6f

Browse files
committed
Add tests for all the AME 2020 files and fix errors
1 parent e43342d commit 63ccd6f

6 files changed

+68
-7
lines changed

pynch/ame_mass_file.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def __init__(self, year: int):
3434
self.END_A = 19
3535
self.START_Z = 11
3636
self.END_Z = 14
37-
self.START_ME = 30
37+
self.START_ME = 29
3838
self.END_ME = 41
3939
self.START_DME = 43
4040
self.END_DME = 53
@@ -47,6 +47,6 @@ def __init__(self, year: int):
4747
self.START_DBETA_DECAY_ENERGY = 95
4848
self.END_DBETA_DECAY_ENERGY = 104
4949
self.START_MICRO_U = 110
50-
self.END_MICRO_U = 111
50+
self.END_MICRO_U = 120
5151
self.START_MICRO_DU = 124
5252
self.END_MICRO_DU = 135

pynch/ame_reaction_1_file.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ def __init__(self, year: int):
4747
self.START_DS2N = 25
4848
self.END_DS2N = 34
4949
self.START_S2P = 36
50-
self.END_S2P = 45
50+
self.END_S2P = 46
5151
self.START_DS2P = 47
52-
self.END_DS2P = 55
52+
self.END_DS2P = 56
5353
self.START_QA = 58
5454
self.END_QA = 68
5555
self.START_DQA = 69

pynch/ame_reaction_2_file.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,10 @@ def __init__(self, year: int):
4747
self.START_DSN = 25
4848
self.END_DSN = 34
4949
self.START_SP = 36
50-
self.END_SP = 45
50+
self.END_SP = 46
5151
self.START_DSP = 47
52-
self.END_DSP = 55
53-
self.START_Q4B = 58
52+
self.END_DSP = 56
53+
self.START_Q4B = 57
5454
self.END_Q4B = 68
5555
self.START_DQ4B = 69
5656
self.END_DQ4B = 78

tests/test_ame_mass_parse.py

+17
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,20 @@ def test_read_line():
1818
assert d['BetaDecayEnergyError'] == 523.438
1919
assert d['AtomicMass'] == 950947.244
2020
assert d['AtomicMassError'] == 446.132
21+
22+
parser = AMEMassParser(".", 2020)
23+
24+
line = " 15 41 26 67 Fe x -45708.416 3.819 8449.9359 0.0570 B- 9613.3678 7.4900 66 950930.000 4.100"
25+
d = parser._read_line(line)
26+
27+
assert d['A'] == 67
28+
assert d['Z'] == 26
29+
assert d['N'] == 41
30+
assert d['AMEMassExcess'] == -45708.416
31+
assert d['AMEMassExcessError'] == 3.819
32+
assert d['BindingEnergyPerA'] == 8449.9359
33+
assert d['BindingEnergyPerAError'] == 0.0570
34+
assert d['BetaDecayEnergy'] == 9613.3678
35+
assert d['BetaDecayEnergyError'] == 7.4900
36+
assert d['AtomicMass'] == 950930.00
37+
assert d['AtomicMassError'] == 4.100

tests/test_ame_reaction_1_parse.py

+22
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,25 @@ def test_read_line():
2323
assert d['QEpsilonError'] == 16.57
2424
assert d['QBetaNeutron'] == -10561.10
2525
assert d['QBetaNeutronError'] == 44.19
26+
27+
parser = AMEReactionParserOne(".", 2020)
28+
29+
line = " 186 Ir 77 15704.1312 32.4655 9530.4731 17.0698 3848.8777 103.3133 -7457.4943 26.6968 -2642.2739 16.5459 -10555.5245 30.6658"
30+
31+
d = parser._read_line(line)
32+
33+
assert d['A'] == 186
34+
assert d['Z'] == 77
35+
assert d['N'] == 109
36+
assert d['TwoNeutronSeparationEnergy'] == 15704.1312
37+
assert d['TwoNeutronSeparationEnergyError'] == 32.4655
38+
assert d['TwoProtonSeparationEnergy'] == 9530.4731
39+
assert d['TwoProtonSeparationEnergyError'] == 17.0698
40+
assert d['QAlpha'] == 3848.8777
41+
assert d['QAlphaError'] == 103.3133
42+
assert d['QTwoBeta'] == -7457.4943
43+
assert d['QTwoBetaError'] == 26.6968
44+
assert d['QEpsilon'] == -2642.2739
45+
assert d['QEpsilonError'] == 16.5459
46+
assert d['QBetaNeutron'] == -10555.5245
47+
assert d['QBetaNeutronError'] == 30.6658

tests/test_ame_reaction_2_parse.py

+22
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,25 @@ def test_read_line():
2323
assert d['QProtonAlphaError'] == 1.16
2424
assert d['QNeutronAlpha'] == 7701.54
2525
assert d['QNeutronAlphaErrror'] == 3.34
26+
27+
parser = AMEReactionParserTwo(".", 2020)
28+
29+
line = " 204 Tl 81 6656.0787 0.2907 6365.8379 1.2542 -12470.8182 22.6974 13710.0469 1.0612 8180.5147 1.0721 7701.0380 3.3084"
30+
31+
d = parser._read_line(line)
32+
33+
assert d['A'] == 204
34+
assert d['Z'] == 81
35+
assert d['N'] == 123
36+
assert d['OneNeutronSeparationEnergy'] == 6656.0787
37+
assert d['OneNeutronSeparationEnergyError'] == 0.2907
38+
assert d['OneProtonSeparationEnergy'] == 6365.8379
39+
assert d['OneProtonSeparationEnergyError'] == 1.2542
40+
assert d['QFourBeta'] == -12470.8182
41+
assert d['QFourBetaError'] == 22.6974
42+
assert d['QDeuteronAlpha'] == 13710.0469
43+
assert d['QDeuteronAlphaError'] == 1.0612
44+
assert d['QProtonAlpha'] == 8180.5147
45+
assert d['QProtonAlphaError'] == 1.0721
46+
assert d['QNeutronAlpha'] == 7701.0380
47+
assert d['QNeutronAlphaErrror'] == 3.3084

0 commit comments

Comments
 (0)