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
 PorousFlow 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 34 of file PorousFlowSink.h.

Constructor & Destructor Documentation

PorousFlowSink::PorousFlowSink ( const InputParameters &  parameters)

Definition at line 78 of file PorousFlowSink.C.

79  : IntegratedBC(parameters),
80  _dictator(getUserObject<PorousFlowDictator>("PorousFlowDictator")),
81  _involves_fluid(isParamValid("fluid_phase")),
82  _ph(_involves_fluid ? getParam<unsigned int>("fluid_phase") : 0),
83  _use_mass_fraction(isParamValid("mass_fraction_component")),
85  hasMaterialProperty<std::vector<std::vector<Real>>>("PorousFlow_mass_frac_nodal") &&
86  hasMaterialProperty<std::vector<std::vector<std::vector<Real>>>>(
87  "dPorousFlow_mass_frac_nodal_dvar")),
88  _sp(_use_mass_fraction ? getParam<unsigned int>("mass_fraction_component") : 0),
89  _use_mobility(getParam<bool>("use_mobility")),
91  hasMaterialProperty<RealTensorValue>("PorousFlow_permeability_qp") &&
92  hasMaterialProperty<std::vector<RealTensorValue>>("dPorousFlow_permeability_qp_dvar") &&
93  hasMaterialProperty<std::vector<Real>>("PorousFlow_fluid_phase_density_nodal") &&
94  hasMaterialProperty<std::vector<std::vector<Real>>>(
95  "dPorousFlow_fluid_phase_density_nodal_dvar") &&
96  hasMaterialProperty<std::vector<Real>>("PorousFlow_viscosity_nodal") &&
97  hasMaterialProperty<std::vector<std::vector<Real>>>("dPorousFlow_viscosity_nodal_dvar")),
98  _use_relperm(getParam<bool>("use_relperm")),
99  _has_relperm(hasMaterialProperty<std::vector<Real>>("PorousFlow_relative_permeability_nodal") &&
100  hasMaterialProperty<std::vector<std::vector<Real>>>(
101  "dPorousFlow_relative_permeability_nodal_dvar")),
102  _use_enthalpy(getParam<bool>("use_enthalpy")),
103  _has_enthalpy(hasMaterialProperty<std::vector<Real>>("PorousFlow_fluid_phase_enthalpy_nodal") &&
104  hasMaterialProperty<std::vector<std::vector<Real>>>(
105  "dPorousFlow_fluid_phase_enthalpy_nodal_dvar")),
106  _use_internal_energy(getParam<bool>("use_internal_energy")),
108  hasMaterialProperty<std::vector<Real>>("PorousFlow_fluid_phase_internal_energy_nodal") &&
109  hasMaterialProperty<std::vector<std::vector<Real>>>(
110  "dPorousFlow_fluid_phase_internal_energy_nodal_dvar")),
111  _use_thermal_conductivity(getParam<bool>("use_thermal_conductivity")),
113  hasMaterialProperty<RealTensorValue>("PorousFlow_thermal_conductivity_qp") &&
114  hasMaterialProperty<std::vector<RealTensorValue>>(
115  "dPorousFlow_thermal_conductivity_qp_dvar")),
116  _m_func(getFunction("flux_function")),
118  ? &getMaterialProperty<RealTensorValue>("PorousFlow_permeability_qp")
119  : nullptr),
122  ? &getMaterialProperty<std::vector<RealTensorValue>>("dPorousFlow_permeability_qp_dvar")
123  : nullptr),
125  ? &getMaterialProperty<std::vector<std::vector<RealTensorValue>>>(
126  "dPorousFlow_permeability_qp_dgradvar")
127  : nullptr),
130  ? &getMaterialProperty<std::vector<Real>>("PorousFlow_fluid_phase_density_nodal")
131  : nullptr),
133  ? &getMaterialProperty<std::vector<std::vector<Real>>>(
134  "dPorousFlow_fluid_phase_density_nodal_dvar")
135  : nullptr),
137  ? &getMaterialProperty<std::vector<Real>>("PorousFlow_viscosity_nodal")
138  : nullptr),
140  ? &getMaterialProperty<std::vector<std::vector<Real>>>(
141  "dPorousFlow_viscosity_nodal_dvar")
142  : nullptr),
145  ? &getMaterialProperty<std::vector<Real>>("PorousFlow_relative_permeability_nodal")
146  : nullptr),
148  ? &getMaterialProperty<std::vector<std::vector<Real>>>(
149  "dPorousFlow_relative_permeability_nodal_dvar")
150  : nullptr),
153  ? &getMaterialProperty<std::vector<std::vector<Real>>>("PorousFlow_mass_frac_nodal")
154  : nullptr),
156  ? &getMaterialProperty<std::vector<std::vector<std::vector<Real>>>>(
157  "dPorousFlow_mass_frac_nodal_dvar")
158  : nullptr),
159  _enthalpy(
161  ? &getMaterialPropertyByName<std::vector<Real>>("PorousFlow_fluid_phase_enthalpy_nodal")
162  : nullptr),
164  ? &getMaterialPropertyByName<std::vector<std::vector<Real>>>(
165  "dPorousFlow_fluid_phase_enthalpy_nodal_dvar")
166  : nullptr),
168  ? &getMaterialPropertyByName<std::vector<Real>>(
169  "PorousFlow_fluid_phase_internal_energy_nodal")
170  : nullptr),
172  ? &getMaterialPropertyByName<std::vector<std::vector<Real>>>(
173  "dPorousFlow_fluid_phase_internal_energy_nodal_dvar")
174  : nullptr),
177  ? &getMaterialProperty<RealTensorValue>("PorousFlow_thermal_conductivity_qp")
178  : nullptr),
180  ? &getMaterialProperty<std::vector<RealTensorValue>>(
181  "dPorousFlow_thermal_conductivity_qp_dvar")
182  : nullptr)
183 {
185  mooseError("PorousFlowSink: The Dictator declares that the number of fluid phases is ",
187  ", but you have set the fluid_phase to ",
188  _ph,
189  ". You must try harder.");
192  mooseError("PorousFlowSink: To use_mass_fraction, use_mobility, use_relperm, use_enthalpy or "
193  "use_internal_energy, you must provide a fluid phase number");
195  mooseError("PorousFlowSink: The Dictator declares that the number of fluid components is ",
197  ", but you have set the mass_fraction_component to ",
198  _sp,
199  ". Please be assured that the Dictator has noted your error.");
201  mooseError("PorousFlowSink: You have used the use_mass_fraction flag, but you have no "
202  "mass_fraction Material");
204  mooseError("PorousFlowSink: You have used the use_mobility flag, but there are not the "
205  "required Materials for this");
206  if (_use_relperm && !_has_relperm)
207  mooseError(
208  "PorousFlowSink: You have used the use_relperm flag, but you have no relperm Material");
210  mooseError(
211  "PorousFlowSink: You have used the use_enthalpy flag, but you have no enthalpy Material");
213  mooseError("PorousFlowSink: You have used the use_internal_energy flag, but you have no "
214  "internal_energy Material");
216  mooseError("PorousFlowSink: You have used the use_thermal_conductivity flag, but you have no "
217  "thermal_conductivity Material");
218 }
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
PorousFlow 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 ...
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.
unsigned int numComponents() const
the number of fluid components
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)
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.
unsigned int numPhases() const
the number of fluid phases
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

