This class provides an interface for managing conjugate heat transfer (CHT) between fluid and solid domains. More...
#include <CHTHandler.h>
Public Types | |
| typedef DataFileName | DataFileParameterType |
Public Member Functions | |
| CHTHandler (const InputParameters ¶meters) | |
| Constructor with initialization parameters. More... | |
| void | linkEnergySystems (SystemBase *solid_energy_system, SystemBase *fluid_energy_system, std::vector< SystemBase *> pm_radiation_systems) |
| Link energy systems. More... | |
| void | setupConjugateHeatTransferContainers () |
| Set up the boundary condition pairs, functor maps, and every other necessary structure for the conjugate heat transfer routines. More... | |
| void | deduceCHTBoundaryCoupling () |
| Run error checks and make sure everything works. More... | |
| void | updateCHTBoundaryCouplingFields (const NS::CHTSide side) |
| Update the coupling fields for. More... | |
| void | initializeCHTCouplingFields () |
| Initialize the coupling fields for the conjugate heat transfer routines. More... | |
| bool | converged () const |
| Check if CHT iteration converged. More... | |
| void | resetCHTConvergence () |
| Reset the convergence data. More... | |
| void | incrementCHTIterators () |
| Increment CHT iterators in the loop. More... | |
| void | sumIntegratedFluxes () |
| Sum the integrated fluxes over all processors. More... | |
| void | printIntegratedFluxes () const |
| Print the integrated heat fluxes. More... | |
| void | resetIntegratedFluxes () |
| Reset the heat fluxes to 0. More... | |
| virtual bool | enabled () const override final |
| Check if CHT treatment is needed. More... | |
| 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 | haveParameter (const std::string &name) 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 void | callMooseError (MooseApp *const app, const InputParameters ¶ms, std::string msg, const bool with_prefix, const hit::Node *node, const bool show_trace=true) |
Public Attributes | |
| usingCombinedWarningSolutionWarnings | |
| const ConsoleStream | _console |
Static Public Attributes | |
| 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 |
Protected Member Functions | |
| void | flagInvalidSolutionInternal (const InvalidSolutionID invalid_solution_id) const |
| InvalidSolutionID | registerInvalidSolutionInternal (const std::string &message, const bool warning) const |
Protected Attributes | |
| FEProblemBase & | _problem |
| Reference to FEProblem. More... | |
| MooseMesh & | _mesh |
| Mesh. More... | |
| SystemBase * | _energy_system |
| The energy system. More... | |
| SystemBase * | _solid_energy_system |
| The solid energy system. More... | |
| std::vector< SystemBase * > | _pm_radiation_systems |
| The solid energy system. More... | |
| std::vector< BoundaryName > | _cht_boundary_names |
| The names of the CHT boundaries. More... | |
| std::vector< BoundaryID > | _cht_boundary_ids |
| The IDs of the CHT boundaries. More... | |
| const unsigned int | _max_cht_fpi |
| Maximum number of CHT fixed point iterations. More... | |
| const Real | _cht_heat_flux_tolerance |
| Tolerance for heat flux at the CHT interfaces. More... | |
| std::vector< std::vector< Real > > | _cht_flux_relaxation_factor |
| The relaxation factors for flux fields for the CHT boundaries first index is solid/fluid second is the interface. More... | |
| std::vector< std::vector< Real > > | _cht_temperature_relaxation_factor |
| The relaxation factors for temperature fields for the CHT boundaries first index is solid/fluid second is the interface. More... | |
| std::vector< unsigned int > | _cht_system_numbers |
| The solid (0) and fluid (1) system numbers. More... | |
| std::vector< unsigned int > | _cht_pm_radiation_system_numbers |
| The participating media radiation system numbers. More... | |
| std::vector< std::vector< const FaceInfo * > > | _cht_face_info |
| The subset of the FaceInfo objects that belong to the given boundaries. More... | |
| std::vector< LinearFVFluxKernel * > | _cht_conduction_kernels |
| The conduction kernels from the solid/fluid domains. Can't be const, considering we are updating the inner structures for every face. More... | |
| std::vector< LinearFVFluxKernel * > | _cht_pm_radiation_kernels |
| The conduction radiation kernels from the fluid domains. More... | |
| std::vector< std::vector< LinearFVBoundaryCondition * > > | _cht_boundary_conditions |
| Vector of boundary conditions that describe the conjugate heat transfer from each side. More... | |
| std::vector< std::vector< LinearFVBoundaryCondition * > > | _cht_pm_radiation_boundary_conditions |
| Vector of boundary conditions that describe the radiation pm bcs from each side. More... | |
| std::vector< std::vector< FaceCenteredMapFunctor< Real, std::unordered_map< dof_id_type, Real > > > > | _boundary_heat_flux |
| Functors describing the heat flux on the conjugate heat transfer interfaces. More... | |
| std::vector< std::vector< Real > > | _integrated_boundary_heat_flux |
| Integrated flux for the boundaries, first index is the boundary second is solid/fluid. More... | |
| std::vector< std::vector< FaceCenteredMapFunctor< Real, std::unordered_map< dof_id_type, Real > > > > | _boundary_temperature |
| Functors describing the heat flux on the conjugate heat transfer interfaces. More... | |
| 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 Attributes | |
| unsigned int | _fpi_it |
| CHT fixed point iteration counter. More... | |
This class provides an interface for managing conjugate heat transfer (CHT) between fluid and solid domains.
Definition at line 29 of file CHTHandler.h.
| NS::FV::CHTHandler::CHTHandler | ( | const InputParameters & | parameters | ) |
Constructor with initialization parameters.
Definition at line 76 of file CHTHandler.C.
| bool NS::FV::CHTHandler::converged | ( | ) | const |
Check if CHT iteration converged.
Definition at line 495 of file CHTHandler.C.
Referenced by LinearAssemblySegregatedSolve::solve().
| void NS::FV::CHTHandler::deduceCHTBoundaryCoupling | ( | ) |
Run error checks and make sure everything works.
Definition at line 106 of file CHTHandler.C.
Referenced by LinearAssemblySegregatedSolve::initialSetup().
|
inlinefinaloverridevirtual |
Check if CHT treatment is needed.
Reimplemented from MooseObject.
Definition at line 152 of file CHTHandler.h.
Referenced by LinearAssemblySegregatedSolve::initialSetup(), LinearAssemblySegregatedSolve::LinearAssemblySegregatedSolve(), and LinearAssemblySegregatedSolve::solve().
|
inline |
Increment CHT iterators in the loop.
Definition at line 164 of file CHTHandler.h.
Referenced by LinearAssemblySegregatedSolve::solve().
| void NS::FV::CHTHandler::initializeCHTCouplingFields | ( | ) |
Initialize the coupling fields for the conjugate heat transfer routines.
Definition at line 371 of file CHTHandler.C.
Referenced by LinearAssemblySegregatedSolve::solve().
| void NS::FV::CHTHandler::linkEnergySystems | ( | SystemBase * | solid_energy_system, |
| SystemBase * | fluid_energy_system, | ||
| std::vector< SystemBase *> | pm_radiation_systems | ||
| ) |
Link energy systems.
Definition at line 91 of file CHTHandler.C.
Referenced by LinearAssemblySegregatedSolve::LinearAssemblySegregatedSolve().
| void NS::FV::CHTHandler::printIntegratedFluxes | ( | ) | const |
Print the integrated heat fluxes.
Definition at line 476 of file CHTHandler.C.
Referenced by LinearAssemblySegregatedSolve::solve().
|
inline |
Reset the convergence data.
Definition at line 158 of file CHTHandler.h.
Referenced by LinearAssemblySegregatedSolve::solve().
| void NS::FV::CHTHandler::resetIntegratedFluxes | ( | ) |
Reset the heat fluxes to 0.
Definition at line 488 of file CHTHandler.C.
Referenced by LinearAssemblySegregatedSolve::solve().
| void NS::FV::CHTHandler::setupConjugateHeatTransferContainers | ( | ) |
Set up the boundary condition pairs, functor maps, and every other necessary structure for the conjugate heat transfer routines.
Definition at line 291 of file CHTHandler.C.
Referenced by LinearAssemblySegregatedSolve::initialSetup().
| void NS::FV::CHTHandler::sumIntegratedFluxes | ( | ) |
Sum the integrated fluxes over all processors.
Definition at line 465 of file CHTHandler.C.
Referenced by LinearAssemblySegregatedSolve::solve().
| void NS::FV::CHTHandler::updateCHTBoundaryCouplingFields | ( | const NS::CHTSide | side | ) |
Update the coupling fields for.
| side |
Definition at line 392 of file CHTHandler.C.
Referenced by LinearAssemblySegregatedSolve::solve().
|
static |
Definition at line 25 of file CHTHandler.C.
Referenced by LinearAssemblySegregatedSolve::validParams().
|
protected |
Functors describing the heat flux on the conjugate heat transfer interfaces.
Two functors per sideset, first is solid second is fluid.
Definition at line 136 of file CHTHandler.h.
Referenced by setupConjugateHeatTransferContainers(), and updateCHTBoundaryCouplingFields().
|
protected |
Functors describing the heat flux on the conjugate heat transfer interfaces.
Two functors per sideset, first is solid second is fluid.
Definition at line 144 of file CHTHandler.h.
Referenced by initializeCHTCouplingFields(), setupConjugateHeatTransferContainers(), and updateCHTBoundaryCouplingFields().
|
protected |
Vector of boundary conditions that describe the conjugate heat transfer from each side.
Definition at line 128 of file CHTHandler.h.
Referenced by deduceCHTBoundaryCoupling(), initializeCHTCouplingFields(), and updateCHTBoundaryCouplingFields().
|
protected |
The IDs of the CHT boundaries.
Definition at line 96 of file CHTHandler.h.
Referenced by deduceCHTBoundaryCoupling(), initializeCHTCouplingFields(), setupConjugateHeatTransferContainers(), and updateCHTBoundaryCouplingFields().
|
protected |
The names of the CHT boundaries.
Definition at line 93 of file CHTHandler.h.
Referenced by CHTHandler(), deduceCHTBoundaryCoupling(), enabled(), printIntegratedFluxes(), and setupConjugateHeatTransferContainers().
|
protected |
The conduction kernels from the solid/fluid domains. Can't be const, considering we are updating the inner structures for every face.
Definition at line 122 of file CHTHandler.h.
Referenced by deduceCHTBoundaryCoupling(), and updateCHTBoundaryCouplingFields().
|
protected |
The subset of the FaceInfo objects that belong to the given boundaries.
Definition at line 119 of file CHTHandler.h.
Referenced by initializeCHTCouplingFields(), setupConjugateHeatTransferContainers(), and updateCHTBoundaryCouplingFields().
|
protected |
The relaxation factors for flux fields for the CHT boundaries first index is solid/fluid second is the interface.
Definition at line 106 of file CHTHandler.h.
Referenced by deduceCHTBoundaryCoupling(), and updateCHTBoundaryCouplingFields().
|
protected |
Tolerance for heat flux at the CHT interfaces.
Definition at line 102 of file CHTHandler.h.
Referenced by converged().
|
protected |
Vector of boundary conditions that describe the radiation pm bcs from each side.
Definition at line 131 of file CHTHandler.h.
Referenced by deduceCHTBoundaryCoupling(), and updateCHTBoundaryCouplingFields().
|
protected |
The conduction radiation kernels from the fluid domains.
Definition at line 125 of file CHTHandler.h.
Referenced by deduceCHTBoundaryCoupling(), and updateCHTBoundaryCouplingFields().
|
protected |
The participating media radiation system numbers.
Definition at line 116 of file CHTHandler.h.
Referenced by deduceCHTBoundaryCoupling(), and updateCHTBoundaryCouplingFields().
|
protected |
The solid (0) and fluid (1) system numbers.
Definition at line 113 of file CHTHandler.h.
Referenced by deduceCHTBoundaryCoupling(), initializeCHTCouplingFields(), and updateCHTBoundaryCouplingFields().
|
protected |
The relaxation factors for temperature fields for the CHT boundaries first index is solid/fluid second is the interface.
Definition at line 110 of file CHTHandler.h.
Referenced by deduceCHTBoundaryCoupling(), and updateCHTBoundaryCouplingFields().
|
protected |
The energy system.
Definition at line 84 of file CHTHandler.h.
Referenced by deduceCHTBoundaryCoupling(), linkEnergySystems(), and setupConjugateHeatTransferContainers().
|
private |
CHT fixed point iteration counter.
Definition at line 148 of file CHTHandler.h.
Referenced by converged(), incrementCHTIterators(), printIntegratedFluxes(), and resetCHTConvergence().
|
protected |
Integrated flux for the boundaries, first index is the boundary second is solid/fluid.
Definition at line 139 of file CHTHandler.h.
Referenced by converged(), printIntegratedFluxes(), resetIntegratedFluxes(), setupConjugateHeatTransferContainers(), sumIntegratedFluxes(), and updateCHTBoundaryCouplingFields().
|
protected |
Maximum number of CHT fixed point iterations.
Definition at line 99 of file CHTHandler.h.
Referenced by converged().
|
protected |
Mesh.
Definition at line 81 of file CHTHandler.h.
|
protected |
The solid energy system.
Definition at line 90 of file CHTHandler.h.
Referenced by deduceCHTBoundaryCoupling(), linkEnergySystems(), and updateCHTBoundaryCouplingFields().
|
protected |
Reference to FEProblem.
Definition at line 78 of file CHTHandler.h.
Referenced by deduceCHTBoundaryCoupling(), setupConjugateHeatTransferContainers(), and sumIntegratedFluxes().
|
protected |
The solid energy system.
Definition at line 87 of file CHTHandler.h.
Referenced by deduceCHTBoundaryCoupling(), linkEnergySystems(), and setupConjugateHeatTransferContainers().
1.8.14