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

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

#include <PorousFlowHalfCubicSink.h>

Inheritance diagram for PorousFlowHalfCubicSink:
[legend]

Public Member Functions

 PorousFlowHalfCubicSink (const InputParameters &parameters)
 

Protected Member Functions

virtual Real multiplier () const override
 The flux gets multiplied by this quantity. More...
 
virtual Real dmultiplier_dvar (unsigned int pvar) const override
 d(multiplier)/d(Porous flow variable pvar) More...
 
virtual Real ptVar () const
 Provides the variable value (either porepressure, or temperature, depending on _involves_fluid) More...
 
virtual Real dptVar (unsigned pvar) const
 Provides the d(variable)/(d PorousFlow Variable pvar) More...
 
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...
 

Protected Attributes

const Real _maximum
 Maximum of the cubic sink. More...
 
Function & _cutoff
 Denote x = porepressure - center. Then Flux out = (max/cutoff^3)*(2x + cutoff)(x - cutoff)^2 for cutoff < x < 0. Flux out = max for x >= 0. Flux out = 0 for x <= cutoff. More...
 
const Real _center
 Center of the cubic sink. More...
 
const MaterialProperty< std::vector< Real > > *const _pp
 Nodal pore pressure in each phase. More...
 
const MaterialProperty< std::vector< std::vector< Real > > > *const _dpp_dvar
 d(Nodal pore pressure in each phase)/d(PorousFlow variable) More...
 
const MaterialProperty< Real > *const _temp
 Nodal temperature. More...
 
const MaterialProperty< std::vector< Real > > *const _dtemp_dvar
 d(Nodal temperature)/d(PorousFlow variable) More...
 
const VariableValue & _pt_shift
 Subtract this from porepressure or temperature before evaluating PiecewiseLinearSink, HalfCubicSink, etc. More...
 
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 base flux defined by PorousFlowSink is multiplied by a cubic. Denote x = porepressure - center, or in the case of heat fluxes with no fluid, x = temperature - center. Then Then Flux out = (max/cutoff^3)*(2x + cutoff)(x - cutoff)^2 for cutoff < x < 0. Flux out = max for x >= 0. Flux out = 0 for x <= cutoff. This is typically used for modelling evapotranspiration from the top of a groundwater model

Definition at line 31 of file PorousFlowHalfCubicSink.h.

Constructor & Destructor Documentation

◆ PorousFlowHalfCubicSink()

PorousFlowHalfCubicSink::PorousFlowHalfCubicSink ( const InputParameters &  parameters)

Definition at line 37 of file PorousFlowHalfCubicSink.C.

38  : PorousFlowSinkPTDefiner(parameters),
39  _maximum(getParam<Real>("max")),
40  _cutoff(getFunction("cutoff")),
41  _center(getParam<Real>("center"))
42 {
43 }
PorousFlowSinkPTDefiner(const InputParameters &parameters)
const Real _maximum
Maximum of the cubic sink.
const Real _center
Center of the cubic sink.
Function & _cutoff
Denote x = porepressure - center. Then Flux out = (max/cutoff^3)*(2x + cutoff)(x - cutoff)^2 for cuto...

Member Function Documentation

◆ computeQpJacobian()

Real PorousFlowSink::computeQpJacobian ( )
overrideprotectedvirtualinherited

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)
overrideprotectedvirtualinherited

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 ( )
overrideprotectedvirtualinherited

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 PorousFlowHalfCubicSink::dmultiplier_dvar ( unsigned int  pvar) const
overrideprotectedvirtual

d(multiplier)/d(Porous flow variable pvar)

Reimplemented from PorousFlowSink.

Definition at line 62 of file PorousFlowHalfCubicSink.C.

