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. More... | |
| 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 More... | |
| const Real | _heated_length |
| heated length of the fuel Pin More... | |
| const Real | _unheated_length_exit |
| unheated length of the fuel Pin at the exit of the assembly More... | |
| const unsigned int | _subchannel_block_id |
| subchannel block index More... | |
| const unsigned int | _pin_block_id |
| pin block index More... | |
| std::vector< Real > | _z_grid |
| axial location of nodes More... | |
| std::vector< std::vector< Real > > | _k_grid |
| axial form loss coefficient per computational cell More... | |
| const std::vector< Real > & | _spacer_z |
| axial location of the spacers More... | |
| const std::vector< Real > & | _spacer_k |
| form loss coefficient of the spacers More... | |
| const std::vector< Real > | _z_blockage |
| axial location of blockage (inlet, outlet) [m] More... | |
| const std::vector< unsigned int > | _index_blockage |
| index of subchannels affected by blockage More... | |
| const std::vector< Real > | _reduction_blockage |
| area reduction of subchannels affected by blockage More... | |
| const std::vector< Real > | _k_blockage |
| form loss coefficient of subchannels affected by blockage More... | |
| const Real | _pitch |
| Distance between the neighbor fuel pins, pitch. More... | |
| const Real & | _kij |
| Lateral form loss coefficient. More... | |
| const Real | _pin_diameter |
| fuel Pin diameter More... | |
| const unsigned int | _n_cells |
| number of axial cells More... | |
| const unsigned int | _n_rings |
| number of rings of fuel pins More... | |
| unsigned int | _n_channels |
| number of subchannels More... | |
| const Real | _flat_to_flat |
| the distance between flat surfaces of the duct facing each other More... | |
| const Real | _dwire |
| wire diameter More... | |
| const Real | _hwire |
| wire lead length More... | |
| const Real | _duct_to_pin_gap |
| the gap thickness between the duct and peripheral fuel pins More... | |
| std::vector< std::vector< Node * > > | _nodes |
| nodes More... | |
| std::vector< std::vector< Node * > > | _pin_nodes |
| pin nodes More... | |
| std::vector< std::pair< unsigned int, unsigned int > > | _gap_to_chan_map |
| stores the channel pairs for each gap More... | |
| std::vector< std::pair< unsigned int, unsigned int > > | _gap_to_pin_map |
| stores the fuel pin pairs for each gap each gap More... | |
| std::vector< std::vector< unsigned int > > | _chan_to_gap_map |
| stores the gaps that forms each subchannel More... | |
| 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. More... | |
| std::vector< std::vector< Real > > | _gij_map |
| gap size More... | |
| std::vector< std::vector< Real > > | _subchannel_position |
| x,y coordinates of the subchannel centroids More... | |
| std::vector< Point > | _pin_position |
| x,y coordinates of the fuel pins More... | |
| std::vector< std::vector< Real > > | _pins_in_rings |
| fuel pins that are belonging to each ring More... | |
| std::vector< std::vector< unsigned int > > | _chan_to_pin_map |
| stores the fuel pins belonging to each subchannel More... | |
| std::vector< std::vector< unsigned int > > | _pin_to_chan_map |
| stores the map from pins to channels More... | |
| unsigned int | _npins |
| number of fuel pins More... | |
| unsigned int | _n_gaps |
| number of gaps More... | |
| std::vector< EChannelType > | _subch_type |
| subchannel type More... | |
| std::vector< EChannelType > | _gap_type |
| gap type More... | |
| std::vector< std::pair< unsigned int, unsigned int > > | _gap_pairs_sf |
| sweeping flow model gap pairs per channel to specify directional edge flow More... | |
| std::vector< std::pair< unsigned int, unsigned int > > | _chan_pairs_sf |
| sweeping flow model channel pairs to specify directional edge flow More... | |
| 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 |
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().
1.8.14