www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PorousFlowSink Class Reference

Applies a flux sink to a boundary. More...

#include <PorousFlowSink.h>

Inheritance diagram for PorousFlowSink:
[legend]

Public Member Functions

 PorousFlowSink (const InputParameters &parameters)
 

Protected Member Functions

virtual Real computeQpResidual () override
 
virtual Real computeQpJacobian () override
 
virtual Real computeQpOffDiagJacobian (unsigned int jvar) override
 
Real jac (unsigned int jvar) const
 Derivative of residual with respect to the jvar variable. More...
 
virtual Real multiplier () const
 The flux gets multiplied by this quantity. More...
 
virtual Real dmultiplier_dvar (unsigned int pvar) const
 d(multiplier)/d(Porous flow variable pvar) More...
 

Protected Attributes

const PorousFlowDictator_dictator
 PorousFlowDictator UserObject. More...
 
const bool _involves_fluid
 Whether this BC involves fluid (whether the user has supplied a fluid phase number) More...
 
const unsigned int _ph
 The phase number. More...
 
const bool _use_mass_fraction
 Whether the flux will be multiplied by the mass fraction. More...
 
const bool _has_mass_fraction
 Whether there is a "mass_fraction" Material. This is just for error checking. More...
 
const unsigned int _sp
 The component number (only used if _use_mass_fraction==true) More...
 
const bool _use_mobility
 Whether to multiply the sink flux by permeability*density/viscosity. More...
 
const bool _has_mobility
 Whether there are Materials that can form "mobility". This is just for error checking. More...
 
const bool _use_relperm
 Whether to multiply the sink flux by relative permeability. More...
 
const bool _has_relperm
 Whether there is a "relperm" Material. This is just for error checking. More...
 
const bool _use_enthalpy
 Whether to multiply the sink flux by enthalpy. More...
 
const bool _has_enthalpy
 Whether there is an "enthalpy" Material. This is just for error checking. More...
 
const bool _use_internal_energy
 Whether to multiply the sink flux by internal_energy. More...
 
const bool _has_internal_energy
 Whether there is an "internal_energy" Material. This is just for error checking. More...
 
const bool _use_thermal_conductivity
 Whether to multiply the sink flux by thermal_conductivity. More...
 
const bool _has_thermal_conductivity
 Whether there is an "thermal_conductivity" Material. This is just for error checking. More...
 
Function & _m_func
 The flux. More...
 
const MaterialProperty< RealTensorValue > *const _permeability
 Permeability of porous material. More...
 
const MaterialProperty< std::vector< RealTensorValue > > *const _dpermeability_dvar
 d(Permeability)/d(PorousFlow variable) More...
 
const MaterialProperty< std::vector< std::vector< RealTensorValue > > > *const _dpermeability_dgradvar
 d(Permeability)/d(grad(PorousFlow variable)) More...
 
const MaterialProperty< std::vector< Real > > *const _fluid_density_node
 Fluid density for each phase (at the node) More...
 
const MaterialProperty< std::vector< std::vector< Real > > > *const _dfluid_density_node_dvar
 d(Fluid density for each phase (at the node))/d(PorousFlow variable) More...
 
const MaterialProperty< std::vector< Real > > *const _fluid_viscosity
 Viscosity of each component in each phase. More...
 
const MaterialProperty< std::vector< std::vector< Real > > > *const _dfluid_viscosity_dvar
 d(Viscosity of each component in each phase)/d(PorousFlow variable) More...
 
const MaterialProperty< std::vector< Real > > *const _relative_permeability
 Relative permeability of each phase. More...
 
const MaterialProperty< std::vector< std::vector< Real > > > *const _drelative_permeability_dvar
 d(Relative permeability of each phase)/d(PorousFlow variable) More...
 
const MaterialProperty< std::vector< std::vector< Real > > > *const _mass_fractions
 Mass fraction of each component in each phase. More...
 
const MaterialProperty< std::vector< std::vector< std::vector< Real > > > > *const _dmass_fractions_dvar
 d(Mass fraction of each component in each phase)/d(PorousFlow variable) More...
 
const MaterialProperty< std::vector< Real > > *const _enthalpy
 Enthalpy of each phase. More...
 
const MaterialProperty< std::vector< std::vector< Real > > > *const _denthalpy_dvar
 d(enthalpy of each phase)/d(PorousFlow variable) More...
 