63 {
64  const Real x = ptVar() - _center;
65 
66  if (x >= 0)
68 
69  const Real cutoff = _cutoff.value(_t, _q_point[_qp]);
70  if (x <= cutoff)
71  return 0.0;
72 
73  const Real str =
74  _maximum * (2 * x + cutoff) * (x - cutoff) * (x - cutoff) / Utility::pow<3>(cutoff);
75  const Real deriv = _maximum * 6 * x * (x - cutoff) / Utility::pow<3>(cutoff);
76  return PorousFlowSink::dmultiplier_dvar(pvar) * str +
77  PorousFlowSink::multiplier() * deriv * dptVar(pvar);
78 }
const Real _maximum
Maximum of the cubic sink.
virtual Real ptVar() const
Provides the variable value (either porepressure, or temperature, depending on _involves_fluid) ...
const Real _center
Center of the cubic sink.
Function & _cutoff
Denote x = porepressure - center. Then Flux out = (max/cutoff^3)*(2x + cutoff)(x - cutoff)^2 for cuto...
virtual Real multiplier() const
The flux gets multiplied by this quantity.
virtual Real dptVar(unsigned pvar) const
Provides the d(variable)/(d PorousFlow Variable pvar)
virtual Real dmultiplier_dvar(unsigned int pvar) const
d(multiplier)/d(Porous flow variable pvar)

◆ dptVar()

Real PorousFlowSinkPTDefiner::dptVar ( unsigned  pvar) const
protectedvirtualinherited

Provides the d(variable)/(d PorousFlow Variable pvar)

Definition at line 55 of file PorousFlowSinkPTDefiner.C.

Referenced by PorousFlowPiecewiseLinearSink::dmultiplier_dvar(), PorousFlowHalfGaussianSink::dmultiplier_dvar(), and dmultiplier_dvar().

56 {
57  if (_involves_fluid)
58  return (*_dpp_dvar)[_i][_ph][pvar];
59  return (*_dtemp_dvar)[_i][pvar];
60 }
const bool _involves_fluid
Whether this BC involves fluid (whether the user has supplied a fluid phase number) ...
const unsigned int _ph
The phase number.
const MaterialProperty< std::vector< Real > > *const _dtemp_dvar
d(Nodal temperature)/d(PorousFlow variable)
const MaterialProperty< std::vector< std::vector< Real > > > *const _dpp_dvar
d(Nodal pore pressure in each phase)/d(PorousFlow variable)

◆ jac()

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

Derivative of residual with respect to the jvar variable.

Definition at line 261 of file PorousFlowSink.C.

Referenced by PorousFlowSink::computeQpJacobian(), and PorousFlowSink::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 PorousFlowHalfCubicSink::multiplier ( ) const
overrideprotectedvirtual

The flux gets multiplied by this quantity.

Reimplemented from PorousFlowSink.

Definition at line 46 of file PorousFlowHalfCubicSink.C.

47 {
48  const Real x = ptVar() - _center;
49 
50  if (x >= 0)
52 
53  const Real cutoff = _cutoff.value(_t, _q_point[_qp]);
54  if (x <= cutoff)
55  return 0.0;
56 
57  return PorousFlowSink::multiplier() * _maximum * (2 * x + cutoff) * (x - cutoff) * (x - cutoff) /
58  Utility::pow<3>(cutoff);
59 }
const Real _maximum
Maximum of the cubic sink.
virtual Real ptVar() const
Provides the variable value (either porepressure, or temperature, depending on _involves_fluid) ...
const Real _center
Center of the cubic sink.
Function & _cutoff
Denote x = porepressure - center. Then Flux out = (max/cutoff^3)*(2x + cutoff)(x - cutoff)^2 for cuto...
virtual Real multiplier() const
The flux gets multiplied by this quantity.

◆ ptVar()

Real PorousFlowSinkPTDefiner::ptVar ( ) const
protectedvirtualinherited

Provides the variable value (either porepressure, or temperature, depending on _involves_fluid)

Definition at line 47 of file PorousFlowSinkPTDefiner.C.

Referenced by PorousFlowPiecewiseLinearSink::dmultiplier_dvar(), PorousFlowHalfGaussianSink::dmultiplier_dvar(), dmultiplier_dvar(), PorousFlowPiecewiseLinearSink::multiplier(), PorousFlowHalfGaussianSink::multiplier(), and multiplier().

