DuctedPinEngUnit is a CSGUniverseEngUnit that represents a pin cell structure (concentric cylinders surrounded by concentric ducted regions) using basic engineering-scale attributes, including geometry type (hex or square), ring radii, duct apothems, axial boundaries, and radial and axial region ID names for each region of the pin structure. More...
#include <DuctedPinEngUnit.h>
Public Member Functions | |
| DuctedPinEngUnit (const std::string &name, const std::string &geometry_type, const std::vector< Real > &ring_radii, const std::vector< Real > &duct_apothems, const std::vector< std::vector< std::string > > ®ion_names, const std::vector< Real > &axial_plane_levels, const std::vector< std::string > &axial_plane_names) | |
| Constructor for DuctedPinEngUnit. | |
| std::unordered_map< std::string, AttributeVariant > | getAttributes () const override |
| Return the pin engeering unit attributes for this object. | |
| const std::string & | getName () const override |
| bool | isEngUnit () const override |
| bool | operator== (const CSGUniverseEngUnit &other) const |
| bool | operator== (const CSGUniverse &other) const |
| bool | operator== (const CSGEngUnit &other) const |
| bool | operator!= (const CSGUniverseEngUnit &other) const |
| bool | operator!= (const CSGUniverse &other) const |
| bool | operator!= (const CSGEngUnit &other) const |
| const std::vector< std::pair< TransformationType, std::tuple< Real, Real, Real > > > & | getTransformations () const override |
| std::vector< std::pair< std::string, std::tuple< Real, Real, Real > > > | getTransformationsAsStrings () const override |
| const CSGCell & | getCell (const std::string &name) |
| bool | hasCell (const std::string &name) const |
| const std::vector< std::reference_wrapper< const CSGCell > > & | getAllCells () const |
| bool | isRoot () const |
| const std::string | getBehavior () const |
| const std::string | getUnitType () const |
Static Public Member Functions | |
| static bool | isValidTransformationValue (TransformationType type, const std::tuple< Real, Real, Real > &values) |
| static std::string | getTransformationTypeString (TransformationType type) |
Protected Member Functions | |
| std::unique_ptr< CSGUniverseEngUnit > | clone () const override |
| Return a deep copy of this unit. | |
| void | expandUnit () override |
| Represent the pin cell as a single universe that contains cells that define each region of the pin cell structure. | |
| const std::string | getGeometryTypeString () const |
| Get the geometry type as a string. | |
| const CSGUniverse & | getExpandedUniverse () const |
| void | removeCell (const std::string &name) |
| void | removeAllCells () |
| void | setName (const std::string &name) |
| void | addTransformation (TransformationType type, const std::tuple< Real, Real, Real > &values) |
| Point | applyReverseTransformsToPoint (Point p) const |
| CSGBase & | getBase () |
| std::unique_ptr< CSGBase > | releaseBase () |
| void | addCell (const CSGCell &)=delete |
| void | addCell (const CSGCell &)=delete |
| FRIEND_TEST (CSGUniverseTest, testGetCell) | |
| FRIEND_TEST (CSGUniverseTest, testAddCell) | |
| FRIEND_TEST (CSGUniverseTest, testRemoveCell) | |
| FRIEND_TEST (CSGUniverseTest, testRemoveAllCells) | |
| FRIEND_TEST (CSGUniverseTest, testSetName) | |
| FRIEND_TEST (CSGUniverseTest, testUniverseEquality) | |
| FRIEND_TEST (CSGSurfaceTest, testHalfspaceWithTransform) | |
| FRIEND_TEST (CSGSurfaceTest, testHalfspaceWithNullTransform) | |
| FRIEND_TEST (CSGEngUnitTest, testEngUnitEqual) | |
| FRIEND_TEST (CSGUniverseTest, testGetCell) | |
| FRIEND_TEST (CSGUniverseTest, testAddCell) | |
| FRIEND_TEST (CSGUniverseTest, testRemoveCell) | |
| FRIEND_TEST (CSGUniverseTest, testRemoveAllCells) | |
| FRIEND_TEST (CSGUniverseTest, testSetName) | |
| FRIEND_TEST (CSGUniverseTest, testUniverseEquality) | |
| FRIEND_TEST (CSGSurfaceTest, testHalfspaceWithTransform) | |
| FRIEND_TEST (CSGSurfaceTest, testHalfspaceWithNullTransform) | |
| FRIEND_TEST (CSGEngUnitTest, testEngUnitEqual) | |
Protected Attributes | |
| std::string | _name |
| std::vector< std::reference_wrapper< const CSGCell > > | _cells |
| bool | _is_root |
| std::vector< std::pair< TransformationType, std::tuple< Real, Real, Real > > > | _transformations |
| std::unique_ptr< CSGBase > | _internal_base |
| MooseEnum | _behavior |
Private Attributes | |
| const std::vector< Real > | _ring_radii |
| List of ring radii of pin cell. | |
| const std::vector< Real > | _duct_apothems |
| List of duct apothems of pin cell. | |
| std::vector< std::vector< std::string > > | _region_names |
| Region IDs of pin cell. | |
| std::vector< Real > | _axial_plane_levels |
| Axial plane levels for an extruded pin cell. | |
| std::vector< std::string > | _axial_plane_names |
| Axial plane names for an extruded pin cell. | |
| MooseEnum | _geometry_type {"Hex Square"} |
| Geometry type of pin cell structure (hex or square) | |
DuctedPinEngUnit is a CSGUniverseEngUnit that represents a pin cell structure (concentric cylinders surrounded by concentric ducted regions) using basic engineering-scale attributes, including geometry type (hex or square), ring radii, duct apothems, axial boundaries, and radial and axial region ID names for each region of the pin structure.
This engineering unit supports both 3D and 2D/infinite pin geometries.
Implements:
Definition at line 30 of file DuctedPinEngUnit.h.
| CSG::DuctedPinEngUnit::DuctedPinEngUnit | ( | const std::string & | name, |
| const std::string & | geometry_type, | ||
| const std::vector< Real > & | ring_radii, | ||
| const std::vector< Real > & | duct_apothems, | ||
| const std::vector< std::vector< std::string > > & | region_names, | ||
| const std::vector< Real > & | axial_plane_levels, | ||
| const std::vector< std::string > & | axial_plane_names | ||
| ) |
Constructor for DuctedPinEngUnit.
| name | unique name of the unit |
| geometry_type | geometry type of pin cell ("Hex" or "Square") |
| ring_radii | list of ring radii of cylindrical pin regions, which need to be in ascending order |
| duct_apothems | list of duct apothems that surround cylindrical regions in pin, which need to be in ascending order |
| region_names | 2-D vector of region names that represent each radial (cylindrical and ducted) region and axial region |
| axial_plane_levels | list of axial plane levels of extruded pin |
| axial_plane_names | list of axial plane names of extruded pin |
Definition at line 19 of file DuctedPinEngUnit.C.
|
overrideprotectedvirtual |
Return a deep copy of this unit.
Implements CSG::CSGUniverseEngUnit.
Definition at line 86 of file DuctedPinEngUnit.C.
|
overrideprotectedvirtual |
Represent the pin cell as a single universe that contains cells that define each region of the pin cell structure.
Implements CSG::CSGUniverseEngUnit.
Definition at line 98 of file DuctedPinEngUnit.C.
|
overridevirtual |
Return the pin engeering unit attributes for this object.
Implements CSG::CSGUniverseEngUnit.
Definition at line 73 of file DuctedPinEngUnit.C.
|
inlineprotected |
Get the geometry type as a string.
Definition at line 82 of file DuctedPinEngUnit.h.
Referenced by clone(), expandUnit(), and getAttributes().
|
private |
Axial plane levels for an extruded pin cell.
Definition at line 95 of file DuctedPinEngUnit.h.
Referenced by clone(), DuctedPinEngUnit(), expandUnit(), and getAttributes().
|
private |
Axial plane names for an extruded pin cell.
Definition at line 98 of file DuctedPinEngUnit.h.
Referenced by clone(), DuctedPinEngUnit(), and expandUnit().
|
private |
List of duct apothems of pin cell.
Definition at line 89 of file DuctedPinEngUnit.h.
Referenced by clone(), DuctedPinEngUnit(), expandUnit(), and getAttributes().
|
private |
Geometry type of pin cell structure (hex or square)
Definition at line 101 of file DuctedPinEngUnit.h.
Referenced by DuctedPinEngUnit(), and getGeometryTypeString().
|
private |
Region IDs of pin cell.
Definition at line 92 of file DuctedPinEngUnit.h.
Referenced by clone(), DuctedPinEngUnit(), expandUnit(), and getAttributes().
|
private |
List of ring radii of pin cell.
Definition at line 86 of file DuctedPinEngUnit.h.
Referenced by clone(), DuctedPinEngUnit(), expandUnit(), and getAttributes().