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