const MaterialProperty< std::vector< Real > > *const _internal_energy
 Internal_Energy of each phase. More...
 
const MaterialProperty< std::vector< std::vector< Real > > > *const _dinternal_energy_dvar
 d(internal_energy of each phase)/d(PorousFlow variable) More...
 
const MaterialProperty< RealTensorValue > *const _thermal_conductivity
 Thermal_Conductivity of porous material. More...
 
const MaterialProperty< std::vector< RealTensorValue > > *const _dthermal_conductivity_dvar
 d(Thermal_Conductivity)/d(PorousFlow variable) More...
 

Detailed Description

Applies a flux sink to a boundary.

The strength of the flux is specified by flux_function. In addition, this sink can be multiplied by: (1) the relative permeability of the fluid at the nodes (2) perm_nn*density/viscosity (the so-called mobility) where perm_nn is the permeability tensor projected to the normal direction. (3) the mass_fraction of a component at the nodes (4) the enthalpy of the phase (5) the internal energy of the phase (6) the thermal conductivity of the medium

Definition at line 35 of file PorousFlowSink.h.

Constructor & Destructor Documentation

◆ PorousFlowSink()

PorousFlowSink::PorousFlowSink ( const InputParameters &  parameters)

Definition at line 80 of file PorousFlowSink.C.