Real PorousFlowSink::computeQpJacobian ( )
overrideprotectedvirtual

Definition at line 246 of file PorousFlowSink.C.

247 {
248  return jac(_var.number());
249 }
Real jac(unsigned int jvar) const
derivative of residual with respect to the jvar variable
Real PorousFlowSink::computeQpOffDiagJacobian ( unsigned int  jvar)
overrideprotectedvirtual

Definition at line 252 of file PorousFlowSink.C.

253 {
254  return jac(jvar);
255 }
Real jac(unsigned int jvar) const
derivative of residual with respect to the jvar variable
Real PorousFlowSink::computeQpResidual ( )
overrideprotectedvirtual

Definition at line 221 of file PorousFlowSink.C.

222 {
223  Real flux = _test[_i][_qp] * multiplier();
224  if (_use_mobility)
225  {
226  const Real k =
227  ((*_permeability)[_qp] * _normals[_qp]) * _normals[_qp]; // do not upwind permeability
228  flux *= (*_fluid_density_node)[_i][_ph] * k / (*_fluid_viscosity)[_i][_ph];
229  }
230  if (_use_relperm)
231  flux *= (*_relative_permeability)[_i][_ph];
232  if (_use_mass_fraction)
233  flux *= (*_mass_fractions)[_i][_ph][_sp];
234  if (_use_enthalpy)
235  flux *= (*_enthalpy)[_i][_ph];
237  flux *= (*_internal_energy)[_i][_ph];
239  flux *= ((*_thermal_conductivity)[_qp] * _normals[_qp]) *
240  _normals[_qp]; // do not upwind thermal_conductivity
241 
242  return flux;
243 }
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.
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
virtual Real multiplier() const
The flux gets multiplied by this quantity.
Real PorousFlowSink::dmultiplier_dvar ( unsigned int  pvar) const
protectedvirtual
Real PorousFlowSink::jac ( unsigned int  jvar) const
protected

derivative of residual with respect to the jvar variable

Definition at line 258 of file PorousFlowSink.C.

Referenced by computeQpJacobian(), and computeQpOffDiagJacobian().

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

Member Data Documentation

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

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

Definition at line 132 of file PorousFlowSink.h.

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 108 of file PorousFlowSink.h.

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 114 of file PorousFlowSink.h.

const PorousFlowDictator& PorousFlowSink::_dictator
protected

PorousFlow UserObject.

Definition at line 45 of file PorousFlowSink.h.

Referenced by jac(), and PorousFlowSink().

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 138 of file PorousFlowSink.h.

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 126 of file PorousFlowSink.h.

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

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

Definition at line 102 of file PorousFlowSink.h.

Referenced by jac().

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

d(Permeability)/d(PorousFlow variable)

Definition at line 99 of file PorousFlowSink.h.

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 120 of file PorousFlowSink.h.

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

d(Thermal_Conductivity)/d(PorousFlow variable)

Definition at line 144 of file PorousFlowSink.h.

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

Enthalpy of each phase.

Definition at line 129 of file PorousFlowSink.h.

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

Fluid density for each phase (at the node)

Definition at line 105 of file PorousFlowSink.h.

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

Viscosity of each component in each phase.

Definition at line 111 of file PorousFlowSink.h.

Referenced by jac().

const bool PorousFlowSink::_has_enthalpy
protected

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

Definition at line 78 of file PorousFlowSink.h.

Referenced by PorousFlowSink().

const bool PorousFlowSink::_has_internal_energy
protected

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

Definition at line 84 of file PorousFlowSink.h.

Referenced by PorousFlowSink().

const bool PorousFlowSink::_has_mass_fraction
protected

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

Definition at line 57 of file PorousFlowSink.h.

Referenced by PorousFlowSink().

const bool PorousFlowSink::_has_mobility
protected

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

Definition at line 66 of file PorousFlowSink.h.

Referenced by PorousFlowSink().

const bool PorousFlowSink::_has_relperm
protected

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

Definition at line 72 of file PorousFlowSink.h.

Referenced by PorousFlowSink().

const bool PorousFlowSink::_has_thermal_conductivity
protected

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

Definition at line 90 of file PorousFlowSink.h.

Referenced by PorousFlowSink().

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

Internal_Energy of each phase.

Definition at line 135 of file PorousFlowSink.h.

const bool PorousFlowSink::_involves_fluid
protected

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

Definition at line 48 of file PorousFlowSink.h.

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

Function& PorousFlowSink::_m_func
protected

The flux.

Definition at line 93 of file PorousFlowSink.h.

Referenced by multiplier().

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

Mass fraction of each component in each phase.

Definition at line 123 of file PorousFlowSink.h.

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

Permeability of porous material.

Definition at line 96 of file PorousFlowSink.h.

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

Relative permeability of each phase.

Definition at line 117 of file PorousFlowSink.h.

const unsigned int PorousFlowSink::_sp
protected

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

Definition at line 60 of file PorousFlowSink.h.

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

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

Thermal_Conductivity of porous material.

Definition at line 141 of file PorousFlowSink.h.

const bool PorousFlowSink::_use_enthalpy
protected

whether to multiply the sink flux by enthalpy

Definition at line 75 of file PorousFlowSink.h.

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

const bool PorousFlowSink::_use_internal_energy
protected

whether to multiply the sink flux by internal_energy

Definition at line 81 of file PorousFlowSink.h.

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

const bool PorousFlowSink::_use_mass_fraction
protected

Whether the flux will be multiplied by the mass fraction.

Definition at line 54 of file PorousFlowSink.h.

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

const bool PorousFlowSink::_use_mobility
protected

whether to multiply the sink flux by permeability*density/viscosity

Definition at line 63 of file PorousFlowSink.h.

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

const bool PorousFlowSink::_use_relperm
protected

whether to multiply the sink flux by relative permeability

Definition at line 69 of file PorousFlowSink.h.

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

const bool PorousFlowSink::_use_thermal_conductivity
protected

whether to multiply the sink flux by thermal_conductivity

Definition at line 87 of file PorousFlowSink.h.

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


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