13 #include "libmesh/elem.h" 29 static const std::string
extruded =
"extruded";
41 static const std::string
pitch =
"pitch";
52 static const std::string
pin_type =
"pin_type";
131 std::string extra_int_name,
132 bool should_exist =
false);
148 const std::string mg_name,
149 const bool first_function_call =
true);
157 void printCoreMetadata(
const std::string mg_name,
const bool first_function_call);
184 template <
typename T>
194 template <
typename T>
225 template <
typename T>
234 template <
typename T>
248 std::map<std::string, SubdomainID> & name_id_map,
249 std::string elem_block_name,
293 unsigned int radial_index, Real halfpitch,
CSG::CSGBase & csg_obj);
300 std::vector<std::reference_wrapper<const CSG::CSGSurface>>
312 const std::vector<std::vector<std::reference_wrapper<const CSG::CSGUniverse>>> pattern,
321 template <
typename T>
328 template <
typename T>
void printPinMetadata(const std::string mg_name)
Print pin-level metadata associated with ReactorGeometryMeshBuilder object.
static void addDepletionIDParams(InputParameters ¶meters)
static const std::string drum_radii
const SubdomainName ASSEMBLY_BLOCK_NAME_PREFIX
void updateElementBlockNameId(MeshBase &input_mesh, Elem *elem, std::map< std::string, SubdomainID > &name_id_map, std::string elem_block_name, SubdomainID &next_free_id)
Updates the block names and ids of the element in an input mesh according to a map of block name to b...
static const std::string duct_block_names
static const std::string background_region_id
static const std::string assembly_type
const subdomain_id_type ASSEMBLY_BLOCK_ID_START
static const std::string region_id_as_block_name
const SubdomainName DRUM_BLOCK_NAME_PREFIX
static const std::string assembly_lattice
const SubdomainName PERIPHERAL_RING_BLOCK_NAME
bool hasReactorParam(const std::string param_name)
Checks whether parameter is defined in ReactorMeshParams metadata.
static const std::string is_single_pin
static const std::string peripheral_ring_radius
static const std::string CSG_AXIAL_PLANE_PREFIX
const subdomain_id_type CONTROL_DRUM_BLOCK_ID_PAD
const subdomain_id_type DUMMY_ASSEMBLY_BLOCK_ID
const InputParameters & parameters() const
unsigned int getElemIntegerFromMesh(MeshBase &input_mesh, std::string extra_int_name, bool should_exist=false)
Initializes extra element integer from id name for a given mesh and throws an error if it should exis...
const subdomain_id_type PIN_BLOCK_ID_START
static const std::string reactor_params_name
static constexpr boundary_id_type ASSEMBLY_BOUNDARY_ID_START
static const std::string mesh_geometry
void initializeReactorMeshParams(const std::string reactor_param_name)
Initializes and checks validity of ReactorMeshParams mesh generator object.
const subdomain_id_type CONTROL_DRUM_BLOCK_ID_OUTER
std::vector< std::reference_wrapper< const CSG::CSGSurface > > getAxialPlaneSurfaces(CSG::CSGBase &csg_obj)
Get CSGSurfaces corresponding to axial planes of the extruded RGMB mesh.
static const std::string assembly_names
static const std::string background_block_name
void addDepletionId(MeshBase &input_mesh, const MooseEnum &option, const DepletionIDGenerationLevel generation_level, const bool extrude)
add depletion IDs
static const std::string axial_mesh_sizes
static const std::string peripheral_ring_region_id
static const std::string assembly_pitch
static const std::string radial_boundary_id
static const std::string pin_type
static InputParameters validParams()
const SubdomainName TRI_BLOCK_NAME_SUFFIX
static const std::string drum_block_names
static const std::string pin_region_id_map
const BoundaryName PIN_BOUNDARY_NAME_PREFIX
void printReactorMetadata(const std::string geometry_type, const std::string mg_name, const bool first_function_call=true)
Print metadata associated with ReactorGeometryMeshBuilder object.
static const std::string extruded
void printAssemblyMetadata(const std::string mg_name, const bool first_function_call)
Print assembly-level metadata associated with ReactorGeometryMeshBuilder object.
static const std::string drum_pad_angles
const T & getReactorParam(const std::string ¶m_name)
Returns reference of parameter in ReactorMeshParams object.
const subdomain_id_type PERIPHERAL_RING_BLOCK_ID
void print2dMetadataToConsole(const std::string metadata_name, const std::string mg_name)
Print metadata with data type std::vector<std::vector<T>> and provided name that can be found with gi...
static const std::string duct_halfpitches
std::unique_ptr< MeshBase > * _reactor_params_mesh
The dummy param mesh that we need to clear once we've generated (in freeReactorMeshParams) ...
static const std::string mesh_dimensions
const subdomain_id_type ASSEMBLY_BLOCK_ID_TRI_FLEXIBLE
MeshGeneratorName callExtrusionMeshSubgenerators(const MeshGeneratorName input_mesh_name)
Calls mesh subgenerators related to extrusion, renaming of top / bottom boundaries, and defining plane IDs.
static const std::string pitch
DepletionIDGenerationLevel
specify the depletion id is generated at which reactor generation level
static constexpr boundary_id_type PIN_BOUNDARY_ID_START
void freeReactorParamsMesh()
Releases the mesh obtained in _reactor_params_mesh.
const SubdomainName CORE_BLOCK_NAME_PREFIX
const SubdomainName PIN_BLOCK_NAME_PREFIX
MeshGeneratorName _reactor_params
The ReactorMeshParams object that is storing the reactor global information for this reactor geometry...
static const std::string top_boundary_id
subdomain_id_type SubdomainID
ReactorGeometryMeshBuilderBase(const InputParameters ¶meters)
std::vector< std::reference_wrapper< const CSG::CSGSurface > > getOuterRadialSurfacesForUnitCell(unsigned int radial_index, Real halfpitch, CSG::CSGBase &csg_obj)
Get CSGSurfaces corresponding to hexagonal or square region with given halfpitch and centered around ...
const subdomain_id_type CONTROL_DRUM_BLOCK_ID_INNER_TRI
static const std::string is_homogenized
void freeReactorParamsCSG()
Releases the CSG base object obtained in _reactor_params_csg.
static const std::string is_control_drum
void printMetadataToConsole(const std::string metadata_name, const std::string mg_name)
Print metadata with provided name that can be found with given mesh generator name.
static const std::string pin_region_ids
static const std::string flexible_assembly_stitching
void generateData() override
static const std::string pin_lattice
static const std::string ring_radii
void printCoreMetadata(const std::string mg_name, const bool first_function_call)
Print core-level metadata associated with ReactorGeometryMeshBuilder object.
const BoundaryName CORE_BOUNDARY_NAME
const subdomain_id_type PIN_BLOCK_ID_TRI_FLEXIBLE
void printGlobalReactorMetadata()
Print global ReactorMeshParams metadata associated with ReactorGeometryMeshBuilder object...
std::unique_ptr< CSG::CSGBase > * _reactor_params_csg
const subdomain_id_type CONTROL_DRUM_BLOCK_ID_INNER
static const std::string pin_block_names
const subdomain_id_type PIN_BLOCK_ID_TRI
const CSG::CSGLattice & createRGMBLattice(const Real pitch, const std::vector< std::vector< std::reference_wrapper< const CSG::CSGUniverse >>> pattern, CSG::CSGBase &csg_obj)
Create CSG lattice for assembly and core lattices.
static const std::string axial_mesh_intervals
A base class that contains common members for Reactor Geometry Mesh Builder mesh generators.
const BoundaryName ASSEMBLY_BOUNDARY_NAME_PREFIX
static const std::string drum_region_ids
static const std::string bypass_meshgen
static const std::string pin_names
static const std::string num_sectors_flexible_stitching
static const std::string duct_region_ids
const subdomain_id_type MAX_PIN_TYPE_ID
static const std::string bottom_boundary_id
static const std::string pin_block_name_map
static const std::string ring_region_ids