81  : IntegratedBC(parameters),
82  _dictator(getUserObject<PorousFlowDictator>("PorousFlowDictator")),
83  _involves_fluid(isParamValid("fluid_phase")),
84  _ph(_involves_fluid ? getParam<unsigned int>("fluid_phase") : 0),
85  _use_mass_fraction(isParamValid("mass_fraction_component")),
87  hasMaterialProperty<std::vector<std::vector<Real>>>("PorousFlow_mass_frac_nodal") &&
88  hasMaterialProperty<std::vector<std::vector<std::vector<Real>>>>(
89  "dPorousFlow_mass_frac_nodal_dvar")),
90  _sp(_use_mass_fraction ? getParam<unsigned int>("mass_fraction_component") : 0),
91  _use_mobility(getParam<bool>("use_mobility")),
93  hasMaterialProperty<RealTensorValue>("PorousFlow_permeability_qp") &&
94  hasMaterialProperty<std::vector<RealTensorValue>>("dPorousFlow_permeability_qp_dvar") &&
95  hasMaterialProperty<std::vector<Real>>("PorousFlow_fluid_phase_density_nodal") &&
96  hasMaterialProperty<std::vector<std::vector<Real>>>(
97  "dPorousFlow_fluid_phase_density_nodal_dvar") &&
98  hasMaterialProperty<std::vector<Real>>("PorousFlow_viscosity_nodal") &&
99  hasMaterialProperty<std::vector<std::vector<Real>>>("dPorousFlow_viscosity_nodal_dvar")),
100  _use_relperm(getParam<bool>("use_relperm")),
101  _has_relperm(hasMaterialProperty<std::vector<Real>>("PorousFlow_relative_permeability_nodal") &&
102  hasMaterialProperty<std::vector<std::vector<Real>>>(
103  "dPorousFlow_relative_permeability_nodal_dvar")),
104  _use_enthalpy(getParam<bool>("use_enthalpy")),
105  _has_enthalpy(hasMaterialProperty<std::vector<Real>>("PorousFlow_fluid_phase_enthalpy_nodal") &&
106  hasMaterialProperty<std::vector<std::vector<Real>>>(
107  "dPorousFlow_fluid_phase_enthalpy_nodal_dvar")),
108  _use_internal_energy(getParam<bool>("use_internal_energy")),
110  hasMaterialProperty<std::vector<Real>>("PorousFlow_fluid_phase_internal_energy_nodal") &&
111  hasMaterialProperty<std::vector<std::vector<Real>>>(
112  "dPorousFlow_fluid_phase_internal_energy_nodal_dvar")),
113  _use_thermal_conductivity(getParam<bool>("use_thermal_conductivity")),
115  hasMaterialProperty<RealTensorValue>("PorousFlow_thermal_conductivity_qp") &&
116  hasMaterialProperty<std::vector<RealTensorValue>>(
117  "dPorousFlow_thermal_conductivity_qp_dvar")),
118  _m_func(getFunction("flux_function")),
120  ? &getMaterialProperty<RealTensorValue>("PorousFlow_permeability_qp")
121  : nullptr),
122  _dpermeability_dvar(_has_mobility ? &getMaterialProperty<std::vector<RealTensorValue>>(
123  "dPorousFlow_permeability_qp_dvar")
124  : nullptr),
126  ? &getMaterialProperty<std::vector<std::vector<RealTensorValue>>>(
127  "dPorousFlow_permeability_qp_dgradvar")
128  : nullptr),
129  _fluid_density_node(_has_mobility ? &getMaterialProperty<std::vector<Real>>(
130  "PorousFlow_fluid_phase_density_nodal")
131  : nullptr),
132  _dfluid_density_node_dvar(_has_mobility ? &getMaterialProperty<std::vector<std::vector<Real>>>(
133  "dPorousFlow_fluid_phase_density_nodal_dvar")
134  : nullptr),
136  ? &getMaterialProperty<std::vector<Real>>("PorousFlow_viscosity_nodal")
137  : nullptr),
138  _dfluid_viscosity_dvar(_has_mobility ? &getMaterialProperty<std::vector<std::vector<Real>>>(
139  "dPorousFlow_viscosity_nodal_dvar")
140  : nullptr),
141  _relative_permeability(_has_relperm ? &getMaterialProperty<std::vector<Real>>(
142  "PorousFlow_relative_permeability_nodal")
143  : nullptr),
145  ? &getMaterialProperty<std::vector<std::vector<Real>>>(
146  "dPorousFlow_relative_permeability_nodal_dvar")
147  : nullptr),
148  _mass_fractions(_has_mass_fraction ? &getMaterialProperty<std::vector<std::vector<Real>>>(
149  "PorousFlow_mass_frac_nodal")
150  : nullptr),
152  ? &getMaterialProperty<std::vector<std::vector<std::vector<Real>>>>(
153  "dPorousFlow_mass_frac_nodal_dvar")
154  : nullptr),
155  _enthalpy(_has_enthalpy ? &getMaterialPropertyByName<std::vector<Real>>(
156  "PorousFlow_fluid_phase_enthalpy_nodal")
157  : nullptr),
158  _denthalpy_dvar(_has_enthalpy ? &getMaterialPropertyByName<std::vector<std::vector<Real>>>(
159  "dPorousFlow_fluid_phase_enthalpy_nodal_dvar")
160  : nullptr),
161  _internal_energy(_has_internal_energy ? &getMaterialPropertyByName<std::vector<Real>>(
162  "PorousFlow_fluid_phase_internal_energy_nodal")
163  : nullptr),
165  ? &getMaterialPropertyByName<std::vector<std::vector<Real>>>(
166  "dPorousFlow_fluid_phase_internal_energy_nodal_dvar")
167  : nullptr),
168  _thermal_conductivity(_has_thermal_conductivity ? &getMaterialProperty<RealTensorValue>(
169  "PorousFlow_thermal_conductivity_qp")
170  : nullptr),
172  ? &getMaterialProperty<std::vector<RealTensorValue>>(
173  "dPorousFlow_thermal_conductivity_qp_dvar")
174  : nullptr)
175 {
177  paramError("fluid_phase",
178  "The Dictator proclaims that the maximum phase index in this simulation is ",
179  _dictator.numPhases() - 1,
180  " whereas you have used ",
181  _ph,
182  ". Remember that indexing starts at 0. You must try harder.");
183 
186  mooseError("PorousFlowSink: To use_mass_fraction, use_mobility, use_relperm, use_enthalpy or "
187  "use_internal_energy, you must provide a fluid phase number");
188 
190  paramError("mass_fraction_component",
191  "The Dictator declares that the maximum fluid component index is ",
192  _dictator.numComponents() - 1,
193  ", but you have set mass_fraction_component to ",
194  _sp,
195  ". Remember that indexing starts at 0. Please be assured that the Dictator has "
196  "noted your error.");
197 
199  mooseError("PorousFlowSink: You have used the use_mass_fraction flag, but you have no "
200  "mass_fraction Material");
201 
203  mooseError("PorousFlowSink: You have used the use_mobility flag, but there are not the "
204  "required Materials for this");
205 
206  if (_use_relperm && !_has_relperm)
207  mooseError(
208  "PorousFlowSink: You have used the use_relperm flag, but you have no relperm Material");
209 
211  mooseError(
212  "PorousFlowSink: You have used the use_enthalpy flag, but you have no enthalpy Material");
213 
215  mooseError("PorousFlowSink: You have used the use_internal_energy flag, but you have no "
216  "internal_energy Material");
217 
219  mooseError("PorousFlowSink: You have used the use_thermal_conductivity flag, but you have no "
220  "thermal_conductivity Material");
221 }
const bool _has_enthalpy
Whether there is an "enthalpy" Material. This is just for error checking.
const bool _involves_fluid
Whether this BC involves fluid (whether the user has supplied a fluid phase number) ...
const MaterialProperty< std::vector< Real > > *const _relative_permeability
Relative permeability of each phase.
const unsigned int _sp
The component number (only used if _use_mass_fraction==true)
const unsigned int _ph
The phase number.
const MaterialProperty< std::vector< std::vector< Real > > > *const _denthalpy_dvar
d(enthalpy of each phase)/d(PorousFlow variable)
const MaterialProperty< std::vector< std::vector< RealTensorValue > > > *const _dpermeability_dgradvar
d(Permeability)/d(grad(PorousFlow variable))
const PorousFlowDictator & _dictator
PorousFlowDictator UserObject.
const bool _has_internal_energy
Whether there is an "internal_energy" Material. This is just for error checking.
const MaterialProperty< std::vector< Real > > *const _fluid_viscosity
Viscosity of each component in each phase.
const bool _has_thermal_conductivity
Whether there is an "thermal_conductivity" Material. This is just for error checking.
unsigned int numComponents() const
The number of fluid components.
const bool _has_mobility
Whether there are Materials that can form "mobility". This is just for error checking.
const bool _use_mass_fraction
Whether the flux will be multiplied by the mass fraction.
const bool _has_relperm
Whether there is a "relperm" Material. This is just for error checking.
const MaterialProperty< std::vector< std::vector< Real > > > *const _mass_fractions
Mass fraction of each component in each phase.
const MaterialProperty< RealTensorValue > *const _thermal_conductivity
Thermal_Conductivity of porous material.
const bool _use_relperm
Whether to multiply the sink flux by relative permeability.
const bool _use_mobility
Whether to multiply the sink flux by permeability*density/viscosity.
const MaterialProperty< std::vector< Real > > *const _internal_energy
Internal_Energy of each phase.
const MaterialProperty< std::vector< RealTensorValue > > *const _dthermal_conductivity_dvar
d(Thermal_Conductivity)/d(PorousFlow variable)
const MaterialProperty< std::vector< std::vector< Real > > > *const _dfluid_density_node_dvar
d(Fluid density for each phase (at the node))/d(PorousFlow variable)
const MaterialProperty< std::vector< std::vector< std::vector< Real > > > > *const _dmass_fractions_dvar
d(Mass fraction of each component in each phase)/d(PorousFlow variable)
unsigned int numPhases() const
The number of fluid phases.
const bool _use_enthalpy
Whether to multiply the sink flux by enthalpy.
Function & _m_func
The flux.
const MaterialProperty< std::vector< Real > > *const _enthalpy
Enthalpy of each phase.
const bool _has_mass_fraction
Whether there is a "mass_fraction" Material. This is just for error checking.
const bool _use_internal_energy
Whether to multiply the sink flux by internal_energy.
const bool _use_thermal_conductivity
Whether to multiply the sink flux by thermal_conductivity.
const MaterialProperty< std::vector< Real > > *const _fluid_density_node
Fluid density for each phase (at the node)
const MaterialProperty< std::vector< std::vector< Real > > > *const _drelative_permeability_dvar
d(Relative permeability of each phase)/d(PorousFlow variable)
const MaterialProperty< std::vector< std::vector< Real > > > *const _dinternal_energy_dvar
d(internal_energy of each phase)/d(PorousFlow variable)
const MaterialProperty< RealTensorValue > *const _permeability
Permeability of porous material.
const MaterialProperty< std::vector< std::vector< Real > > > *const _dfluid_viscosity_dvar
d(Viscosity of each component in each phase)/d(PorousFlow variable)
const MaterialProperty< std::vector< RealTensorValue > > *const _dpermeability_dvar
d(Permeability)/d(PorousFlow variable)

