sandy.gendf module
- class sandy.gendf.Gendf(data, file=None)
Bases:
_FormattedFile
Container for gendf information 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
add_section
(mat, mf, mt, text)Given MAT, MF and MT add/replace the corresponding section in the Endf6.data.
delete_section
(mat, mf, mt[, raise_error])Given MAT, MF and MT delete the corresponding section from the Endf6.data.
filter_by
([listmat, listmf, listmt])Filter dataframe based on MAT, MF, MT lists.
from_file
(file)Create dataframe by reading a file.
from_text
(text)Create dataframe from endf6 text in string.
from_url
(filename, rooturl)Given a filename and the url where the file is located, extract the ENDF6 data from the file into a sandy.Endf6 instance.
from_zipurl
(filename, rooturl)Given a filename and the url where the file is located (in zipped format), extract the ENDF6 data from the file into a sandy.Endf6 instance.
get_flux
(**kwargs)The flux of the multigroup approach
get_g_energy_grid
(**kwargs)Obtain photons energy grid.
get_n_energy_grid
(**kwargs)Obtaining neutrons energy grid.
get_xs
(**kwargs)Get multigroup neutron cross sections
merge
(*iterable)Given a single sandy.Endf6 object or an iterable of sandy.Endf6 objects as keyword arguments, add their sections to a copy of the self instance and return a new sandy.Endf6 object.
read_url
(filename, rooturl)Given a filename and the url where the file is located, extract the ENDF6 data from the file into a string.
read_zipurl
(filename, rooturl)Given a filename and the url where the file is located (in zipped format), extract the ENDF6 data from the file into a string.
to_file
(filename[, mode])Given a filename write the content of a _FormattedFile instance to disk in ASCII format.
write_string
([title])Write _FormattedFile.data content to string according to the ENDF-6 file rules.
add_sections
change_value
get_value
to_series
- get_flux(**kwargs)
The flux of the multigroup approach
- Returns:
- fluxpd.Series
Dataframe containing the flux.
Examples
>>> endf6 = sandy.get_endf6_file("jeff_33", "xs", 10010) >>> gendf = endf6.get_gendf(minimal_processing=True, err=1, temperature=293.6, groupr_kws=dict(ek=sandy.energy_grids.CASMO12)) >>> gendf.get_flux() (1e-05, 0.03] 2.99900e-02 (0.03, 0.058] 2.80000e-02 (0.058, 0.14] 8.20000e-02 (0.14, 0.28] 1.40000e-01 (0.28, 0.35] 7.00000e-02 (0.35, 0.625] 2.75000e-01 (0.625, 4.0] 3.37500e+00 (4.0, 48.052] 4.40520e+01 (48.052, 5530.0] 5.48195e+03 (5530.0, 821000.0] 8.15470e+05 (821000.0, 2231000.0] 1.41000e+06 (2231000.0, 10000000.0] 7.76900e+06 Name: iwt, dtype: float64
>>> gendf.get_flux(mat=125, mt=2) (1e-05, 0.03] 2.99900e-02 (0.03, 0.058] 2.80000e-02 (0.058, 0.14] 8.20000e-02 (0.14, 0.28] 1.40000e-01 (0.28, 0.35] 7.00000e-02 (0.35, 0.625] 2.75000e-01 (0.625, 4.0] 3.37500e+00 (4.0, 48.052] 4.40520e+01 (48.052, 5530.0] 5.48195e+03 (5530.0, 821000.0] 8.15470e+05 (821000.0, 2231000.0] 1.41000e+06 (2231000.0, 10000000.0] 7.76900e+06 Name: iwt, dtype: float64
- get_g_energy_grid(**kwargs)
Obtain photons energy grid.
- Returns:
- np.array
The energy grid of the
Gendf()
object.
Examples
>>> endf6 = sandy.get_endf6_file("jeff_33", "xs", 10010) >>> gendf = endf6.get_gendf(groupr_kws=dict(ep=sandy.energy_grids.CASMO12)) >>> np.testing.assert_allclose(gendf.get_g_energy_grid(), sandy.energy_grids.CASMO12, atol=1e-14, rtol=1e-14) >>> np.testing.assert_allclose(gendf.get_g_energy_grid(mat=125), sandy.energy_grids.CASMO12, atol=1e-14, rtol=1e-14)
- get_n_energy_grid(**kwargs)
Obtaining neutrons energy grid.
- Returns:
- np.array
The energy grid of the
Gendf()
object.
Examples
>>> endf6 = sandy.get_endf6_file("jeff_33", "xs", 10010) >>> gendf = endf6.get_gendf(verborse=True) >>> assert len(gendf.get_n_energy_grid()) == 241
>>> endf6 = sandy.get_endf6_file("jeff_33", "xs", 10010) >>> gendf = endf6.get_gendf(groupr_kws=dict(ek=sandy.energy_grids.CASMO12)) >>> np.testing.assert_allclose(gendf.get_n_energy_grid(), sandy.energy_grids.CASMO12, atol=1e-14, rtol=1e-14) >>> np.testing.assert_allclose(gendf.get_n_energy_grid(mat=125), sandy.energy_grids.CASMO12, atol=1e-14, rtol=1e-14)
- get_xs(**kwargs)
Get multigroup neutron cross sections
- Returns:
- xs
Xs()
multigroup cross sections
- xs
Examples
>>> endf6 = sandy.get_endf6_file("jeff_33", "xs", 10010) >>> gendf = endf6.get_gendf(minimal_processing=True, err=0.005, temperature=293.6, groupr_kws=dict(ek=sandy.energy_grids.CASMO12)) >>> gendf.get_xs() MAT 125 MT 1 2 102 251 E (1e-05, 0.03] 4.74500e+01 4.68507e+01 5.99276e-01 6.67348e-01 (0.03, 0.058] 2.66592e+01 2.64039e+01 2.55277e-01 6.67289e-01 (0.058, 0.14] 2.33852e+01 2.32133e+01 1.71860e-01 6.67323e-01 (0.14, 0.28] 2.18356e+01 2.17186e+01 1.17013e-01 6.67259e-01 (0.28, 0.35] 2.13559e+01 2.12616e+01 9.43025e-02 6.67231e-01 (0.35, 0.625] 2.10611e+01 2.09845e+01 7.66054e-02 6.67220e-01 (0.625, 4.0] 2.06169e+01 2.05790e+01 3.79424e-02 6.67215e-01 (4.0, 48.052] 2.04594e+01 2.04475e+01 1.18527e-02 6.67220e-01 (48.052, 5530.0] 2.00729e+01 2.00716e+01 1.28270e-03 6.67237e-01 (5530.0, 821000.0] 8.05819e+00 8.05812e+00 6.41591e-05 6.67120e-01 (821000.0, 2231000.0] 3.48869e+00 3.48866e+00 3.54245e-05 6.66838e-01 (2231000.0, 10000000.0] 1.52409e+00 1.52406e+00 3.44005e-05 6.65044e-01
>>> gendf.get_xs(mt=1) MAT 125 MT 1 E (1e-05, 0.03] 4.74500e+01 (0.03, 0.058] 2.66592e+01 (0.058, 0.14] 2.33852e+01 (0.14, 0.28] 2.18356e+01 (0.28, 0.35] 2.13559e+01 (0.35, 0.625] 2.10611e+01 (0.625, 4.0] 2.06169e+01 (4.0, 48.052] 2.04594e+01 (48.052, 5530.0] 2.00729e+01 (5530.0, 821000.0] 8.05819e+00 (821000.0, 2231000.0] 3.48869e+00 (2231000.0, 10000000.0] 1.52409e+00
>>> gendf.get_xs(mt=[1, 2]) MAT 125 MT 1 2 E (1e-05, 0.03] 4.74500e+01 4.68507e+01 (0.03, 0.058] 2.66592e+01 2.64039e+01 (0.058, 0.14] 2.33852e+01 2.32133e+01 (0.14, 0.28] 2.18356e+01 2.17186e+01 (0.28, 0.35] 2.13559e+01 2.12616e+01 (0.35, 0.625] 2.10611e+01 2.09845e+01 (0.625, 4.0] 2.06169e+01 2.05790e+01 (4.0, 48.052] 2.04594e+01 2.04475e+01 (48.052, 5530.0] 2.00729e+01 2.00716e+01 (5530.0, 821000.0] 8.05819e+00 8.05812e+00 (821000.0, 2231000.0] 3.48869e+00 3.48866e+00 (2231000.0, 10000000.0] 1.52409e+00 1.52406e+00
err=1 or else it takes too long >>> endf6 = sandy.get_endf6_file(‘jeff_33’,’xs’, 922350) >>> gendf = endf6.get_gendf(minimal_processing=True, err=1, groupr_kws=dict(ek=sandy.energy_grids.CASMO12)) >>> gendf.get_xs(mt=[4, 5]) MAT 9228 MT 4 5 E (1e-05, 0.03] 0.00000e+00 0.00000e+00 (0.03, 0.058] 0.00000e+00 0.00000e+00 (0.058, 0.14] 0.00000e+00 0.00000e+00 (0.14, 0.28] 0.00000e+00 0.00000e+00 (0.28, 0.35] 0.00000e+00 0.00000e+00 (0.35, 0.625] 0.00000e+00 0.00000e+00 (0.625, 4.0] 0.00000e+00 0.00000e+00 (4.0, 48.052] 0.00000e+00 0.00000e+00 (48.052, 5530.0] 8.60022e-07 3.41812e-08 (5530.0, 821000.0] 1.22176e+00 7.72174e-04 (821000.0, 2231000.0] 1.94841e+00 1.17248e-02 (2231000.0, 10000000.0] 1.40637e+00 7.49994e-03