48 {
49  if (_involves_fluid)
50  return (*_pp)[_i][_ph] - _pt_shift[_i];
51  return (*_temp)[_i] - _pt_shift[_i];
52 }
const bool _involves_fluid
Whether this BC involves fluid (whether the user has supplied a fluid phase number) ...
const unsigned int _ph
The phase number.
const VariableValue & _pt_shift
Subtract this from porepressure or temperature before evaluating PiecewiseLinearSink, HalfCubicSink, etc.
const MaterialProperty< std::vector< Real > > *const _pp
Nodal pore pressure in each phase.
const MaterialProperty< Real > *const _temp
Nodal temperature.

Member Data Documentation

◆ _center

const Real PorousFlowHalfCubicSink::_center
protected

Center of the cubic sink.

Definition at line 44 of file PorousFlowHalfCubicSink.h.

Referenced by dmultiplier_dvar(), and multiplier().

◆ _cutoff

Function& PorousFlowHalfCubicSink::_cutoff
protected

Denote x = porepressure - center. Then Flux out = (max/cutoff^3)*(2x + cutoff)(x - cutoff)^2 for cutoff < x < 0. Flux out = max for x >= 0. Flux out = 0 for x <= cutoff.

Definition at line 41 of file PorousFlowHalfCubicSink.h.

Referenced by dmultiplier_dvar(), and multiplier().

◆ _denthalpy_dvar

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

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
protectedinherited

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
protectedinherited

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

Definition at line 115 of file PorousFlowSink.h.

◆ _dictator

const PorousFlowDictator& PorousFlowSink::_dictator
protectedinherited

PorousFlowDictator UserObject.

Definition at line 46 of file PorousFlowSink.h.

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

◆ _dinternal_energy_dvar

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

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
protectedinherited

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
protectedinherited

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

Definition at line 103 of file PorousFlowSink.h.

Referenced by PorousFlowSink::jac().

◆ _dpermeability_dvar

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

d(Permeability)/d(PorousFlow variable)

Definition at line 100 of file PorousFlowSink.h.

◆ _dpp_dvar

const MaterialProperty<std::vector<std::vector<Real> > >* const PorousFlowSinkPTDefiner::_dpp_dvar
protectedinherited

d(Nodal pore pressure in each phase)/d(PorousFlow variable)

Definition at line 35 of file PorousFlowSinkPTDefiner.h.

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

◆ _drelative_permeability_dvar

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

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

Definition at line 121 of file PorousFlowSink.h.

◆ _dtemp_dvar

const MaterialProperty<std::vector<Real> >* const PorousFlowSinkPTDefiner::_dtemp_dvar
protectedinherited

d(Nodal temperature)/d(PorousFlow variable)

Definition at line 41 of file PorousFlowSinkPTDefiner.h.

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

◆ _dthermal_conductivity_dvar

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

d(Thermal_Conductivity)/d(PorousFlow variable)

Definition at line 145 of file PorousFlowSink.h.

◆ _enthalpy

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

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
protectedinherited

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
protectedinherited

Viscosity of each component in each phase.

Definition at line 112 of file PorousFlowSink.h.

Referenced by PorousFlowSink::jac().

◆ _has_enthalpy

const bool PorousFlowSink::_has_enthalpy
protectedinherited

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

Definition at line 79 of file PorousFlowSink.h.

Referenced by PorousFlowSink::PorousFlowSink().

◆ _has_internal_energy

const bool PorousFlowSink::_has_internal_energy
protectedinherited

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

Definition at line 85 of file PorousFlowSink.h.

Referenced by PorousFlowSink::PorousFlowSink().

◆ _has_mass_fraction

const bool PorousFlowSink::_has_mass_fraction
protectedinherited

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

Definition at line 58 of file PorousFlowSink.h.

Referenced by PorousFlowSink::PorousFlowSink().

◆ _has_mobility

const bool PorousFlowSink::_has_mobility
protectedinherited

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::PorousFlowSink().