Member Function Documentation

◆ computeQpJacobian()

Real PorousFlowSink::computeQpJacobian ( )
overrideprotectedvirtual

Definition at line 249 of file PorousFlowSink.C.

250 {
251  return jac(_var.number());
252 }
Real jac(unsigned int jvar) const
Derivative of residual with respect to the jvar variable.

◆ computeQpOffDiagJacobian()

Real PorousFlowSink::computeQpOffDiagJacobian ( unsigned int  jvar)
overrideprotectedvirtual

Definition at line 255 of file PorousFlowSink.C.

256 {
257  return jac(jvar);
258 }
Real jac(unsigned int jvar) const
Derivative of residual with respect to the jvar variable.

◆ computeQpResidual()

Real PorousFlowSink::computeQpResidual ( )
overrideprotectedvirtual

Definition at line 224 of file PorousFlowSink.C.

225 {
226  Real flux = _test[_i][_qp] * multiplier();
227  if (_use_mobility)
228  {
229  const Real k =
230  ((*_permeability)[_qp] * _normals[_qp]) * _normals[_qp]; // do not upwind permeability
231  flux *= (*_fluid_density_node)[_i][_ph] * k / (*_fluid_viscosity)[_i][_ph];
232  }
233  if (_use_relperm)
234  flux *= (*_relative_permeability)[_i][_ph];
235  if (_use_mass_fraction)
236  flux *= (*_mass_fractions)[_i][_ph][_sp];
237  if (_use_enthalpy)
238  flux *= (*_enthalpy)[_i][_ph];
240  flux *= (*_internal_energy)[_i][_ph];
242  flux *= ((*_thermal_conductivity)[_qp] * _normals[_qp]) *
243  _normals[_qp]; // do not upwind thermal_conductivity
244 
245  return flux;
246 }
const unsigned int _sp
The component number (only used if _use_mass_fraction==true)
const unsigned int _ph
The phase number.
const bool _use_mass_fraction
Whether the flux will be multiplied by the mass fraction.
virtual Real multiplier() const
The flux gets multiplied by this quantity.
const bool _use_relperm
Whether to multiply the sink flux by relative permeability.
const bool _use_mobility
Whether to multiply the sink flux by permeability*density/viscosity.
const bool _use_enthalpy
Whether to multiply the sink flux by enthalpy.
const bool _use_internal_energy
Whether to multiply the sink flux by internal_energy.
const bool _use_thermal_conductivity
Whether to multiply the sink flux by thermal_conductivity.

