armi.reactor.converters.meshConverters module¶
Mesh specifiers update the mesh structure of a reactor by increasing or decreasing the number of mesh coordinates.
-
class
armi.reactor.converters.meshConverters.MeshConverter(cs=None)[source]¶ Bases:
objectBase class for the reactor mesh conversions.
-
class
armi.reactor.converters.meshConverters.RZThetaReactorMeshConverter(cs)[source]¶ Bases:
armi.reactor.converters.meshConverters.MeshConverterHandles mesh conversions for r-z-theta reactor geometries.
-
converterSettings¶ This is a dictionary of settings that are used for the RZThetaReactorMeshConverter. Required converter settings: uniformThetaMesh, thetaBins
- Type
dict
See also
RZThetaReactorMeshConverterByRingCompositionAxialBins,RZThetaReactorMeshConverterByRingCompositionAxialCoordinates-
-
class
armi.reactor.converters.meshConverters.RZThetaReactorMeshConverterByRingCompositionAxialBins(cs)[source]¶ Bases:
armi.reactor.converters.meshConverters._RZThetaReactorMeshConverterByRingComposition,armi.reactor.converters.meshConverters._RZThetaReactorMeshConverterByAxialBinsGenerate a new mesh based on the radial compositions and axial bins in the core.
See also
_RZThetaReactorMeshConverterByRingComposition,_RZThetaReactorMeshConverterByAxialBins
-
class
armi.reactor.converters.meshConverters.RZThetaReactorMeshConverterByRingCompositionAxialCoordinates(cs)[source]¶ Bases:
armi.reactor.converters.meshConverters._RZThetaReactorMeshConverterByRingComposition,armi.reactor.converters.meshConverters._RZThetaReactorMeshConverterByAxialCoordinatesGenerate a new mesh based on the radial compositions and axial coordinates in the core.
See also
_RZThetaReactorMeshConverterByRingComposition,_RZThetaReactorMeshConverterByAxialCoordinates
-
armi.reactor.converters.meshConverters.checkLastValueInList(inputList, listName, expectedValue, eps=0.001, adjustLastValue=False)[source]¶ Check that the last value in the list is equal to the expected value within +/- eps
-
armi.reactor.converters.meshConverters.checkListBounds(inputList, listName, minVal, maxVal, eps=0.001)[source]¶ Ensure that each value in a list does not exceed the allowable bounds
-
armi.reactor.converters.meshConverters.generateBins(totalNumDataPoints, numPerBin, minNum)[source]¶ Fill in a list based on the total number of data points and the number of data points per bin
-
class
armi.reactor.converters.meshConverters.AxialExpansionModifier(percent, fuelLockedToClad=False, cs=None)[source]¶ Bases:
armi.reactor.converters.meshConverters.MeshConverterAxially expand or contract a reactor.
Useful for fuel performance, thermal expansion, reactivity coefficients, etc.
Build an axial expansion converter.
- Parameters
percent (float) – the desired axial expansion in percent. If negative, use special treatment of down-expanding
fuelLockedToClad (bool) – Specify whether or not to conserve mass on structure due to the fuel being locked to the clad. Note: this should generally be set to False even if the fuel is locked to the clad because the duct will not be axially expanding.
-
convert(r=None, converterSettings=None)[source]¶ Perform an axial expansion of the core.
Notes
This loops through the fuel blocks, making their height larger by a fraction of maxPercent. It reduces the homogenized actinide number densities to conserve atoms.
This is a first approximation, adjusting the whole core uniformly and adjusting fuel with structure and everything.
When fuel is locked to clad, this only expands the actinides! So the structural materials and sodium stay as they are in terms of density. By growing the mesh, we are introducing NEW ATOMS of these guys, thus violating conservation of atoms. However, the new ones are effectively piled up on top of the reactor where they are neutronically uninteresting. This approximates fuel movement without clad/duct movement.