Library¶
- class curie.Library(name)[source]¶
Library of nuclear reaction data
Provides a means of searching and retrieving data from various nuclear reaction libraries. The currently available libraries are ENDF/B-VII.1, TENDL-2015, IRDFF-II, and the IAEA Medical Monitor reaction library. For neutrons, the libraries are categorized by either the exlusive reaction, as in ENDF, TENDL, and partially IRDFF, or by the residual product (rp), in TENDL and partially IRDFF. For charged particles, all libraries (TENDL, IAEA) are categorized by the residual product. As such, TENDL is split into separate libraries based on incident particle, and by exclusive reaction type or residual product.
- Parameters:
- namestr
The name of the library. For exclusive neutron reactions, use ‘endf’, ‘tendl’, or ‘irdff’. For residual product neutron reactions, use ‘tendl_n’ or ‘irdff’. Use ‘tendl_p’ for proton reactions, ‘tendl_d’ for deuteron reactions, or ‘iaea’ for either.
Examples
>>> lb = ci.Library('tendl_n') >>> print(lb.name) TENDL-2015 >>> lb = ci.Library('endf') >>> print(lb.name) ENDF/B-VII.1
Methods
retrieve
([target, incident, outgoing, product])Pull reaction data from the library
search
([target, incident, outgoing, ...])Searches the library for reactions
- retrieve(target=None, incident=None, outgoing=None, product=None)[source]¶
Pull reaction data from the library
Returns a numpy ndarray containing the reaction energy grid (in MeV), the cross section (in mb), and for IRDFF and IAEA, the uncertainty in the cross section (mb). The arguments are the same as for Library.search().
- Parameters:
- targetstr, optional
The target nucleus. Some libraries support natural elements, e.g. ‘natEl’.
- incidentstr, optional
Incident particle. Must be one of ‘n’, ‘p’ or ‘d’. Only needed for IAEA library with multiple incident projectiles optional.
- outgoingstr, optional
Outgoing particle, or reaction shorthand. E.g. ‘2n’, ‘d’, ‘f’, ‘inl’, ‘x’. Does not need to be specified for TENDL residual product libraries.
- productstr, optional
The product isotope. Not required for some exclusive reactions, e.g. ‘115IN(n,g)116IN’ is the same as ‘115IN(n,g)’, but not the same as ‘115IN(n,g)116INm1’.
- Returns:
- reactionnp.ndarray
Numpy ndarray containing the reaction data. Energy is in MeV, cross section is in mb. The first column is energy, the second column is cross section, and if the library provides uncertainties in cross section this will be in the third column.
Examples
>>> lb = ci.Library('endf') >>> print(lb.retrieve(target='226RA', product='225RA')[-8:]) [[18.5 11.97908 ] [18.75 10.30011 ] [19. 8.62115 ] [19.25 6.942188] [19.5 5.263225] [19.75 3.584263] [19.875 2.744781] [20. 1.9053 ]]
- search(target=None, incident=None, outgoing=None, product=None, _label=False)[source]¶
Searches the library for reactions
Returns a list of reactions that match the specified target, incident or outgoing projectile, or product. Any combination of arguments can be specified, but at least one must be specified. Note that if the library is a TENDL residual-product library, outgoing does not need to be specified.
- Parameters:
- targetstr, optional
The target nucleus. Some libraries support natural elements, e.g. ‘natEl’.
- incidentstr, optional
Incident particle. Must be one of ‘n’, ‘p’ or ‘d’. Only needed for IAEA library with multiple incident projectiles optional.
- outgoingstr, optional
Outgoing particle, or reaction shorthand. E.g. ‘2n’, ‘d’, ‘f’, ‘inl’, ‘x’. Does not need to be specified for TENDL residual product libraries.
- productstr, optional
The product isotope. Not required for some exclusive reactions, e.g. ‘115IN(n,g)116IN’ is the same as ‘115IN(n,g)’, but not the same as ‘115IN(n,g)116INm1’.
- Returns:
- available_reactionslist of str (reaction names)
Reactions that were found in the libary matching the search criteria.
Examples
>>> lb = ci.Library('tendl_p') >>> print(lb.search(target='Sr-86', product='Y-86g')) ['86SR(p,x)86Yg'] >>> lb = ci.Library('endf') >>> print(lb.search(target='226RA', product='225RA')) ['226RA(n,2n)225RA']