24 "Calculate heat or mass transfer from a coupled variable v to the variable u. " 25 "No mass lumping is performed here.");
27 "v",
"The variable which is tranfsered to u using a transfer coefficient");
30 "Transfer coefficient for heat or mass transferred between variables");
40 _v(this->template coupledGenericValue<is_ad>(
"v")),
41 _coef_var(this->template coupledGenericValue<is_ad>(
"transfer_coefficient"))
49 return _coef_var[_qp] * (_u[_qp] - _v[_qp]) * _test[_i][_qp];
56 return jac(_var.number());
72 if (jvar == _var.number())
73 return _coef_var[_qp] * _phi[_j][_qp] * _test[_i][_qp];
74 else if (jvar == _v_var)
75 return -_coef_var[_qp] * _phi[_j][_qp] * _test[_i][_qp];
Moose::GenericType< Real, is_ad > GenericReal
static InputParameters validParams()
static InputParameters validParams()
Calculate heat or mass transfer from a coupled variable to u.
void libmesh_ignore(const Args &...)
virtual Real jac(unsigned int jvar) const
registerMooseObject("PorousFlowApp", PorousFlowHeatMassTransfer)
PorousFlowHeatMassTransferTempl(const InputParameters ¶meters)
virtual Real computeQpJacobian() override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
virtual GenericReal< is_ad > computeQpResidual() override