◆ dmultiplier_dvar()

Real PorousFlowSink::dmultiplier_dvar ( unsigned int  pvar) const
protectedvirtual

◆ jac()

Real PorousFlowSink::jac ( unsigned int  jvar) const
protected

Derivative of residual with respect to the jvar variable.

Definition at line 261 of file PorousFlowSink.C.

Referenced by computeQpJacobian(), and computeQpOffDiagJacobian().

262 {
264  return 0.0;
265  const unsigned int pvar = _dictator.porousFlowVariableNum(jvar);
266 
267  // For _i != _j, note:
268  // since the only non-upwinded contribution to the residual is
269  // from the permeability and thermal_conductivity, the only contribution
270  // of the residual at node _i from changing jvar at node _j is through
271  // the derivative of permeability or thermal_conductivity
272 
273  Real flux = _test[_i][_qp] * multiplier();
274  Real deriv = _test[_i][_qp] * (_i != _j ? 0.0 : dmultiplier_dvar(pvar));
275 
276  if (_use_mobility)
277  {
278  const Real k = ((*_permeability)[_qp] * _normals[_qp]) * _normals[_qp];
279  const Real mob = (*_fluid_density_node)[_i][_ph] * k / (*_fluid_viscosity)[_i][_ph];
280  RealTensorValue ktprime = (*_dpermeability_dvar)[_qp][pvar] * _phi[_j][_qp];
281  for (unsigned i = 0; i < LIBMESH_DIM; ++i)
282  ktprime += (*_dpermeability_dgradvar)[_qp][i][pvar] * _grad_phi[_j][_qp](i);
283  const Real kprime = (ktprime * _normals[_qp]) * _normals[_qp];
284 
285  Real mobprime = (*_fluid_density_node)[_i][_ph] * kprime / (*_fluid_viscosity)[_i][_ph];
286  mobprime +=
287  (_i != _j
288  ? 0.0
289  : (*_dfluid_density_node_dvar)[_i][_ph][pvar] * k / (*_fluid_viscosity)[_i][_ph] -
290  (*_fluid_density_node)[_i][_ph] * k * (*_dfluid_viscosity_dvar)[_i][_ph][pvar] /
291  std::pow((*_fluid_viscosity)[_i][_ph], 2));
292  deriv = mob * deriv + mobprime * flux;
293  flux *= mob;
294  }
295  if (_use_relperm)
296  {
297  const Real relperm_prime = (_i != _j ? 0.0 : (*_drelative_permeability_dvar)[_i][_ph][pvar]);
298  deriv = (*_relative_permeability)[_i][_ph] * deriv + relperm_prime * flux;
299  flux *= (*_relative_permeability)[_i][_ph];
300  }
301  if (_use_mass_fraction)
302  {
303  const Real mf_prime = (_i != _j ? 0.0 : (*_dmass_fractions_dvar)[_i][_ph][_sp][pvar]);
304  deriv = (*_mass_fractions)[_i][_ph][_sp] * deriv + mf_prime * flux;
305  flux *= (*_mass_fractions)[_i][_ph][_sp];
306  }
307  if (_use_enthalpy)
308  {
309  const Real en_prime = (_i != _j ? 0.0 : (*_denthalpy_dvar)[_i][_ph][pvar]);
310  deriv = (*_enthalpy)[_i][_ph] * deriv + en_prime * flux;
311  flux *= (*_enthalpy)[_i][_ph];
312  }
314  {
315  const Real ie_prime = (_i != _j ? 0.0 : (*_dinternal_energy_dvar)[_i][_ph][pvar]);
316  deriv = (*_internal_energy)[_i][_ph] * deriv + ie_prime * flux;
317  flux *= (*_internal_energy)[_i][_ph];
318  }
320  {
321  const Real tc = ((*_thermal_conductivity)[_qp] * _normals[_qp]) * _normals[_qp];
322  const RealTensorValue tctprime = (*_dthermal_conductivity_dvar)[_qp][pvar] * _phi[_j][_qp];
323  const Real tcprime = (tctprime * _normals[_qp]) * _normals[_qp];
324  deriv = tc * deriv + tcprime * flux;
325  // don't need this: flux *= tc;
326  }
327  return deriv;
328 }
const unsigned int _sp
The component number (only used if _use_mass_fraction==true)
const unsigned int _ph
The phase number.
const MaterialProperty< std::vector< std::vector< RealTensorValue > > > *const _dpermeability_dgradvar
d(Permeability)/d(grad(PorousFlow variable))
bool notPorousFlowVariable(unsigned int moose_var_num) const
Returns true if moose_var_num is not a porous flow variabe.
const PorousFlowDictator & _dictator
PorousFlowDictator UserObject.
const MaterialProperty< std::vector< Real > > *const _fluid_viscosity
Viscosity of each component in each phase.
const bool _use_mass_fraction
Whether the flux will be multiplied by the mass fraction.
virtual Real multiplier() const
The flux gets multiplied by this quantity.
const bool _use_relperm
Whether to multiply the sink flux by relative permeability.
const bool _use_mobility
Whether to multiply the sink flux by permeability*density/viscosity.
virtual Real dmultiplier_dvar(unsigned int pvar) const
d(multiplier)/d(Porous flow variable pvar)
const bool _use_enthalpy
Whether to multiply the sink flux by enthalpy.
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
const bool _use_internal_energy
Whether to multiply the sink flux by internal_energy.
const bool _use_thermal_conductivity
Whether to multiply the sink flux by thermal_conductivity.
unsigned int porousFlowVariableNum(unsigned int moose_var_num) const
The PorousFlow variable number.

