www.mooseframework.org
PorousFlowFullySaturatedHeatAdvection.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
11 
13 
16 {
18  params.addClassDescription("Heat flux that arises from the advection of a fully-saturated single "
19  "phase fluid. No upwinding is used");
20  return params;
21 }
22 
24  const InputParameters & parameters)
26  _enthalpy(getMaterialProperty<std::vector<Real>>("PorousFlow_fluid_phase_enthalpy_qp")),
27  _denthalpy_dvar(getMaterialProperty<std::vector<std::vector<Real>>>(
28  "dPorousFlow_fluid_phase_enthalpy_qp_dvar"))
29 {
30 }
31 
32 Real
34 {
35  const unsigned ph = 0;
37 }
38 
39 Real
41 {
42  const unsigned ph = 0;
44  const Real ddarcy_mob = PorousFlowFullySaturatedDarcyBase::dmobility(pvar);
45  return _denthalpy_dvar[_qp][ph][pvar] * darcy_mob + _enthalpy[_qp][ph] * ddarcy_mob;
46 }
Advection of heat via flux via Darcy flow of a single phase fully-saturated fluid.
virtual Real dmobility(unsigned pvar) const
The derivative of the mobility with respect to the PorousFlow variable pvar.
virtual Real mobility() const override
The mobility of the fluid = density / viscosity.
virtual Real dmobility(unsigned pvar) const override
The derivative of the mobility with respect to the PorousFlow variable pvar.
const MaterialProperty< std::vector< Real > > & _enthalpy
Enthalpy of each phase.
const MaterialProperty< std::vector< std::vector< Real > > > & _denthalpy_dvar
Derivative of the enthalpy wrt PorousFlow variables.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Darcy advective flux for a fully-saturated, single phase, single component fluid. ...
PorousFlowFullySaturatedHeatAdvection(const InputParameters &parameters)
void addClassDescription(const std::string &doc_string)
registerMooseObject("PorousFlowApp", PorousFlowFullySaturatedHeatAdvection)
virtual Real mobility() const
The mobility of the fluid = density / viscosity.
unsigned int _qp