armi.utils.densityTools module¶
-
armi.utils.densityTools.getNDensFromMasses(rho, massFracs, normalize=False)[source]¶ Convert density (g/cc) and massFracs vector into a number densities vector (#/bn-cm).
- Parameters
rho (float) – density in (g/cc)
massFracs (dict) – vector of mass fractions – normalized to 1 – keyed by their nuclide name
- Returns
numberDensities – vector of number densities (#/bn-cm) keyed by their nuclide name
- Return type
dict
-
armi.utils.densityTools.getMassFractions(numberDensities)[source]¶ Convert number densities (#/bn-cm) into mass fractions.
- Parameters
numberDensities (dict) – number densities (#/bn-cm) keyed by their nuclide name
- Returns
massFracs – mass fractions – normalized to 1 – keyed by their nuclide name
- Return type
dict
-
armi.utils.densityTools.calculateMassDensity(numberDensities)[source]¶ Calculates the mass density.
- Parameters
numberDensities (dict) – vector of number densities (atom/bn-cm) indexed by nuclides names
- Returns
rho – density in (g/cc)
- Return type
float
-
armi.utils.densityTools.calculateNumberDensity(nucName, mass, volume)[source]¶ Calculates the number density.
- Parameters
mass (float) –
volume (volume) –
nucName (armi nuclide name -- e.g. 'U235') –
- Returns
number density – number density (#/bn-cm)
- Return type
float
See also
-
armi.utils.densityTools.getMassInGrams(nucName, volume, numberDensity=None)[source]¶ Gets mass of a nuclide of a known volume and know number density.
- Parameters
nucName (str) – name of nuclide – e.g. ‘U235’
volume (float) – volume in (cm3)
numberDensity (float) – number density in (at/bn-cm)
- Returns
mass – mass of nuclide (g)
- Return type
float
-
armi.utils.densityTools.formatMaterialCard(densities, matNum=0, minDens=1e-15, sigFigs=8, mcnp6Compatible=False, mcnpLibrary=None)[source]¶ Formats nuclides and densities into a MCNP material card.
- Parameters
densities (dict) – number densities indexed by nuclideBase
matNum (int) – mcnp material number
minDens (float) – minimum density
sigFigs (int) – significant figures for the material card
- Returns
mCard – list of material card strings
- Return type
list
-
armi.utils.densityTools.filterNuclideList(nuclideVector, nuclides)[source]¶ Filter out nuclides not in the nuclide vector.
- Parameters
nuclideVector (dict) – dictionary of values indexed by nuclide identifiers – e.g. nucNames or nuclideBases
nuclides (list) – list of nuclide identifiers
- Returns
nuclideVector – dictionary of values indexed by nuclide identifiers – e.g. nucNames or nuclideBases
- Return type
dict
-
armi.utils.densityTools.normalizeNuclideList(nuclideVector, normalization=1.0)[source]¶ normalize the nuclide vector.
- Parameters
nuclideVector (dict) – dictionary of values – e.g. floats, ints – indexed by nuclide identifiers – e.g. nucNames or nuclideBases
normalization (float) –
- Returns
nuclideVector – dictionary of values indexed by nuclide identifiers – e.g. nucNames or nuclideBases
- Return type
dict
-
armi.utils.densityTools.expandElementalMassFracsToNuclides(massFracs, elements)[source]¶ Expand elemental mass fractions to natural nuclides.
Modifies the input
massFracsto contain nuclides.Notes
This indirectly updates number densities through mass fractions.
- Parameters
massFracs (dict(str, float)) – dictionary of nuclide or element names with mass fractions. Elements will be expanded using natural isotopics.
elements (iterable of Elements) – element objects to expand (from nuclidBase.element).
-
armi.utils.densityTools.expandElementalNuclideMassFracs(element, massFrac)[source]¶ Return a dictionary of nuclide names to natural mass fractions.
-
armi.utils.densityTools.getChemicals(nuclideInventory)[source]¶ Groups the inventories of nuclides by their elements.
- Parameters
nuclideInventory (dict) – nuclide inventories indexed by nuc – either nucNames or nuclideBases
- Returns
chemicals – inventory of elements indexed by element symbol – e.g. ‘U’ or ‘PU’
- Return type
dict