sandy.errorr module
- class sandy.errorr.Errorr(data, file=None)
Bases:
_FormattedFile
Container for ERRORR file text grouped by MAT, MF and MT numbers.
- Attributes:
- data
- is_empty
keys
List of keys (MAT, MF, MT) used to identify each tape section.
kind
Kind of ENDF-6 formatted file (‘endf6’, ‘pendf’, ‘gendf’, ‘errorr’) .
- mat
- mf
- mt
Methods
get_cov
()Extract cross section/nubar covariance from Errorr instance. Returns ------- data : sandy CategoryCov xs/nubar covariance matrix for all cross section/nubar MAT/MT in ERRORR file. Examples -------- >>> e6 = sandy.get_endf6_file("jeff_33", "xs", 10010) >>> err = e6.get_errorr(errorr_kws=dict(ek=[1e-2, 1e1, 2e7]), err=1, temperature=0.1)['errorr33'] >>> datamg = err.get_cov().data >>> datamg MAT 125 MT 1 2 102 E (0.01, 10.0] (10.0, 20000000.0] (0.01, 10.0] (10.0, 20000000.0] (0.01, 10.0] (10.0, 20000000.0] MAT MT E 125 1 (0.01, 10.0] 8.74835e-06 4.62555e-05 8.76099e-06 4.62566e-05 1.07148e-06 5.59219e-07 (10.0, 20000000.0] 4.62555e-05 2.47644e-04 4.63317e-05 2.47649e-04 7.58743e-09 1.49541e-06 2 (0.01, 10.0] 8.76099e-06 4.63317e-05 8.77542e-06 4.63327e-05 0.00000e+00 0.00000e+00 (10.0, 20000000.0] 4.62566e-05 2.47649e-04 4.63327e-05 2.47655e-04 0.00000e+00 0.00000e+00 102 (0.01, 10.0] 1.07148e-06 7.58743e-09 0.00000e+00 0.00000e+00 6.51764e-04 3.40163e-04 (10.0, 20000000.0] 5.59219e-07 1.49541e-06 0.00000e+00 0.00000e+00 3.40163e-04 6.70430e-02.
get_energy_grid
(**kwargs)Extract breaks of multi-group energy grid from ERRORR
get_xs
(**kwargs)Extract multigroup xs values.
- get_cov()
Extract cross section/nubar covariance from Errorr instance. Returns ——- data : sandy CategoryCov
xs/nubar covariance matrix for all cross section/nubar MAT/MT in ERRORR file.
Examples
>>> e6 = sandy.get_endf6_file("jeff_33", "xs", 10010) >>> err = e6.get_errorr(errorr_kws=dict(ek=[1e-2, 1e1, 2e7]), err=1, temperature=0.1)['errorr33'] >>> datamg = err.get_cov().data >>> datamg MAT 125 MT 1 2 102 E (0.01, 10.0] (10.0, 20000000.0] (0.01, 10.0] (10.0, 20000000.0] (0.01, 10.0] (10.0, 20000000.0] MAT MT E 125 1 (0.01, 10.0] 8.74835e-06 4.62555e-05 8.76099e-06 4.62566e-05 1.07148e-06 5.59219e-07 (10.0, 20000000.0] 4.62555e-05 2.47644e-04 4.63317e-05 2.47649e-04 7.58743e-09 1.49541e-06 2 (0.01, 10.0] 8.76099e-06 4.63317e-05 8.77542e-06 4.63327e-05 0.00000e+00 0.00000e+00 (10.0, 20000000.0] 4.62566e-05 2.47649e-04 4.63327e-05 2.47655e-04 0.00000e+00 0.00000e+00 102 (0.01, 10.0] 1.07148e-06 7.58743e-09 0.00000e+00 0.00000e+00 6.51764e-04 3.40163e-04 (10.0, 20000000.0] 5.59219e-07 1.49541e-06 0.00000e+00 0.00000e+00 3.40163e-04 6.70430e-02
This example shows the cross correlation among two MT taken from a cross section covariance matrix (MF=33) with 3 energy groups at high energy. There is no correlation in the last two groups. >>> tape = sandy.get_endf6_file(“jeff_33”, “xs”, 641530) >>> out = tape.get_errorr(err=1, errorr33_kws=dict(irespr=0, mt=[1, 51, 52],ek=[1e7,2e7,2.4e7, 2.8e7])) >>> cov = out[“errorr33”].get_cov().data >>> cov.loc[(6428,1)][(6428,51)] E (10000000.0, 20000000.0] (20000000.0, 24000000.0] (24000000.0, 28000000.0] E (10000000.0, 20000000.0] 8.66651e-03 0.00000e+00 0.00000e+00 (20000000.0, 24000000.0] 6.81128e-02 0.00000e+00 0.00000e+00 (24000000.0, 28000000.0] 7.52293e-02 0.00000e+00 0.00000e+00
- get_energy_grid(**kwargs)
Extract breaks of multi-group energy grid from ERRORR output file.
- Parameters:
- matint, optional
MAT number. The default is None.
- Returns:
- np.array
The energy grid of the sandy.Errorr object.
Examples
>>> e6 = sandy.get_endf6_file("jeff_33", "xs", 10010) >>> ek = sandy.energy_grids.CASMO12 >>> err = e6.get_errorr(errorr_kws=dict(ek=ek), err=1)['errorr33'] >>> np.testing.assert_allclose(err.get_energy_grid(), ek, atol=1e-14, rtol=1e-14) >>> np.testing.assert_allclose(err.get_energy_grid(mat=125), ek, atol=1e-14, rtol=1e-14)
- get_xs(**kwargs)
Extract multigroup xs values.
- Returns:
- xspd.Series
For a given mat and mt, the xs values in the energy grid.
Examples
>>> e6 = sandy.get_endf6_file("jeff_33", "xs", 10010) >>> ek = sandy.energy_grids.CASMO12 >>> err = e6.get_errorr(err=1, errorr_kws=dict(ek=ek))['errorr33'] >>> err.get_xs() MAT 125 MT 1 2 102 E (1e-05, 0.03] 2.10540e+01 2.04363e+01 6.17622e-01 (0.03, 0.058] 2.06986e+01 2.04363e+01 2.62307e-01 (0.058, 0.14] 2.06134e+01 2.04363e+01 1.77108e-01 (0.14, 0.28] 2.05574e+01 2.04363e+01 1.21068e-01 (0.28, 0.35] 2.05377e+01 2.04363e+01 1.01449e-01 (0.35, 0.625] 2.05156e+01 2.04363e+01 7.93598e-02 (0.625, 4.0] 2.04756e+01 2.04360e+01 3.95521e-02 (4.0, 48.052] 2.04452e+01 2.04328e+01 1.23376e-02 (48.052, 5530.0] 2.00727e+01 2.00714e+01 1.31829e-03 (5530.0, 821000.0] 8.05810e+00 8.05804e+00 6.41679e-05 (821000.0, 2231000.0] 3.48867e+00 3.48863e+00 3.54246e-05 (2231000.0, 10000000.0] 1.52409e+00 1.52406e+00 3.44005e-05
>>> err.get_xs(mt=[1, 2]) MAT 125 MT 1 2 E (1e-05, 0.03] 2.10540e+01 2.04363e+01 (0.03, 0.058] 2.06986e+01 2.04363e+01 (0.058, 0.14] 2.06134e+01 2.04363e+01 (0.14, 0.28] 2.05574e+01 2.04363e+01 (0.28, 0.35] 2.05377e+01 2.04363e+01 (0.35, 0.625] 2.05156e+01 2.04363e+01 (0.625, 4.0] 2.04756e+01 2.04360e+01 (4.0, 48.052] 2.04452e+01 2.04328e+01 (48.052, 5530.0] 2.00727e+01 2.00714e+01 (5530.0, 821000.0] 8.05810e+00 8.05804e+00 (821000.0, 2231000.0] 3.48867e+00 3.48863e+00 (2231000.0, 10000000.0] 1.52409e+00 1.52406e+00
>>> err.get_xs(mt=1) MAT 125 MT 1 E (1e-05, 0.03] 2.10540e+01 (0.03, 0.058] 2.06986e+01 (0.058, 0.14] 2.06134e+01 (0.14, 0.28] 2.05574e+01 (0.28, 0.35] 2.05377e+01 (0.35, 0.625] 2.05156e+01 (0.625, 4.0] 2.04756e+01 (4.0, 48.052] 2.04452e+01 (48.052, 5530.0] 2.00727e+01 (5530.0, 821000.0] 8.05810e+00 (821000.0, 2231000.0] 3.48867e+00 (2231000.0, 10000000.0] 1.52409e+00