13#include "libmesh/elem.h"
41static const std::string
pitch =
"pitch";
135 std::string extra_int_name,
136 bool should_exist =
false);
152 const std::string mg_name,
153 const bool first_function_call =
true);
188 template <
typename T>
198 template <
typename T>
229 template <
typename T>
238 template <
typename T>
252 std::map<std::string, SubdomainID> & name_id_map,
253 std::string elem_block_name,
297 std::vector<std::reference_wrapper<const CSG::CSGSurface>>
309 const std::vector<std::vector<std::reference_wrapper<const CSG::CSGUniverse>>> pattern,
subdomain_id_type SubdomainID
const InputParameters & parameters() const
A base class that contains common members for Reactor Geometry Mesh Builder mesh generators.
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...
void printGlobalReactorMetadata()
Print global ReactorMeshParams metadata associated with ReactorGeometryMeshBuilder object.
std::unique_ptr< MeshBase > * _reactor_params_mesh
The dummy param mesh that we need to clear once we've generated (in freeReactorMeshParams)
const T & getReactorParam(const std::string ¶m_name)
Returns reference of parameter in ReactorMeshParams object.
void printCoreMetadata(const std::string mg_name, const bool first_function_call)
Print core-level metadata associated with ReactorGeometryMeshBuilder object.
MeshGeneratorName _reactor_params
The ReactorMeshParams object that is storing the reactor global information for this reactor geometry...
void generateData() override
bool hasReactorParam(const std::string param_name)
Checks whether parameter is defined in ReactorMeshParams metadata.
void initializeReactorMeshParams(const std::string reactor_param_name)
Initializes and checks validity of ReactorMeshParams mesh generator object.
std::vector< std::reference_wrapper< const CSG::CSGSurface > > getAxialPlaneSurfaces(CSG::CSGBase &csg_obj, const bool skip_intermediate_plane_generation)
Get CSGSurfaces corresponding to axial planes of the extruded RGMB mesh.
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 void addDepletionIDParams(InputParameters ¶meters)
MeshGeneratorName callExtrusionMeshSubgenerators(const MeshGeneratorName input_mesh_name)
Calls mesh subgenerators related to extrusion, renaming of top / bottom boundaries,...
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.
void freeReactorParamsMesh()
Releases the mesh obtained in _reactor_params_mesh.
static InputParameters validParams()
DepletionIDGenerationLevel
specify the depletion id is generated at which reactor generation level
std::unique_ptr< CSG::CSGBase > * _reactor_params_csg
void printAssemblyMetadata(const std::string mg_name, const bool first_function_call)
Print assembly-level metadata associated with ReactorGeometryMeshBuilder object.
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...
void addDepletionId(MeshBase &input_mesh, const MooseEnum &option, const DepletionIDGenerationLevel generation_level, const bool extrude)
add depletion IDs
void printPinMetadata(const std::string mg_name)
Print pin-level metadata associated with ReactorGeometryMeshBuilder object.
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.
void freeReactorParamsCSG()
Releases the CSG base object obtained in _reactor_params_csg.
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 PERIPHERAL_RING_BLOCK_ID
static const std::string peripheral_ring_radius
const subdomain_id_type MAX_PIN_TYPE_ID
static const std::string bottom_boundary_id
const SubdomainName DRUM_BLOCK_NAME_PREFIX
static const std::string is_single_pin
const SubdomainName ASSEMBLY_BLOCK_NAME_PREFIX
static const std::string pin_region_id_map
const BoundaryName PIN_BOUNDARY_NAME_PREFIX
static const std::string pin_lattice
static const std::string peripheral_ring_region_id
const subdomain_id_type PIN_BLOCK_ID_TRI_FLEXIBLE
static const std::string radial_boundary_id
static const std::string expand_units
const SubdomainName CORE_BLOCK_NAME_PREFIX
static const std::string is_control_drum
static const std::string bypass_meshgen
const subdomain_id_type PIN_BLOCK_ID_START
const subdomain_id_type CONTROL_DRUM_BLOCK_ID_PAD
const subdomain_id_type ASSEMBLY_BLOCK_ID_START
static constexpr boundary_id_type ASSEMBLY_BOUNDARY_ID_START
static const std::string ring_radii
static const std::string drum_radii
const subdomain_id_type DUMMY_ASSEMBLY_BLOCK_ID
static const std::string assembly_names
static const std::string top_boundary_id
const subdomain_id_type PIN_BLOCK_ID_TRI
static const std::string drum_region_ids
static const std::string assembly_type
static const std::string pin_block_name_map
const SubdomainName PERIPHERAL_RING_BLOCK_NAME
static const std::string duct_block_names
static const std::string duct_halfpitches
const SubdomainName TRI_BLOCK_NAME_SUFFIX
const BoundaryName ASSEMBLY_BOUNDARY_NAME_PREFIX
static const std::string assembly_pitch
const subdomain_id_type CONTROL_DRUM_BLOCK_ID_INNER_TRI
static const std::string mesh_dimensions
static const std::string duct_region_ids
const BoundaryName CORE_BOUNDARY_NAME
static const std::string pin_region_ids
static const std::string extruded
static constexpr boundary_id_type PIN_BOUNDARY_ID_START
static const std::string num_sectors_flexible_stitching
static const std::string background_region_id
static const std::string assembly_lattice
static const std::string ring_region_ids
static const std::string flexible_assembly_stitching
static const std::string is_homogenized
const subdomain_id_type CONTROL_DRUM_BLOCK_ID_OUTER
static const std::string axial_mesh_sizes
static const std::string drum_block_names
static const std::string CSG_AXIAL_PLANE_PREFIX
const subdomain_id_type ASSEMBLY_BLOCK_ID_TRI_FLEXIBLE
static const std::string region_id_as_block_name
static const std::string background_block_name
static const std::string reactor_params_name
static const std::string axial_mesh_intervals
static const std::string pin_names
static const std::string pitch
static const std::string drum_pad_angles
static const std::string pin_block_names
static const std::string mesh_geometry
static const std::string pin_type
const subdomain_id_type CONTROL_DRUM_BLOCK_ID_INNER
const SubdomainName PIN_BLOCK_NAME_PREFIX