◆ multiplier()

Real PorousFlowSink::multiplier ( ) const
protectedvirtual

Member Data Documentation

◆ _denthalpy_dvar

const MaterialProperty<std::vector<std::vector<Real> > >* const PorousFlowSink::_denthalpy_dvar
protected

d(enthalpy of each phase)/d(PorousFlow variable)

Definition at line 133 of file PorousFlowSink.h.

◆ _dfluid_density_node_dvar

const MaterialProperty<std::vector<std::vector<Real> > >* const PorousFlowSink::_dfluid_density_node_dvar
protected

d(Fluid density for each phase (at the node))/d(PorousFlow variable)

Definition at line 109 of file PorousFlowSink.h.

◆ _dfluid_viscosity_dvar

const MaterialProperty<std::vector<std::vector<Real> > >* const PorousFlowSink::_dfluid_viscosity_dvar
protected

d(Viscosity of each component in each phase)/d(PorousFlow variable)

Definition at line 115 of file PorousFlowSink.h.

◆ _dictator

const PorousFlowDictator& PorousFlowSink::_dictator
protected

PorousFlowDictator UserObject.

Definition at line 46 of file PorousFlowSink.h.

Referenced by jac(), and PorousFlowSink().

◆ _dinternal_energy_dvar

const MaterialProperty<std::vector<std::vector<Real> > >* const PorousFlowSink::_dinternal_energy_dvar
protected

