Skip to content

Commit 597de9e

Browse files
committed
Updating python bindings and unit tests
1 parent 4949e15 commit 597de9e

File tree

6 files changed

+212
-4
lines changed

6 files changed

+212
-4
lines changed

python/src/section/8/FissionYieldData.python.cpp

+28
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,34 @@ void wrap_8_FissionYieldData( python::module& module, python::module& viewmodule
127127
{ return self.isomericStates(); },
128128
"The fission product isomeric states"
129129
)
130+
.def_property_readonly(
131+
132+
"FY",
133+
[] ( const Component& self ) -> DoubleRange
134+
{ return self.FY(); },
135+
"The fission yield values"
136+
)
137+
.def_property_readonly(
138+
139+
"fission_yield_values",
140+
[] ( const Component& self ) -> DoubleRange
141+
{ return self.fissionYieldValues(); },
142+
"The fission yield values"
143+
)
144+
.def_property_readonly(
145+
146+
"DFY",
147+
[] ( const Component& self ) -> DoubleRange
148+
{ return self.DFY(); },
149+
"The fission yield uncertainties"
150+
)
151+
.def_property_readonly(
152+
153+
"fission_yield_uncertainties",
154+
[] ( const Component& self ) -> DoubleRange
155+
{ return self.fissionYieldUncertainties(); },
156+
"The fission yield uncertainties"
157+
)
130158
.def_property_readonly(
131159

132160
"Y",

python/test/MF8/Test_ENDFtk_MF8_FissionYieldData.py

+16
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ def verify_chunk( self, chunk ) :
3535
self.assertEqual( 3, len( chunk.fission_product_identifiers ) )
3636
self.assertEqual( 3, len( chunk.FPS ) )
3737
self.assertEqual( 3, len( chunk.isomeric_states ) )
38+
self.assertEqual( 3, len( chunk.FY ) )
39+
self.assertEqual( 3, len( chunk.fission_yield_values ) )
40+
self.assertEqual( 3, len( chunk.DFY ) )
41+
self.assertEqual( 3, len( chunk.fission_yield_uncertainties ) )
3842
self.assertEqual( 3, len( chunk.Y ) )
3943
self.assertEqual( 3, len( chunk.fission_yields ) )
4044
self.assertEqual( 23066, chunk.ZAFP[0] )
@@ -49,6 +53,18 @@ def verify_chunk( self, chunk ) :
4953
self.assertEqual( 0, chunk.isomeric_states[0] )
5054
self.assertEqual( 0, chunk.isomeric_states[1] )
5155
self.assertEqual( 0, chunk.isomeric_states[2] )
56+
self.assertAlmostEqual( 2.05032e-19, chunk.FY[0] )
57+
self.assertAlmostEqual( 7.851250e-4, chunk.FY[1] )
58+
self.assertAlmostEqual( 0, chunk.FY[2] )
59+
self.assertAlmostEqual( 1.31220e-19, chunk.DFY[0] )
60+
self.assertAlmostEqual( 4.710750e-5, chunk.DFY[1] )
61+
self.assertAlmostEqual( 0, chunk.DFY[2] )
62+
self.assertAlmostEqual( 2.05032e-19, chunk.fission_yield_values[0] )
63+
self.assertAlmostEqual( 7.851250e-4, chunk.fission_yield_values[1] )
64+
self.assertAlmostEqual( 0, chunk.fission_yield_values[2] )
65+
self.assertAlmostEqual( 1.31220e-19, chunk.fission_yield_uncertainties[0] )
66+
self.assertAlmostEqual( 4.710750e-5, chunk.fission_yield_uncertainties[1] )
67+
self.assertAlmostEqual( 0, chunk.fission_yield_uncertainties[2] )
5268
self.assertEqual( 2, len( chunk.Y[0] ) )
5369
self.assertEqual( 2, len( chunk.Y[1] ) )
5470
self.assertEqual( 2, len( chunk.Y[2] ) )

python/test/MF8/Test_ENDFtk_MF8_MT454_Section.py

+48
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@ def verify_chunk( self, chunk ) :
7474
self.assertEqual( 3, len( data.isomeric_states ) )
7575
self.assertEqual( 3, len( data.Y ) )
7676
self.assertEqual( 3, len( data.fission_yields ) )
77+
self.assertEqual( 3, len( data.FY ) )
78+
self.assertEqual( 3, len( data.fission_yield_values ) )
79+
self.assertEqual( 3, len( data.DFY ) )
80+
self.assertEqual( 3, len( data.fission_yield_uncertainties ) )
7781
self.assertEqual( 23066, data.ZAFP[0] )
7882
self.assertEqual( 54135, data.ZAFP[1] )
7983
self.assertEqual( 72171, data.ZAFP[2] )
@@ -86,6 +90,18 @@ def verify_chunk( self, chunk ) :
8690
self.assertEqual( 0, data.isomeric_states[0] )
8791
self.assertEqual( 0, data.isomeric_states[1] )
8892
self.assertEqual( 0, data.isomeric_states[2] )
93+
self.assertAlmostEqual( 2.05032e-19, data.FY[0] )
94+
self.assertAlmostEqual( 7.851250e-4, data.FY[1] )
95+
self.assertAlmostEqual( 0, data.FY[2] )
96+
self.assertAlmostEqual( 1.31220e-19, data.DFY[0] )
97+
self.assertAlmostEqual( 4.710750e-5, data.DFY[1] )
98+
self.assertAlmostEqual( 0, data.DFY[2] )
99+
self.assertAlmostEqual( 2.05032e-19, data.fission_yield_values[0] )
100+
self.assertAlmostEqual( 7.851250e-4, data.fission_yield_values[1] )
101+
self.assertAlmostEqual( 0, data.fission_yield_values[2] )
102+
self.assertAlmostEqual( 1.31220e-19, data.fission_yield_uncertainties[0] )
103+
self.assertAlmostEqual( 4.710750e-5, data.fission_yield_uncertainties[1] )
104+
self.assertAlmostEqual( 0, data.fission_yield_uncertainties[2] )
89105
self.assertEqual( 2, len( data.Y[0] ) )
90106
self.assertEqual( 2, len( data.Y[1] ) )
91107
self.assertEqual( 2, len( data.Y[2] ) )
@@ -119,6 +135,10 @@ def verify_chunk( self, chunk ) :
119135
self.assertEqual( 3, len( data.fission_product_identifiers ) )
120136
self.assertEqual( 3, len( data.FPS ) )
121137
self.assertEqual( 3, len( data.isomeric_states ) )
138+
self.assertEqual( 3, len( data.FY ) )
139+
self.assertEqual( 3, len( data.fission_yield_values ) )
140+
self.assertEqual( 3, len( data.DFY ) )
141+
self.assertEqual( 3, len( data.fission_yield_uncertainties ) )
122142
self.assertEqual( 3, len( data.Y ) )
123143
self.assertEqual( 3, len( data.fission_yields ) )
124144
self.assertEqual( 23066, data.ZAFP[0] )
@@ -133,6 +153,18 @@ def verify_chunk( self, chunk ) :
133153
self.assertEqual( 0, data.isomeric_states[0] )
134154
self.assertEqual( 0, data.isomeric_states[1] )
135155
self.assertEqual( 0, data.isomeric_states[2] )
156+
self.assertAlmostEqual( 4.48456e-18, data.FY[0] )
157+
self.assertAlmostEqual( 1.196100e-3, data.FY[1] )
158+
self.assertAlmostEqual( 0, data.FY[2] )
159+
self.assertAlmostEqual( 2.87012e-18, data.DFY[0] )
160+
self.assertAlmostEqual( 2.751030e-4, data.DFY[1] )
161+
self.assertAlmostEqual( 0, data.DFY[2] )
162+
self.assertAlmostEqual( 4.48456e-18, data.fission_yield_values[0] )
163+
self.assertAlmostEqual( 1.196100e-3, data.fission_yield_values[1] )
164+
self.assertAlmostEqual( 0, data.fission_yield_values[2] )
165+
self.assertAlmostEqual( 2.87012e-18, data.fission_yield_uncertainties[0] )
166+
self.assertAlmostEqual( 2.751030e-4, data.fission_yield_uncertainties[1] )
167+
self.assertAlmostEqual( 0, data.fission_yield_uncertainties[2] )
136168
self.assertEqual( 2, len( data.Y[0] ) )
137169
self.assertEqual( 2, len( data.Y[1] ) )
138170
self.assertEqual( 2, len( data.Y[2] ) )
@@ -192,6 +224,10 @@ def verify_chunk_energy_independent( self, chunk ) :
192224
self.assertEqual( 3, len( data.fission_product_identifiers ) )
193225
self.assertEqual( 3, len( data.FPS ) )
194226
self.assertEqual( 3, len( data.isomeric_states ) )
227+
self.assertEqual( 3, len( data.FY ) )
228+
self.assertEqual( 3, len( data.fission_yield_values ) )
229+
self.assertEqual( 3, len( data.DFY ) )
230+
self.assertEqual( 3, len( data.fission_yield_uncertainties ) )
195231
self.assertEqual( 3, len( data.Y ) )
196232
self.assertEqual( 3, len( data.fission_yields ) )
197233
self.assertEqual( 23066, data.ZAFP[0] )
@@ -206,6 +242,18 @@ def verify_chunk_energy_independent( self, chunk ) :
206242
self.assertEqual( 0, data.isomeric_states[0] )
207243
self.assertEqual( 0, data.isomeric_states[1] )
208244
self.assertEqual( 0, data.isomeric_states[2] )
245+
self.assertAlmostEqual( 2.05032e-19, data.FY[0] )
246+
self.assertAlmostEqual( 7.851250e-4, data.FY[1] )
247+
self.assertAlmostEqual( 0, data.FY[2] )
248+
self.assertAlmostEqual( 1.31220e-19, data.DFY[0] )
249+
self.assertAlmostEqual( 4.710750e-5, data.DFY[1] )
250+
self.assertAlmostEqual( 0, data.DFY[2] )
251+
self.assertAlmostEqual( 2.05032e-19, data.fission_yield_values[0] )
252+
self.assertAlmostEqual( 7.851250e-4, data.fission_yield_values[1] )
253+
self.assertAlmostEqual( 0, data.fission_yield_values[2] )
254+
self.assertAlmostEqual( 1.31220e-19, data.fission_yield_uncertainties[0] )
255+
self.assertAlmostEqual( 4.710750e-5, data.fission_yield_uncertainties[1] )
256+
self.assertAlmostEqual( 0, data.fission_yield_uncertainties[2] )
209257
self.assertEqual( 2, len( data.Y[0] ) )
210258
self.assertEqual( 2, len( data.Y[1] ) )
211259
self.assertEqual( 2, len( data.Y[2] ) )

python/test/MF8/Test_ENDFtk_MF8_MT459_Section.py

+48
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@ def verify_chunk( self, chunk ) :
7474
self.assertEqual( 3, len( data.isomeric_states ) )
7575
self.assertEqual( 3, len( data.Y ) )
7676
self.assertEqual( 3, len( data.fission_yields ) )
77+
self.assertEqual( 3, len( data.FY ) )
78+
self.assertEqual( 3, len( data.fission_yield_values ) )
79+
self.assertEqual( 3, len( data.DFY ) )
80+
self.assertEqual( 3, len( data.fission_yield_uncertainties ) )
7781
self.assertEqual( 23066, data.ZAFP[0] )
7882
self.assertEqual( 54135, data.ZAFP[1] )
7983
self.assertEqual( 72171, data.ZAFP[2] )
@@ -86,6 +90,18 @@ def verify_chunk( self, chunk ) :
8690
self.assertEqual( 0, data.isomeric_states[0] )
8791
self.assertEqual( 0, data.isomeric_states[1] )
8892
self.assertEqual( 0, data.isomeric_states[2] )
93+
self.assertAlmostEqual( 2.05032e-19, data.FY[0] )
94+
self.assertAlmostEqual( 7.851250e-4, data.FY[1] )
95+
self.assertAlmostEqual( 0, data.FY[2] )
96+
self.assertAlmostEqual( 1.31220e-19, data.DFY[0] )
97+
self.assertAlmostEqual( 4.710750e-5, data.DFY[1] )
98+
self.assertAlmostEqual( 0, data.DFY[2] )
99+
self.assertAlmostEqual( 2.05032e-19, data.fission_yield_values[0] )
100+
self.assertAlmostEqual( 7.851250e-4, data.fission_yield_values[1] )
101+
self.assertAlmostEqual( 0, data.fission_yield_values[2] )
102+
self.assertAlmostEqual( 1.31220e-19, data.fission_yield_uncertainties[0] )
103+
self.assertAlmostEqual( 4.710750e-5, data.fission_yield_uncertainties[1] )
104+
self.assertAlmostEqual( 0, data.fission_yield_uncertainties[2] )
89105
self.assertEqual( 2, len( data.Y[0] ) )
90106
self.assertEqual( 2, len( data.Y[1] ) )
91107
self.assertEqual( 2, len( data.Y[2] ) )
@@ -119,6 +135,10 @@ def verify_chunk( self, chunk ) :
119135
self.assertEqual( 3, len( data.fission_product_identifiers ) )
120136
self.assertEqual( 3, len( data.FPS ) )
121137
self.assertEqual( 3, len( data.isomeric_states ) )
138+
self.assertEqual( 3, len( data.FY ) )
139+
self.assertEqual( 3, len( data.fission_yield_values ) )
140+
self.assertEqual( 3, len( data.DFY ) )
141+
self.assertEqual( 3, len( data.fission_yield_uncertainties ) )
122142
self.assertEqual( 3, len( data.Y ) )
123143
self.assertEqual( 3, len( data.fission_yields ) )
124144
self.assertEqual( 23066, data.ZAFP[0] )
@@ -133,6 +153,18 @@ def verify_chunk( self, chunk ) :
133153
self.assertEqual( 0, data.isomeric_states[0] )
134154
self.assertEqual( 0, data.isomeric_states[1] )
135155
self.assertEqual( 0, data.isomeric_states[2] )
156+
self.assertAlmostEqual( 4.48456e-18, data.FY[0] )
157+
self.assertAlmostEqual( 1.196100e-3, data.FY[1] )
158+
self.assertAlmostEqual( 0, data.FY[2] )
159+
self.assertAlmostEqual( 2.87012e-18, data.DFY[0] )
160+
self.assertAlmostEqual( 2.751030e-4, data.DFY[1] )
161+
self.assertAlmostEqual( 0, data.DFY[2] )
162+
self.assertAlmostEqual( 4.48456e-18, data.fission_yield_values[0] )
163+
self.assertAlmostEqual( 1.196100e-3, data.fission_yield_values[1] )
164+
self.assertAlmostEqual( 0, data.fission_yield_values[2] )
165+
self.assertAlmostEqual( 2.87012e-18, data.fission_yield_uncertainties[0] )
166+
self.assertAlmostEqual( 2.751030e-4, data.fission_yield_uncertainties[1] )
167+
self.assertAlmostEqual( 0, data.fission_yield_uncertainties[2] )
136168
self.assertEqual( 2, len( data.Y[0] ) )
137169
self.assertEqual( 2, len( data.Y[1] ) )
138170
self.assertEqual( 2, len( data.Y[2] ) )
@@ -191,6 +223,10 @@ def verify_chunk_energy_independent( self, chunk ) :
191223
self.assertEqual( 3, len( data.fission_product_identifiers ) )
192224
self.assertEqual( 3, len( data.FPS ) )
193225
self.assertEqual( 3, len( data.isomeric_states ) )
226+
self.assertEqual( 3, len( data.FY ) )
227+
self.assertEqual( 3, len( data.fission_yield_values ) )
228+
self.assertEqual( 3, len( data.DFY ) )
229+
self.assertEqual( 3, len( data.fission_yield_uncertainties ) )
194230
self.assertEqual( 3, len( data.Y ) )
195231
self.assertEqual( 3, len( data.fission_yields ) )
196232
self.assertEqual( 23066, data.ZAFP[0] )
@@ -205,6 +241,18 @@ def verify_chunk_energy_independent( self, chunk ) :
205241
self.assertEqual( 0, data.isomeric_states[0] )
206242
self.assertEqual( 0, data.isomeric_states[1] )
207243
self.assertEqual( 0, data.isomeric_states[2] )
244+
self.assertAlmostEqual( 2.05032e-19, data.FY[0] )
245+
self.assertAlmostEqual( 7.851250e-4, data.FY[1] )
246+
self.assertAlmostEqual( 0, data.FY[2] )
247+
self.assertAlmostEqual( 1.31220e-19, data.DFY[0] )
248+
self.assertAlmostEqual( 4.710750e-5, data.DFY[1] )
249+
self.assertAlmostEqual( 0, data.DFY[2] )
250+
self.assertAlmostEqual( 2.05032e-19, data.fission_yield_values[0] )
251+
self.assertAlmostEqual( 7.851250e-4, data.fission_yield_values[1] )
252+
self.assertAlmostEqual( 0, data.fission_yield_values[2] )
253+
self.assertAlmostEqual( 1.31220e-19, data.fission_yield_uncertainties[0] )
254+
self.assertAlmostEqual( 4.710750e-5, data.fission_yield_uncertainties[1] )
255+
self.assertAlmostEqual( 0, data.fission_yield_uncertainties[2] )
208256
self.assertEqual( 2, len( data.Y[0] ) )
209257
self.assertEqual( 2, len( data.Y[1] ) )
210258
self.assertEqual( 2, len( data.Y[2] ) )

src/ENDFtk/section/8/454/test/454.test.cpp

+36-2
Original file line numberDiff line numberDiff line change
@@ -600,17 +600,39 @@ void verifyChunkWithEnergyIndependentYields( const section::Type< 8, 454 >& chun
600600
CHECK( 0 == data.fissionProducts()[0].isomericState() );
601601
CHECK( 0 == data.fissionProducts()[1].isomericState() );
602602
CHECK( 0 == data.fissionProducts()[2].isomericState() );
603+
CHECK_THAT( 2.05032e-19, WithinRel( data.fissionProducts()[0].FY() ) );
604+
CHECK_THAT( 7.851250e-4, WithinRel( data.fissionProducts()[1].FY() ) );
605+
CHECK_THAT( 0, WithinRel( data.fissionProducts()[2].FY() ) );
606+
CHECK_THAT( 1.31220e-19, WithinRel( data.fissionProducts()[0].DFY() ) );
607+
CHECK_THAT( 4.710750e-5, WithinRel( data.fissionProducts()[1].DFY() ) );
608+
CHECK_THAT( 0, WithinRel( data.fissionProducts()[2].DFY() ) );
609+
CHECK_THAT( 2.05032e-19, WithinRel( data.fissionProducts()[0].fissionYieldValue() ) );
610+
CHECK_THAT( 7.851250e-4, WithinRel( data.fissionProducts()[1].fissionYieldValue() ) );
611+
CHECK_THAT( 0, WithinRel( data.fissionProducts()[2].fissionYieldValue() ) );
612+
CHECK_THAT( 1.31220e-19, WithinRel( data.fissionProducts()[0].fissionYieldUncertainty() ) );
613+
CHECK_THAT( 4.710750e-5, WithinRel( data.fissionProducts()[1].fissionYieldUncertainty() ) );
614+
CHECK_THAT( 0, WithinRel( data.fissionProducts()[2].fissionYieldUncertainty() ) );
603615
CHECK_THAT( 2.05032e-19, WithinRel( data.fissionProducts()[0].Y()[0] ) );
604-
CHECK_THAT( 1.31220e-19, WithinRel( data.fissionProducts()[0].Y()[1] ) );
605616
CHECK_THAT( 7.851250e-4, WithinRel( data.fissionProducts()[1].Y()[0] ) );
606-
CHECK_THAT( 4.710750e-5, WithinRel( data.fissionProducts()[1].Y()[1] ) );
607617
CHECK_THAT( 0, WithinRel( data.fissionProducts()[2].Y()[0] ) );
618+
CHECK_THAT( 1.31220e-19, WithinRel( data.fissionProducts()[0].Y()[1] ) );
619+
CHECK_THAT( 4.710750e-5, WithinRel( data.fissionProducts()[1].Y()[1] ) );
608620
CHECK_THAT( 0, WithinRel( data.fissionProducts()[2].Y()[1] ) );
621+
CHECK_THAT( 2.05032e-19, WithinRel( data.fissionProducts()[0].fissionYield()[0] ) );
622+
CHECK_THAT( 7.851250e-4, WithinRel( data.fissionProducts()[1].fissionYield()[0] ) );
623+
CHECK_THAT( 0, WithinRel( data.fissionProducts()[2].fissionYield()[0] ) );
624+
CHECK_THAT( 1.31220e-19, WithinRel( data.fissionProducts()[0].fissionYield()[1] ) );
625+
CHECK_THAT( 4.710750e-5, WithinRel( data.fissionProducts()[1].fissionYield()[1] ) );
626+
CHECK_THAT( 0, WithinRel( data.fissionProducts()[2].fissionYield()[1] ) );
609627

610628
CHECK( 3 == data.ZAFP().size() );
611629
CHECK( 3 == data.fissionProductIdentifiers().size() );
612630
CHECK( 3 == data.FPS().size() );
613631
CHECK( 3 == data.isomericStates().size() );
632+
CHECK( 3 == data.FY().size() );
633+
CHECK( 3 == data.fissionYieldValues().size() );
634+
CHECK( 3 == data.DFY().size() );
635+
CHECK( 3 == data.fissionYieldUncertainties().size() );
614636
CHECK( 3 == data.Y().size() );
615637
CHECK( 3 == data.fissionYields().size() );
616638
CHECK( 23066 == data.ZAFP()[0] );
@@ -625,6 +647,18 @@ void verifyChunkWithEnergyIndependentYields( const section::Type< 8, 454 >& chun
625647
CHECK( 0 == data.isomericStates()[0] );
626648
CHECK( 0 == data.isomericStates()[1] );
627649
CHECK( 0 == data.isomericStates()[2] );
650+
CHECK_THAT( 2.05032e-19, WithinRel( data.FY()[0] ) );
651+
CHECK_THAT( 7.851250e-4, WithinRel( data.FY()[1] ) );
652+
CHECK_THAT( 0, WithinRel( data.FY()[2] ) );
653+
CHECK_THAT( 1.31220e-19, WithinRel( data.DFY()[0] ) );
654+
CHECK_THAT( 4.710750e-5, WithinRel( data.DFY()[1] ) );
655+
CHECK_THAT( 0, WithinRel( data.DFY()[2] ) );
656+
CHECK_THAT( 2.05032e-19, WithinRel( data.fissionYieldValues()[0] ) );
657+
CHECK_THAT( 7.851250e-4, WithinRel( data.fissionYieldValues()[1] ) );
658+
CHECK_THAT( 0, WithinRel( data.fissionYieldValues()[2] ) );
659+
CHECK_THAT( 1.31220e-19, WithinRel( data.fissionYieldUncertainties()[0] ) );
660+
CHECK_THAT( 4.710750e-5, WithinRel( data.fissionYieldUncertainties()[1] ) );
661+
CHECK_THAT( 0, WithinRel( data.fissionYieldUncertainties()[2] ) );
628662
CHECK( 2 == data.Y()[0].size() );
629663
CHECK( 2 == data.Y()[1].size() );
630664
CHECK( 2 == data.Y()[2].size() );

0 commit comments

Comments
 (0)