armi.physics.neutronics.isotopicDepletion.crossSectionTable module
Module containing the CrossSectionTable class.
The CrossSectionTable is useful for performing isotopic depletion analysis by storing one-group cross sections of interest to such an analysis. This used to live alongside the isotopicDepletionInterface, but that proved to be an unpleasant coupling between the ARMI composite model and the physics code contained therein. Separating it out at least means that the composite model doesn’t need to import the isotopicDepletionInterface to function.
- class armi.physics.neutronics.isotopicDepletion.crossSectionTable.CrossSectionTable(*args, **kwargs)[source]
Bases:
OrderedDict
This is a set of one group cross sections for use with isotopicDepletion analysis.
Really it’s a reaction rate table.
XStable is indexed by nucNames (nG), (nF), (n2n), (nA), (nP) and (n3n) are expected the cross sections are returned in barns
- rateTypes = ('nG', 'nF', 'n2n', 'nA', 'nP', 'n3n')
- add(nucName, nG=0.0, nF=0.0, n2n=0.0, nA=0.0, nP=0.0, n3n=0.0)[source]
Add one group cross sections to the table.
- Parameters:
str (nucName -) – nuclide name – e.g. ‘U235’
float (n3n -) – (n,gamma) cross section in barns
float – (n,fission) cross section in barns
float – (n,2n) cross section in barns
float – (n,alpha) cross section in barns
float – (n,proton) cross section in barns
float – (n,3n) cross section in barns
- addMultiGroupXS(nucName, microMultiGroupXS, mgFlux, totalFlux=None)[source]
Perform group collapse to one group cross sections and add to table.
- Parameters:
str (nucName -) – nuclide name – e.g. ‘U235’
XSCollection (microMultiGroupXS -) – micro cross sections, typically a XSCollection from an ISOTXS
like (mgFlux - list) – The flux in each energy group
float (totalFlux -) – The total flux. Optional argument for increased speed if already available.
- getXsecTable(headerFormat='$ xsecs for {}', tableFormat='\n{{mcnpId}} {nG:.5e} {nF:.5e} {n2n:.5e} {n3n:.5e} {nA:.5e} {nP:.5e}')[source]
make a cross section table for external depletion physics code input decks.
- Parameters:
headerFormat (string (optional)) – this is the format in which the elements of the header with be returned – i.e. if you use a .format() call with the case name you’ll return a formatted list of string elements
tableFormat (string (optional)) – this is the format in which the elements of the table with be returned – i.e. if you use a .format() call with mcnpId, nG, nF, n2n, n3n, nA, and nP you’ll get the format you want. If you use a .format() call with the case name you’ll return a formatted list of string elements
Results –
------- –
output (list) – a list of string elements that together make a xsec card
- armi.physics.neutronics.isotopicDepletion.crossSectionTable.makeReactionRateTable(obj, nuclides: Optional[List] = None)[source]
Generate a reaction rate table for given nuclides.
Often useful in support of depletion.
- Parameters:
nuclides (list, optional) – list of nuclide names for which to generate the cross-section table. If absent, use all nuclides obtained by self.getNuclides().
Notes
This also used to do some caching on the block level but that has been removed and the calls to this may therefore need to be re-optimized.
See also
armi.physics.neutronics.isotopicDepletion.isotopicDepletionInterface.CrossSectionTable