armi.reactor.components.basicShapes module

Components represented by basic shapes.

Many reactor components can be described in 2D by circles, hexagons, rectangles, etc. These are defined in this subpackage.

Implementation: ARMI supports a reasonable set of basic shapes. IMPL_REACTOR_SHAPES_0 ../_images/arrow-right-circle.svg
links outgoing: REQ_REACTOR_SHAPES

Here ARMI implements its support for: Circles, Hexagons, Rectangles, Solid Rectangles, Squares, and Triangles.

class armi.reactor.components.basicShapes.Circle(name, material, Tinput, Thot, od, id=0.0, mult=1.0, modArea=None, isotopics=None, mergeWith=None, components=None)[source]

Bases: ShapedComponent

A Circle.

is3D = False
THERMAL_EXPANSION_DIMS = {'id', 'od'}
pDefs = <armi.reactor.parameters.parameterDefinitions.ParameterDefinitionCollection object>
getBoundingCircleOuterDiameter(Tc=None, cold=False)[source]
getCircleInnerDiameter(Tc=None, cold=False)[source]
getComponentArea(cold=False)[source]

Computes the area for the circle component in cm^2.

isEncapsulatedBy(other)[source]

Return True if this ring lies completely inside the argument component.

DIMENSION_NAMES = ('od', 'id', 'mult', 'modArea')
INIT_SIGNATURE = ('name', 'material', 'Tinput', 'Thot', 'od', 'id', 'mult', 'modArea', 'isotopics', 'mergeWith', 'components')
paramCollectionType

alias of CircleParameterCollection

class armi.reactor.components.basicShapes.Hexagon(name, material, Tinput, Thot, op, ip=0.0, mult=1.0, modArea=None, isotopics=None, mergeWith=None, components=None)[source]

Bases: ShapedComponent

A Hexagon.

is3D = False
THERMAL_EXPANSION_DIMS = {'ip', 'op'}
pDefs = <armi.reactor.parameters.parameterDefinitions.ParameterDefinitionCollection object>
getBoundingCircleOuterDiameter(Tc=None, cold=False)[source]
getCircleInnerDiameter(Tc=None, cold=False)[source]
getComponentArea(cold=False)[source]

Computes the area for the hexagon component in cm^2.

getPerimeter(Tc=None)[source]

Computes the perimeter of the hexagon component in cm.

getPitchData()[source]

Return the pitch data that should be used to determine block pitch.

Notes

This pitch data should only be used if this is the pitch defining component in a block. The block is responsible for determining which component in it is the pitch defining component.

DIMENSION_NAMES = ('op', 'ip', 'mult', 'modArea')
INIT_SIGNATURE = ('name', 'material', 'Tinput', 'Thot', 'op', 'ip', 'mult', 'modArea', 'isotopics', 'mergeWith', 'components')
paramCollectionType

alias of HexagonParameterCollection

class armi.reactor.components.basicShapes.Rectangle(name, material, Tinput, Thot, lengthOuter=None, lengthInner=0.0, widthOuter=None, widthInner=0.0, mult=None, modArea=None, isotopics=None, mergeWith=None, components=None)[source]

Bases: ShapedComponent

A rectangle component.

is3D = False
THERMAL_EXPANSION_DIMS = {'lengthInner', 'lengthOuter', 'widthInner', 'widthOuter'}
pDefs = <armi.reactor.parameters.parameterDefinitions.ParameterDefinitionCollection object>
getBoundingCircleOuterDiameter(Tc=None, cold=False)[source]
getCircleInnerDiameter(Tc=None, cold=False)[source]
getComponentArea(cold=False)[source]

Computes the area of the rectangle in cm^2.

isLatticeComponent()[source]

Return true if the component is a lattice component containing void material and zero area.

getPitchData()[source]

Return the pitch data that should be used to determine block pitch.

Notes

For rectangular components there are two pitches, one for each dimension. This pitch data should only be used if this is the pitch defining component in a block. The block is responsible for determining which component in it is the pitch defining component.

DIMENSION_NAMES = ('lengthOuter', 'lengthInner', 'widthOuter', 'widthInner', 'mult', 'modArea')
INIT_SIGNATURE = ('name', 'material', 'Tinput', 'Thot', 'lengthOuter', 'lengthInner', 'widthOuter', 'widthInner', 'mult', 'modArea', 'isotopics', 'mergeWith', 'components')
paramCollectionType

alias of RectangleParameterCollection

class armi.reactor.components.basicShapes.SolidRectangle(name, material, Tinput, Thot, lengthOuter=None, widthOuter=None, mult=None, modArea=None, isotopics=None, mergeWith=None, components=None)[source]

Bases: Rectangle

Solid rectangle component.

is3D = False
THERMAL_EXPANSION_DIMS = {'lengthOuter', 'widthOuter'}
getComponentArea(cold=False)[source]

Computes the area of the solid rectangle in cm^2.

DIMENSION_NAMES = ('lengthOuter', 'widthOuter', 'mult', 'modArea')
INIT_SIGNATURE = ('name', 'material', 'Tinput', 'Thot', 'lengthOuter', 'widthOuter', 'mult', 'modArea', 'isotopics', 'mergeWith', 'components')
paramCollectionType

alias of RectangleParameterCollection

class armi.reactor.components.basicShapes.Square(name, material, Tinput, Thot, widthOuter=None, widthInner=0.0, mult=None, modArea=None, isotopics=None, mergeWith=None, components=None)[source]

Bases: Rectangle

Square component that can be solid or hollow.

is3D = False
getComponentArea(cold=False)[source]

Computes the area of the square in cm^2.

getBoundingCircleOuterDiameter(Tc=None, cold=False)[source]
getCircleInnerDiameter(Tc=None, cold=False)[source]
getPitchData()[source]

Return the pitch data that should be used to determine block pitch.

Notes

For rectangular components there are two pitches, one for each dimension. This pitch data should only be used if this is the pitch defining component in a block. The block is responsible for determining which component in it is the pitch defining component.

DIMENSION_NAMES = ('widthOuter', 'widthInner', 'mult', 'modArea')
INIT_SIGNATURE = ('name', 'material', 'Tinput', 'Thot', 'widthOuter', 'widthInner', 'mult', 'modArea', 'isotopics', 'mergeWith', 'components')
paramCollectionType

alias of RectangleParameterCollection

class armi.reactor.components.basicShapes.Triangle(name, material, Tinput, Thot, base=None, height=None, mult=None, modArea=None, isotopics=None, mergeWith=None, components=None)[source]

Bases: ShapedComponent

Triangle with defined base and height.

Notes

The exact angles of the triangle are undefined. The exact side lenths and angles are not critical to calculation of component area, so area can still be calculated.

is3D = False
THERMAL_EXPANSION_DIMS = {'base', 'height'}
pDefs = <armi.reactor.parameters.parameterDefinitions.ParameterDefinitionCollection object>
getComponentArea(cold=False)[source]

Computes the area of the triangle in cm^2.

DIMENSION_NAMES = ('base', 'height', 'mult', 'modArea')
INIT_SIGNATURE = ('name', 'material', 'Tinput', 'Thot', 'base', 'height', 'mult', 'modArea', 'isotopics', 'mergeWith', 'components')
paramCollectionType

alias of TriangleParameterCollection