20 "Represents a volumetric heat transfer term between two porous-medium energy equations when "
21 "the solved variable is specific enthalpy and the current-side temperature is linearized "
22 "with dT/dh ~= 1/cp.");
25 "Specific heat used to linearize the current-side temperature from the enthalpy variable.");
39 const auto cp =
_cp(elem, state);
41 mooseError(
"cp must stay positive when solving for enthalpy, but cp = ",
73 const auto linearized_current_temperature = h_current / cp;
79 linearized_current_temperature) *
registerMooseObject("NavierStokesApp", LinearFVEnthalpyVolumetricHeatTransfer)
const Elem * elem() const
Moose::ElemArg makeElemArg(const Elem *elem, bool correct_skewnewss=false) const
const ElemInfo * _current_elem_info
Real _current_elem_volume
Volumetric heat transfer kernel for enthalpy equations using an auxiliary temperature together with a...
const Moose::Functor< Real > & _cp
Specific heat used for the current-side temperature linearization.
Real computeRightHandSideContribution() override
Real computeMatrixContribution() override
LinearFVEnthalpyVolumetricHeatTransfer(const InputParameters ¶ms)
Real positiveCp(const Moose::ElemArg &elem, const Moose::StateArg &state) const
Evaluate the specific heat in the current element, erroring if it is not positive.
static InputParameters validParams()
MooseLinearVariableFV< Real > & _var
Kernel that adds contributions to the system matrix and right hand side based on heat transfer betwee...
const MooseLinearVariableFV< Real > & _temp_fluid
Reference to the linear finite volume fluid temperature variable.
const Moose::Functor< Real > & _h_solid_fluid
MOOSE functor describing the heat transfer coefficient.
const bool _is_solid
Flag to help the kernel to decide if it is executed on a solid of a fluid.
static InputParameters validParams()
const MooseLinearVariableFV< Real > & _temp_solid
Reference to the linear finite volume solid temperature variable.
void mooseError(Args &&... args) const
Real getElemValue(const ElemInfo &elem_info, const StateArg &state) const
Moose::StateArg determineState() const
subdomain_id_type subdomain_id() const
Point vertex_average() const
static const std::string cp
const libMesh::Elem * elem