d(internal_energy of each phase)/d(PorousFlow variable)

Definition at line 139 of file PorousFlowSink.h.

◆ _dmass_fractions_dvar

const MaterialProperty<std::vector<std::vector<std::vector<Real> > > >* const PorousFlowSink::_dmass_fractions_dvar
protected

d(Mass fraction of each component in each phase)/d(PorousFlow variable)

Definition at line 127 of file PorousFlowSink.h.

◆ _dpermeability_dgradvar

const MaterialProperty<std::vector<std::vector<RealTensorValue> > >* const PorousFlowSink::_dpermeability_dgradvar
protected

d(Permeability)/d(grad(PorousFlow variable))

Definition at line 103 of file PorousFlowSink.h.

Referenced by jac().

◆ _dpermeability_dvar

const MaterialProperty<std::vector<RealTensorValue> >* const PorousFlowSink::_dpermeability_dvar
protected

d(Permeability)/d(PorousFlow variable)

Definition at line 100 of file PorousFlowSink.h.

◆ _drelative_permeability_dvar

const MaterialProperty<std::vector<std::vector<Real> > >* const PorousFlowSink::_drelative_permeability_dvar
protected

d(Relative permeability of each phase)/d(PorousFlow variable)

Definition at line 121 of file PorousFlowSink.h.

◆ _dthermal_conductivity_dvar

const MaterialProperty<std::vector<RealTensorValue> >* const PorousFlowSink::_dthermal_conductivity_dvar
protected

d(Thermal_Conductivity)/d(PorousFlow variable)

Definition at line 145 of file PorousFlowSink.h.

◆ _enthalpy

const MaterialProperty<std::vector<Real> >* const PorousFlowSink::_enthalpy
protected

Enthalpy of each phase.

Definition at line 130 of file PorousFlowSink.h.

◆ _fluid_density_node

const MaterialProperty<std::vector<Real> >* const PorousFlowSink::_fluid_density_node
protected

Fluid density for each phase (at the node)

Definition at line 106 of file PorousFlowSink.h.

◆ _fluid_viscosity

const MaterialProperty<std::vector<Real> >* const PorousFlowSink::_fluid_viscosity
protected

Viscosity of each component in each phase.

Definition at line 112 of file PorousFlowSink.h.

Referenced by jac().

◆ _has_enthalpy

const bool PorousFlowSink::_has_enthalpy
protected

Whether there is an "enthalpy" Material. This is just for error checking.

Definition at line 79 of file PorousFlowSink.h.

Referenced by PorousFlowSink().

◆ _has_internal_energy

const bool PorousFlowSink::_has_internal_energy
protected

Whether there is an "internal_energy" Material. This is just for error checking.

Definition at line 85 of file PorousFlowSink.h.

Referenced by PorousFlowSink().

◆ _has_mass_fraction

const bool PorousFlowSink::_has_mass_fraction
protected

Whether there is a "mass_fraction" Material. This is just for error checking.

Definition at line 58 of file PorousFlowSink.h.

Referenced by PorousFlowSink().

◆ _has_mobility

const bool PorousFlowSink::_has_mobility
protected

Whether there are Materials that can form "mobility". This is just for error checking.

