armi.reactor.grids.thetarz module
- class armi.reactor.grids.thetarz.ThetaRZGrid(unitSteps=(0, 0, 0), bounds=(None, None, None), unitStepLimits=((0, 1), (0, 1), (0, 1)), offset=None, geomType='', symmetry='', armiObject=None)[source]
Bases:
StructuredGrid
A grid characterized by azimuthal, radial, and zeta indices.
The angular meshes are limited to 0 to 2pi radians. R and Zeta are as in other meshes.
It is recommended to call
fromGeom()
to construct, rather than directly constructing with__init__
See Figure 2.2 in Derstine 1984, ANL. [DIF3D].
- classmethod fromGeom(geom, armiObject: Optional[ArmiObject] = None) ThetaRZGrid [source]
Build 2-D R-theta grid based on a Geometry object.
- Parameters:
geomInfo (list) – list of ((indices), assemName) tuples for all positions in core with input in radians
See also
armi.reactor.systemLayoutInput.SystemLayoutInput.readGeomXML
produces the geomInfo
structure
Examples
>>> grid = grids.ThetaRZGrid.fromGeom(geomInfo)
- indicesOfBounds(rad0: float, rad1: float, theta0: float, theta1: float, sigma: float = 0.0001) Tuple[int, int, int] [source]
Return indices corresponding to upper and lower radial and theta bounds.
- Parameters:
rad0 (float) – inner radius of control volume
rad1 (float) – outer radius of control volume
theta0 (float) – inner azimuthal location of control volume in radians
theta1 (float) – inner azimuthal of control volume in radians
sigma (float) – acceptable relative error (i.e. if one of the positions in the mesh are within this error it’ll act the same if it matches a position in the mesh)
- Returns:
tuple
- Return type:
i, j, k of given bounds