◆ _has_relperm

const bool PorousFlowSink::_has_relperm
protectedinherited

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

Definition at line 73 of file PorousFlowSink.h.

Referenced by PorousFlowSink::PorousFlowSink().

◆ _has_thermal_conductivity

const bool PorousFlowSink::_has_thermal_conductivity
protectedinherited

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

Definition at line 91 of file PorousFlowSink.h.

Referenced by PorousFlowSink::PorousFlowSink().

◆ _internal_energy

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

Internal_Energy of each phase.

Definition at line 136 of file PorousFlowSink.h.

◆ _involves_fluid

const bool PorousFlowSink::_involves_fluid
protectedinherited

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::PorousFlowSink(), PorousFlowSinkPTDefiner::PorousFlowSinkPTDefiner(), and PorousFlowSinkPTDefiner::ptVar().

◆ _m_func

Function& PorousFlowSink::_m_func
protectedinherited

The flux.

Definition at line 94 of file PorousFlowSink.h.

Referenced by PorousFlowSink::multiplier().

◆ _mass_fractions

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

Mass fraction of each component in each phase.

Definition at line 124 of file PorousFlowSink.h.

◆ _maximum

const Real PorousFlowHalfCubicSink::_maximum
protected

Maximum of the cubic sink.

Definition at line 38 of file PorousFlowHalfCubicSink.h.

Referenced by dmultiplier_dvar(), and multiplier().

◆ _permeability

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

Permeability of porous material.

Definition at line 97 of file PorousFlowSink.h.

◆ _ph

const unsigned int PorousFlowSink::_ph
protectedinherited

◆ _pp

const MaterialProperty<std::vector<Real> >* const PorousFlowSinkPTDefiner::_pp
protectedinherited

Nodal pore pressure in each phase.

Definition at line 32 of file PorousFlowSinkPTDefiner.h.

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

◆ _pt_shift

const VariableValue& PorousFlowSinkPTDefiner::_pt_shift
protectedinherited

Subtract this from porepressure or temperature before evaluating PiecewiseLinearSink, HalfCubicSink, etc.

Definition at line 44 of file PorousFlowSinkPTDefiner.h.

Referenced by PorousFlowSinkPTDefiner::ptVar().

◆ _relative_permeability

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

Relative permeability of each phase.

Definition at line 118 of file PorousFlowSink.h.

◆ _sp

const unsigned int PorousFlowSink::_sp
protectedinherited

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

Definition at line 61 of file PorousFlowSink.h.

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

◆ _temp

const MaterialProperty<Real>* const PorousFlowSinkPTDefiner::_temp
protectedinherited

◆ _thermal_conductivity

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

Thermal_Conductivity of porous material.

Definition at line 142 of file PorousFlowSink.h.

◆ _use_enthalpy

const bool PorousFlowSink::_use_enthalpy
protectedinherited

Whether to multiply the sink flux by enthalpy.

Definition at line 76 of file PorousFlowSink.h.

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

◆ _use_internal_energy

const bool PorousFlowSink::_use_internal_energy
protectedinherited

Whether to multiply the sink flux by internal_energy.

Definition at line 82 of file PorousFlowSink.h.

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

◆ _use_mass_fraction

const bool PorousFlowSink::_use_mass_fraction
protectedinherited

Whether the flux will be multiplied by the mass fraction.

Definition at line 55 of file PorousFlowSink.h.

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

◆ _use_mobility

const bool PorousFlowSink::_use_mobility
protectedinherited

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

Definition at line 64 of file PorousFlowSink.h.

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

◆ _use_relperm

const bool PorousFlowSink::_use_relperm
protectedinherited

Whether to multiply the sink flux by relative permeability.

Definition at line 70 of file PorousFlowSink.h.

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

◆ _use_thermal_conductivity

const bool PorousFlowSink::_use_thermal_conductivity
protectedinherited

Whether to multiply the sink flux by thermal_conductivity.

Definition at line 88 of file PorousFlowSink.h.

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


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