Definition at line 67 of file PorousFlowSink.h.

Referenced by PorousFlowSink().

◆ _has_relperm

const bool PorousFlowSink::_has_relperm
protected

Whether there is a "relperm" Material. This is just for error checking.

Definition at line 73 of file PorousFlowSink.h.

Referenced by PorousFlowSink().

◆ _has_thermal_conductivity

const bool PorousFlowSink::_has_thermal_conductivity
protected

Whether there is an "thermal_conductivity" Material. This is just for error checking.

Definition at line 91 of file PorousFlowSink.h.

Referenced by PorousFlowSink().

◆ _internal_energy

const MaterialProperty<std::vector<Real> >* const PorousFlowSink::_internal_energy
protected

Internal_Energy of each phase.

Definition at line 136 of file PorousFlowSink.h.

◆ _involves_fluid

const bool PorousFlowSink::_involves_fluid
protected

Whether this BC involves fluid (whether the user has supplied a fluid phase number)

Definition at line 49 of file PorousFlowSink.h.

Referenced by PorousFlowSinkPTDefiner::dptVar(), PorousFlowSink(), PorousFlowSinkPTDefiner::PorousFlowSinkPTDefiner(), and PorousFlowSinkPTDefiner::ptVar().

◆ _m_func

Function& PorousFlowSink::_m_func
protected

The flux.

Definition at line 94 of file PorousFlowSink.h.

Referenced by multiplier().

◆ _mass_fractions

const MaterialProperty<std::vector<std::vector<Real> > >* const PorousFlowSink::_mass_fractions
protected

Mass fraction of each component in each phase.

Definition at line 124 of file PorousFlowSink.h.

◆ _permeability

const MaterialProperty<RealTensorValue>* const PorousFlowSink::_permeability
protected

Permeability of porous material.

Definition at line 97 of file PorousFlowSink.h.

◆ _ph

const unsigned int PorousFlowSink::_ph
protected

◆ _relative_permeability

const MaterialProperty<std::vector<Real> >* const PorousFlowSink::_relative_permeability
protected

Relative permeability of each phase.

Definition at line 118 of file PorousFlowSink.h.

◆ _sp

const unsigned int PorousFlowSink::_sp
protected

The component number (only used if _use_mass_fraction==true)

Definition at line 61 of file PorousFlowSink.h.

Referenced by computeQpResidual(), jac(), and PorousFlowSink().

◆ _thermal_conductivity

const MaterialProperty<RealTensorValue>* const PorousFlowSink::_thermal_conductivity
protected

Thermal_Conductivity of porous material.

Definition at line 142 of file PorousFlowSink.h.

◆ _use_enthalpy

const bool PorousFlowSink::_use_enthalpy
protected

Whether to multiply the sink flux by enthalpy.

Definition at line 76 of file PorousFlowSink.h.

Referenced by computeQpResidual(), jac(), and PorousFlowSink().

◆ _use_internal_energy

const bool PorousFlowSink::_use_internal_energy
protected

Whether to multiply the sink flux by internal_energy.

Definition at line 82 of file PorousFlowSink.h.

Referenced by computeQpResidual(), jac(), and PorousFlowSink().

◆ _use_mass_fraction

const bool PorousFlowSink::_use_mass_fraction
protected

Whether the flux will be multiplied by the mass fraction.

Definition at line 55 of file PorousFlowSink.h.

Referenced by computeQpResidual(), jac(), and PorousFlowSink().

◆ _use_mobility

const bool PorousFlowSink::_use_mobility
protected

Whether to multiply the sink flux by permeability*density/viscosity.

Definition at line 64 of file PorousFlowSink.h.

Referenced by computeQpResidual(), jac(), and PorousFlowSink().

◆ _use_relperm

const bool PorousFlowSink::_use_relperm
protected

Whether to multiply the sink flux by relative permeability.

Definition at line 70 of file PorousFlowSink.h.

Referenced by computeQpResidual(), jac(), and PorousFlowSink().

◆ _use_thermal_conductivity

const bool PorousFlowSink::_use_thermal_conductivity
protected

Whether to multiply the sink flux by thermal_conductivity.

Definition at line 88 of file PorousFlowSink.h.

Referenced by computeQpResidual(), jac(), and PorousFlowSink().


The documentation for this class was generated from the following files: