Mesh generator that builds a mesh of 1D lines representing subchannels and pins in a triangular assembly. More...
#include <SCMTriAssemblyMeshGenerator.h>
Public Types | |
| typedef DataFileName | DataFileParameterType |
Public Member Functions | |
| SCMTriAssemblyMeshGenerator (const InputParameters ¶meters) | |
| std::unique_ptr< MeshBase > | generate () override |
| std::unique_ptr< CSG::CSGBase > | generateInternalCSG () |
| std::unique_ptr< MeshBase > | generateInternal () |
| const std::set< MeshGeneratorName > & | getRequestedMeshGenerators () const |
| const std::set< MeshGeneratorName > & | getRequestedMeshGeneratorsForSub () const |
| void | addParentMeshGenerator (const MeshGenerator &mg, const AddParentChildKey) |
| void | addChildMeshGenerator (const MeshGenerator &mg, const AddParentChildKey) |
| const std::set< const MeshGenerator *, Comparator > & | getParentMeshGenerators () const |
| const std::set< const MeshGenerator *, Comparator > & | getChildMeshGenerators () const |
| const std::set< const MeshGenerator *, Comparator > & | getSubMeshGenerators () const |
| bool | isParentMeshGenerator (const MeshGeneratorName &name, const bool direct=true) const |
| bool | isChildMeshGenerator (const MeshGeneratorName &name, const bool direct=true) const |
| bool | isNullMeshName (const MeshGeneratorName &name) const |
| bool | hasSaveMesh () const |
| bool | hasOutput () const |
| const std::string & | getSavedMeshName () const |
| bool | hasGenerateData () const |
| bool | hasGenerateCSG () const |
| bool | isDataOnly () const |
| virtual bool | enabled () const |
| std::shared_ptr< MooseObject > | getSharedPtr () |
| std::shared_ptr< const MooseObject > | getSharedPtr () const |
| bool | isKokkosObject () const |
| MooseApp & | getMooseApp () const |
| const std::string & | type () const |
| const std::string & | name () const |
| std::string | typeAndName () const |
| MooseObjectParameterName | uniqueParameterName (const std::string ¶meter_name) const |
| MooseObjectName | uniqueName () const |
| const InputParameters & | parameters () const |
| const hit::Node * | getHitNode () const |
| bool | hasBase () const |
| const std::string & | getBase () const |
| const T & | getParam (const std::string &name) const |
| std::vector< std::pair< T1, T2 > > | getParam (const std::string ¶m1, const std::string ¶m2) const |
| const T * | queryParam (const std::string &name) const |
| const T & | getRenamedParam (const std::string &old_name, const std::string &new_name) const |
| T | getCheckedPointerParam (const std::string &name, const std::string &error_string="") const |
| bool | isParamValid (const std::string &name) const |
| bool | isParamSetByUser (const std::string &name) const |
| void | connectControllableParams (const std::string ¶meter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const |
| void | paramError (const std::string ¶m, Args... args) const |
| void | paramWarning (const std::string ¶m, Args... args) const |
| void | paramWarning (const std::string ¶m, Args... args) const |
| void | paramInfo (const std::string ¶m, Args... args) const |
| std::string | messagePrefix (const bool hit_prefix=true) const |
| std::string | errorPrefix (const std::string &) const |
| void | mooseError (Args &&... args) const |
| void | mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const |
| void | mooseErrorNonPrefixed (Args &&... args) const |
| void | mooseWarning (Args &&... args) const |
| void | mooseWarning (Args &&... args) const |
| void | mooseWarningNonPrefixed (Args &&... args) const |
| void | mooseWarningNonPrefixed (Args &&... args) const |
| void | mooseDeprecated (Args &&... args) const |
| void | mooseDeprecated (Args &&... args) const |
| void | mooseDeprecatedNoTrace (Args &&... args) const |
| void | mooseInfo (Args &&... args) const |
| void | callMooseError (std::string msg, const bool with_prefix, const hit::Node *node=nullptr, const bool show_trace=true) const |
| std::string | getDataFileName (const std::string ¶m) const |
| std::string | getDataFileNameByName (const std::string &relative_path) const |
| std::string | getDataFilePath (const std::string &relative_path) const |
| const Parallel::Communicator & | comm () const |
| processor_id_type | n_processors () const |
| processor_id_type | processor_id () const |
Static Public Member Functions | |
| static InputParameters | validParams () |
| static bool | hasGenerateData (const InputParameters ¶ms) |
| static bool | hasGenerateCSG (const InputParameters ¶ms) |
| static void | callMooseError (MooseApp *const app, const InputParameters ¶ms, std::string msg, const bool with_prefix, const hit::Node *node, const bool show_trace=true) |
| static void | setHasGenerateData (InputParameters ¶ms) |
| static void | setHasGenerateCSG (InputParameters ¶ms) |
Public Attributes | |
| usingCombinedWarningSolutionWarnings | |
| const ConsoleStream | _console |
Static Public Attributes | |
| static const std::string | data_only_param |
| static const std::string | type_param |
| static const std::string | name_param |
| static const std::string | unique_name_param |
| static const std::string | app_param |
| static const std::string | moose_base_param |
| static const std::string | kokkos_object_param |
| static constexpr auto | SYSTEM |
| static constexpr auto | NAME |
Protected Member Functions | |
| void | buildPinMesh (MeshBase &mesh_base) |
| Build the 1D pin elements and append them to the subchannel mesh. | |
| virtual void | generateData () |
| virtual std::unique_ptr< CSG::CSGBase > | generateCSG () |
| T & | copyMeshProperty (const std::string &target_data_name, const std::string &source_data_name, const std::string &source_mesh) |
| T & | copyMeshProperty (const std::string &source_data_name, const std::string &source_mesh) |
| std::unique_ptr< MeshBase > & | getMesh (const std::string ¶m_name, const bool allow_invalid=false) |
| std::vector< std::unique_ptr< MeshBase > * > | getMeshes (const std::string ¶m_name) |
| std::unique_ptr< MeshBase > & | getMeshByName (const MeshGeneratorName &mesh_generator_name) |
| std::vector< std::unique_ptr< MeshBase > * > | getMeshesByName (const std::vector< MeshGeneratorName > &mesh_generator_names) |
| std::unique_ptr< CSG::CSGBase > & | getCSGBase (const std::string ¶m_name) |
| std::unique_ptr< CSG::CSGBase > & | getCSGBaseByName (const MeshGeneratorName &mesh_generator_name) |
| std::vector< std::unique_ptr< CSG::CSGBase > * > | getCSGBases (const std::string ¶m_name) |
| std::vector< std::unique_ptr< CSG::CSGBase > * > | getCSGBasesByName (const std::vector< MeshGeneratorName > &mesh_generator_names) |
| void | declareMeshForSub (const std::string ¶m_name) |
| void | declareMeshesForSub (const std::string ¶m_name) |
| void | declareMeshForSubByName (const MeshGeneratorName &mesh_generator_name) |
| void | declareMeshesForSubByName (const std::vector< MeshGeneratorName > &mesh_generator_names) |
| std::unique_ptr< MeshBase > | buildMeshBaseObject (unsigned int dim=libMesh::invalid_uint) |
| std::unique_ptr< ReplicatedMesh > | buildReplicatedMesh (unsigned int dim=libMesh::invalid_uint) |
| std::unique_ptr< DistributedMesh > | buildDistributedMesh (unsigned int dim=libMesh::invalid_uint) |
| void | addMeshSubgenerator (const std::string &type, const std::string &name, Ts... extra_input_parameters) |
| void | addMeshSubgenerator (const std::string &type, const std::string &name, InputParameters params) |
| void | declareNullMeshName (const MeshGeneratorName &name) |
| void | flagInvalidSolutionInternal (const InvalidSolutionID invalid_solution_id) const |
| InvalidSolutionID | registerInvalidSolutionInternal (const std::string &message, const bool warning) const |
| const T & | getMeshProperty (const std::string &data_name, const std::string &prefix) |
| const T & | getMeshProperty (const std::string &data_name) |
| bool | hasMeshProperty (const std::string &data_name, const std::string &prefix) const |
| bool | hasMeshProperty (const std::string &data_name, const std::string &prefix) const |
| bool | hasMeshProperty (const std::string &data_name) const |
| bool | hasMeshProperty (const std::string &data_name) const |
| std::string | meshPropertyName (const std::string &data_name) const |
| T & | declareMeshProperty (const std::string &data_name, Args &&... args) |
| T & | declareMeshProperty (const std::string &data_name, const T &data_value) |
| T & | declareMeshProperty (const std::string &data_name, Args &&... args) |
| T & | declareMeshProperty (const std::string &data_name, const T &data_value) |
| T & | setMeshProperty (const std::string &data_name, Args &&... args) |
| T & | setMeshProperty (const std::string &data_name, const T &data_value) |
| T & | setMeshProperty (const std::string &data_name, Args &&... args) |
| T & | setMeshProperty (const std::string &data_name, const T &data_value) |
Static Protected Member Functions | |
| static std::string | meshPropertyName (const std::string &data_name, const std::string &prefix) |
Protected Attributes | |
| const Real | _unheated_length_entry |
| unheated length of the fuel Pin at the entry of the assembly | |
| const Real | _heated_length |
| heated length of the fuel Pin | |
| const Real | _unheated_length_exit |
| unheated length of the fuel Pin at the exit of the assembly | |
| const unsigned int | _subchannel_block_id |
| subchannel block index | |
| const unsigned int | _pin_block_id |
| pin block index | |
| std::vector< Real > | _z_grid |
| axial location of nodes | |
| std::vector< std::vector< Real > > | _k_grid |
| axial form loss coefficient per computational cell | |
| const std::vector< Real > & | _spacer_z |
| axial location of the spacers | |
| const std::vector< Real > & | _spacer_k |
| form loss coefficient of the spacers | |
| const std::vector< Real > | _z_blockage |
| axial location of blockage (inlet, outlet) [m] | |
| const std::vector< unsigned int > | _index_blockage |
| index of subchannels affected by blockage | |
| const std::vector< Real > | _reduction_blockage |
| area reduction of subchannels affected by blockage | |
| const std::vector< Real > | _k_blockage |
| form loss coefficient of subchannels affected by blockage | |
| const Real | _pitch |
| Distance between the neighbor fuel pins, pitch. | |
| const Real & | _kij |
| Lateral form loss coefficient. | |
| const Real | _pin_diameter |
| fuel Pin diameter | |
| const unsigned int | _n_cells |
| number of axial cells | |
| const unsigned int | _n_rings |
| number of rings of fuel pins | |
| unsigned int | _n_channels |
| number of subchannels | |
| const Real | _flat_to_flat |
| the distance between flat surfaces of the duct facing each other | |
| const Real | _dwire |
| wire diameter | |
| const Real | _hwire |
| wire lead length | |
| const Real | _duct_to_pin_gap |
| the gap thickness between the duct and peripheral fuel pins | |
| std::vector< std::vector< Node * > > | _nodes |
| nodes | |
| std::vector< std::vector< Node * > > | _pin_nodes |
| pin nodes | |
| std::vector< std::pair< unsigned int, unsigned int > > | _gap_to_chan_map |
| stores the channel pairs for each gap | |
| std::vector< std::pair< unsigned int, unsigned int > > | _gap_to_pin_map |
| stores the fuel pin pairs for each gap each gap | |
| std::vector< std::vector< unsigned int > > | _chan_to_gap_map |
| stores the gaps that forms each subchannel | |
| std::vector< std::vector< Real > > | _sign_id_crossflow_map |
| Defines the global cross-flow direction -1 or 1 for each subchannel and for all gaps that are belonging to the corresponding subchannel. | |
| std::vector< std::vector< Real > > | _gij_map |
| gap size | |
| std::vector< std::vector< Real > > | _subchannel_position |
| x,y coordinates of the subchannel centroids | |
| std::vector< Point > | _pin_position |
| x,y coordinates of the fuel pins | |
| std::vector< std::vector< Real > > | _pins_in_rings |
| fuel pins that are belonging to each ring | |
| std::vector< std::vector< unsigned int > > | _chan_to_pin_map |
| stores the fuel pins belonging to each subchannel | |
| std::vector< std::vector< unsigned int > > | _pin_to_chan_map |
| stores the map from pins to channels | |
| unsigned int | _npins |
| number of fuel pins | |
| unsigned int | _n_gaps |
| number of gaps | |
| std::vector< EChannelType > | _subch_type |
| subchannel type | |
| std::vector< EChannelType > | _gap_type |
| gap type | |
| std::vector< std::pair< unsigned int, unsigned int > > | _gap_pairs_sf |
| sweeping flow model gap pairs per channel to specify directional edge flow | |
| std::vector< std::pair< unsigned int, unsigned int > > | _chan_pairs_sf |
| sweeping flow model channel pairs to specify directional edge flow | |
| MooseMesh *const | _mesh |
| const bool & | _enabled |
| MooseApp & | _app |
| Factory & | _factory |
| ActionFactory & | _action_factory |
| const std::string & | _type |
| const std::string & | _name |
| const InputParameters & | _pars |
| const Parallel::Communicator & | _communicator |
Private Member Functions | |
| virtual std::string | meshPropertyPrefix (const std::string &) const override final |
| void | checkGetMesh (const MeshGeneratorName &mesh_generator_name, const std::string ¶m_name) const |
| const MeshGeneratorName * | getMeshGeneratorNameFromParam (const std::string ¶m_name, const bool allow_invalid) const |
| const std::vector< MeshGeneratorName > & | getMeshGeneratorNamesFromParam (const std::string ¶m_name) const |
| RestartableDataValue & | setMeshPropertyHelper (const std::string &data_name) |
| const RestartableDataValue & | getMeshPropertyInternal (const std::string &data_name, const std::string &prefix) const |
| void | mooseErrorInternal (Args &&... args) const |
Static Private Member Functions | |
| static const hit::Node * | getHitNode (const InputParameters ¶ms) |
| static std::string | messagePrefix (const InputParameters ¶ms, const bool hit_prefix) |
Private Attributes | |
| std::set< MeshGeneratorName > | _requested_mesh_generators |
| std::set< MeshGeneratorName > | _requested_mesh_generators_for_sub |
| std::vector< std::pair< std::string, std::unique_ptr< MeshBase > * > > | _requested_meshes |
| std::vector< std::pair< std::string, std::unique_ptr< CSG::CSGBase > * > > | _requested_csg_bases |
| std::unique_ptr< MeshBase > | _null_mesh |
| std::unique_ptr< CSG::CSGBase > | _null_csg_base |
| std::set< const MeshGenerator *, Comparator > | _parent_mesh_generators |
| std::set< const MeshGenerator *, Comparator > | _child_mesh_generators |
| std::set< const MeshGenerator *, Comparator > | _sub_mesh_generators |
| std::set< std::string > | _null_mesh_names |
| const std::string & | _save_with_name |
| const bool | _data_only |
| const ParallelParamObject & | _parent |
| const MooseBase & | _si_moose_base |
| const FEProblemBase * | _si_problem |
| MooseApp & | _meta_data_app |
| const MooseObject *const | _meta_data_object |
Mesh generator that builds a mesh of 1D lines representing subchannels and pins in a triangular assembly.
Definition at line 19 of file SCMTriAssemblyMeshGenerator.h.
| SCMTriAssemblyMeshGenerator::SCMTriAssemblyMeshGenerator | ( | const InputParameters & | parameters | ) |
initial assignment
Build channel-gap connectivity from the channel-pin and gap-pin maps.
Center channels are bounded by three center gaps connecting their three pin pairs. Edge channels are bounded by one center gap between their two pins and two perimeter gaps along the duct. Corner channels are bounded by the two perimeter gaps that meet at the corner pin.
For a two-ring assembly every outer-ring pin is a corner pin. Consequently an edge channel can find a corner channel at both of its endpoint pins. The edge still owns only three local gap entries, matching _sign_id_crossflow_map and the reverse _gap_to_chan_map construction below, so the second corner lookup is skipped once those three entries are already present.
Definition at line 78 of file SCMTriAssemblyMeshGenerator.C.
|
protected |
Build the 1D pin elements and append them to the subchannel mesh.
Definition at line 792 of file SCMTriAssemblyMeshGenerator.C.
Referenced by generate().
|
overridevirtual |
Implements MeshGenerator.
Definition at line 838 of file SCMTriAssemblyMeshGenerator.C.
|
static |
Definition at line 36 of file SCMTriAssemblyMeshGenerator.C.
|
protected |
sweeping flow model channel pairs to specify directional edge flow
Definition at line 115 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
stores the gaps that forms each subchannel
Definition at line 86 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
stores the fuel pins belonging to each subchannel
Definition at line 101 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
the gap thickness between the duct and peripheral fuel pins
Definition at line 75 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
wire diameter
Definition at line 71 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate().
|
protected |
the distance between flat surfaces of the duct facing each other
Definition at line 69 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate().
|
protected |
sweeping flow model gap pairs per channel to specify directional edge flow
Definition at line 113 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
stores the channel pairs for each gap
Definition at line 82 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
stores the fuel pin pairs for each gap each gap
Definition at line 84 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
gap type
Definition at line 111 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
gap size
Definition at line 93 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
heated length of the fuel Pin
Definition at line 33 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
wire lead length
Definition at line 73 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate().
|
protected |
index of subchannels affected by blockage
Definition at line 51 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
form loss coefficient of subchannels affected by blockage
Definition at line 55 of file SCMTriAssemblyMeshGenerator.h.
Referenced by SCMTriAssemblyMeshGenerator().
|
protected |
axial form loss coefficient per computational cell
Definition at line 43 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
Lateral form loss coefficient.
Definition at line 59 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate().
|
protected |
number of axial cells
Definition at line 63 of file SCMTriAssemblyMeshGenerator.h.
Referenced by buildPinMesh(), generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
number of subchannels
Definition at line 67 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
number of gaps
Definition at line 107 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
number of rings of fuel pins
Definition at line 65 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
|
protected |
number of fuel pins
Definition at line 105 of file SCMTriAssemblyMeshGenerator.h.
Referenced by buildPinMesh(), generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
pin block index
Definition at line 39 of file SCMTriAssemblyMeshGenerator.h.
Referenced by buildPinMesh().
|
protected |
fuel Pin diameter
Definition at line 61 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
pin nodes
Definition at line 80 of file SCMTriAssemblyMeshGenerator.h.
Referenced by buildPinMesh(), and generate().
|
protected |
x,y coordinates of the fuel pins
Definition at line 97 of file SCMTriAssemblyMeshGenerator.h.
Referenced by buildPinMesh(), generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
stores the map from pins to channels
Definition at line 103 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
fuel pins that are belonging to each ring
Definition at line 99 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
Distance between the neighbor fuel pins, pitch.
Definition at line 57 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
area reduction of subchannels affected by blockage
Definition at line 53 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
Defines the global cross-flow direction -1 or 1 for each subchannel and for all gaps that are belonging to the corresponding subchannel.
Given a subchannel and a gap, if the neighbor subchannel index belonging to the same gap is lower, set it to -1, otherwise set it to 1.
Definition at line 91 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
form loss coefficient of the spacers
Definition at line 47 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
axial location of the spacers
Definition at line 45 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
subchannel type
Definition at line 109 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
subchannel block index
Definition at line 37 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate().
|
protected |
x,y coordinates of the subchannel centroids
Definition at line 95 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
unheated length of the fuel Pin at the entry of the assembly
Definition at line 31 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
unheated length of the fuel Pin at the exit of the assembly
Definition at line 35 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
axial location of blockage (inlet, outlet) [m]
Definition at line 49 of file SCMTriAssemblyMeshGenerator.h.
Referenced by generate(), and SCMTriAssemblyMeshGenerator().
|
protected |
axial location of nodes
Definition at line 41 of file SCMTriAssemblyMeshGenerator.h.
Referenced by buildPinMesh(), generate(), and SCMTriAssemblyMeshGenerator().