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

Dispersive flux of component k in fluid phase alpha. More...

#include <PorousFlowDispersiveFlux.h>

Inheritance diagram for PorousFlowDispersiveFlux:
[legend]

Public Member Functions

 PorousFlowDispersiveFlux (const InputParameters &parameters)
 

Protected Member Functions

virtual Real computeQpResidual () override
 
virtual Real computeQpJacobian () override
 
virtual Real computeQpOffDiagJacobian (unsigned int jvar) override
 
Real computeQpJac (unsigned int jvar) const
 Derivative of the residual with respect to the PorousFLow Variable with variable number jvar. More...
 

Protected Attributes

const MaterialProperty< std::vector< Real > > & _fluid_density_qp
 Fluid density for each phase (at the qp) More...
 
const MaterialProperty< std::vector< std::vector< Real > > > & _dfluid_density_qp_dvar
 Derivative of the fluid density for each phase wrt PorousFlow variables (at the qp) More...
 
const MaterialProperty< std::vector< std::vector< RealGradient > > > & _grad_mass_frac
 Gradient of mass fraction of each component in each phase. More...
 
const MaterialProperty< std::vector< std::vector< std::vector< Real > > > > & _dmass_frac_dvar
 Derivative of mass fraction wrt PorousFlow variables. More...
 
const MaterialProperty< Real > & _porosity_qp
 Porosity at the qps. More...
 
const MaterialProperty< std::vector< Real > > & _dporosity_qp_dvar
 Derivative of porosity wrt PorousFlow variables (at the qps) More...
 
const MaterialProperty< std::vector< Real > > & _tortuosity
 Tortuosity tau_0 * tau_{alpha} for fluid phase alpha. More...
 
const MaterialProperty< std::vector< std::vector< Real > > > & _dtortuosity_dvar
 Derivative of tortuosity wrt PorousFlow variables. More...
 
const MaterialProperty< std::vector< std::vector< Real > > > & _diffusion_coeff
 Diffusion coefficients of component k in fluid phase alpha. More...
 
const MaterialProperty< std::vector< std::vector< std::vector< Real > > > > & _ddiffusion_coeff_dvar
 Derivative of the diffusion coefficients wrt PorousFlow variables. More...
 
const PorousFlowDictator_dictator
 PorousFlowDictator UserObject. More...
 
const unsigned int _fluid_component
 Index of the fluid component that this kernel acts on. More...
 
const unsigned int _num_phases
 The number of fluid phases. More...
 
const RankTwoTensor _identity_tensor
 Identity tensor. More...
 
const MaterialProperty< std::vector< Real > > & _relative_permeability
 Relative permeability of each phase. More...
 
const MaterialProperty< std::vector< std::vector< Real > > > & _drelative_permeability_dvar
 Derivative of relative permeability wrt PorousFlow variables. More...
 
const MaterialProperty< std::vector< Real > > & _fluid_viscosity
 Viscosity of each component in each phase. More...
 
const MaterialProperty< std::vector< std::vector< Real > > > & _dfluid_viscosity_dvar
 Derivative of viscosity wrt PorousFlow variables. More...
 
const MaterialProperty< RealTensorValue > & _permeability
 Permeability of porous material. More...
 
const MaterialProperty< std::vector< RealTensorValue > > & _dpermeability_dvar
 Derivative of permeability wrt PorousFlow variables. More...
 
const MaterialProperty< std::vector< std::vector< RealTensorValue > > > & _dpermeability_dgradvar
 d(permeabiity)/d(grad(PorousFlow variable)) More...
 
const MaterialProperty< std::vector< RealGradient > > & _grad_p
 Gradient of the pore pressure in each phase. More...
 
const MaterialProperty< std::vector< std::vector< Real > > > & _dgrad_p_dgrad_var
 Derivative of Grad porepressure in each phase wrt grad(PorousFlow variables) More...
 
const MaterialProperty< std::vector< std::vector< RealGradient > > > & _dgrad_p_dvar
 Derivative of Grad porepressure in each phase wrt PorousFlow variables. More...
 
const RealVectorValue _gravity
 Gravitational acceleration. More...
 
const std::vector< Real > _disp_long
 Longitudinal dispersivity for each phase. More...
 
const std::vector< Real > _disp_trans
 Transverse dispersivity for each phase. More...
 

Detailed Description

Dispersive flux of component k in fluid phase alpha.

Includes the effects of both molecular diffusion and hydrodynamic dispersion.

Definition at line 26 of file PorousFlowDispersiveFlux.h.

Constructor & Destructor Documentation

◆ PorousFlowDispersiveFlux()

PorousFlowDispersiveFlux::PorousFlowDispersiveFlux ( const InputParameters &  parameters)

Definition at line 36 of file PorousFlowDispersiveFlux.C.

37  : Kernel(parameters),
38 
39  _fluid_density_qp(getMaterialProperty<std::vector<Real>>("PorousFlow_fluid_phase_density_qp")),
40  _dfluid_density_qp_dvar(getMaterialProperty<std::vector<std::vector<Real>>>(
41  "dPorousFlow_fluid_phase_density_qp_dvar")),
42  _grad_mass_frac(getMaterialProperty<std::vector<std::vector<RealGradient>>>(
43  "PorousFlow_grad_mass_frac_qp")),
44  _dmass_frac_dvar(getMaterialProperty<std::vector<std::vector<std::vector<Real>>>>(
45  "dPorousFlow_mass_frac_qp_dvar")),
46  _porosity_qp(getMaterialProperty<Real>("PorousFlow_porosity_qp")),
47  _dporosity_qp_dvar(getMaterialProperty<std::vector<Real>>("dPorousFlow_porosity_qp_dvar")),
48  _tortuosity(getMaterialProperty<std::vector<Real>>("PorousFlow_tortuosity_qp")),
50  getMaterialProperty<std::vector<std::vector<Real>>>("dPorousFlow_tortuosity_qp_dvar")),
52  getMaterialProperty<std::vector<std::vector<Real>>>("PorousFlow_diffusion_coeff_qp")),
53  _ddiffusion_coeff_dvar(getMaterialProperty<std::vector<std::vector<std::vector<Real>>>>(
54  "dPorousFlow_diffusion_coeff_qp_dvar")),
55  _dictator(getUserObject<PorousFlowDictator>("PorousFlowDictator")),
56  _fluid_component(getParam<unsigned int>("fluid_component")),
58  _identity_tensor(RankTwoTensor::initIdentity),
60  getMaterialProperty<std::vector<Real>>("PorousFlow_relative_permeability_qp")),
61  _drelative_permeability_dvar(getMaterialProperty<std::vector<std::vector<Real>>>(
62  "dPorousFlow_relative_permeability_qp_dvar")),
63  _fluid_viscosity(getMaterialProperty<std::vector<Real>>("PorousFlow_viscosity_qp")),
65  getMaterialProperty<std::vector<std::vector<Real>>>("dPorousFlow_viscosity_qp_dvar")),
66  _permeability(getMaterialProperty<RealTensorValue>("PorousFlow_permeability_qp")),
68  getMaterialProperty<std::vector<RealTensorValue>>("dPorousFlow_permeability_qp_dvar")),
69  _dpermeability_dgradvar(getMaterialProperty<std::vector<std::vector<RealTensorValue>>>(
70  "dPorousFlow_permeability_qp_dgradvar")),
71  _grad_p(getMaterialProperty<std::vector<RealGradient>>("PorousFlow_grad_porepressure_qp")),
72  _dgrad_p_dgrad_var(getMaterialProperty<std::vector<std::vector<Real>>>(
73  "dPorousFlow_grad_porepressure_qp_dgradvar")),
74  _dgrad_p_dvar(getMaterialProperty<std::vector<std::vector<RealGradient>>>(
75  "dPorousFlow_grad_porepressure_qp_dvar")),
76  _gravity(getParam<RealVectorValue>("gravity")),
77  _disp_long(getParam<std::vector<Real>>("disp_long")),
78  _disp_trans(getParam<std::vector<Real>>("disp_trans"))
79 {
80  // Check that sufficient values of the dispersion coefficients have been entered
81  if (_disp_long.size() != _num_phases)
82  paramError(
83  "disp_long",
84  "The number of longitudinal dispersion coefficients is not equal to the number of phases");
85 
86  if (_disp_trans.size() != _num_phases)
87  paramError("disp_trans",
88  "The number of transverse dispersion coefficients disp_trans in is not equal to the "
89  "number of phases");
90 }
const MaterialProperty< std::vector< std::vector< Real > > > & _dtortuosity_dvar
Derivative of tortuosity wrt PorousFlow variables.
const RankTwoTensor _identity_tensor
Identity tensor.
const MaterialProperty< std::vector< RealGradient > > & _grad_p
Gradient of the pore pressure in each phase.
const MaterialProperty< std::vector< Real > > & _tortuosity
Tortuosity tau_0 * tau_{alpha} for fluid phase alpha.
const MaterialProperty< std::vector< RealTensorValue > > & _dpermeability_dvar
Derivative of permeability wrt PorousFlow variables.
const MaterialProperty< std::vector< std::vector< RealGradient > > > & _dgrad_p_dvar
Derivative of Grad porepressure in each phase wrt PorousFlow variables.
const RealVectorValue _gravity
Gravitational acceleration.
const MaterialProperty< std::vector< Real > > & _fluid_density_qp
Fluid density for each phase (at the qp)
const MaterialProperty< std::vector< std::vector< Real > > > & _diffusion_coeff
Diffusion coefficients of component k in fluid phase alpha.
const MaterialProperty< std::vector< std::vector< RealGradient > > > & _grad_mass_frac
Gradient of mass fraction of each component in each phase.
const MaterialProperty< std::vector< Real > > & _fluid_viscosity
Viscosity of each component in each phase.
const MaterialProperty< std::vector< std::vector< RealTensorValue > > > & _dpermeability_dgradvar
d(permeabiity)/d(grad(PorousFlow variable))
const MaterialProperty< std::vector< std::vector< Real > > > & _dfluid_viscosity_dvar
Derivative of viscosity wrt PorousFlow variables.
const unsigned int _num_phases
The number of fluid phases.
const MaterialProperty< std::vector< Real > > & _dporosity_qp_dvar
Derivative of porosity wrt PorousFlow variables (at the qps)
const PorousFlowDictator & _dictator
PorousFlowDictator UserObject.
unsigned int numPhases() const
The number of fluid phases.
const MaterialProperty< RealTensorValue > & _permeability
Permeability of porous material.
const std::vector< Real > _disp_long
Longitudinal dispersivity for each phase.
const MaterialProperty< std::vector< std::vector< Real > > > & _dfluid_density_qp_dvar
Derivative of the fluid density for each phase wrt PorousFlow variables (at the qp) ...
const MaterialProperty< std::vector< Real > > & _relative_permeability
Relative permeability of each phase.
const MaterialProperty< std::vector< std::vector< Real > > > & _drelative_permeability_dvar
Derivative of relative permeability wrt PorousFlow variables.
const MaterialProperty< std::vector< std::vector< std::vector< Real > > > > & _ddiffusion_coeff_dvar
Derivative of the diffusion coefficients wrt PorousFlow variables.
const unsigned int _fluid_component
Index of the fluid component that this kernel acts on.
const MaterialProperty< std::vector< std::vector< std::vector< Real > > > > & _dmass_frac_dvar
Derivative of mass fraction wrt PorousFlow variables.
const MaterialProperty< std::vector< std::vector< Real > > > & _dgrad_p_dgrad_var
Derivative of Grad porepressure in each phase wrt grad(PorousFlow variables)
const MaterialProperty< Real > & _porosity_qp
Porosity at the qps.
const std::vector< Real > _disp_trans
Transverse dispersivity for each phase.

Member Function Documentation

◆ computeQpJac()

Real PorousFlowDispersiveFlux::computeQpJac ( unsigned int  jvar) const
protected

Derivative of the residual with respect to the PorousFLow Variable with variable number jvar.

This is used by both computeQpJacobian and computeQpOffDiagJacobian

Parameters
jvartake the derivative wrt this variable number
Returns
dResidual_dVar

Definition at line 142 of file PorousFlowDispersiveFlux.C.

Referenced by computeQpJacobian(), and computeQpOffDiagJacobian().

143 {
144  // If the variable is not a valid PorousFlow variable, set the Jacobian to 0
146  return 0.0;
147 
148  const unsigned int pvar = _dictator.porousFlowVariableNum(jvar);
149 
150  RealVectorValue velocity;
151  Real velocity_abs;
152  RankTwoTensor v2;
153  RankTwoTensor dispersion;
154  dispersion.zero();
155  Real diffusion;
156  RealVectorValue flux = 0.0;
157  RealVectorValue dflux = 0.0;
158 
159  for (unsigned int ph = 0; ph < _num_phases; ++ph)
160  {
161  // Diffusive component
162  diffusion =
163  _porosity_qp[_qp] * _tortuosity[_qp][ph] * _diffusion_coeff[_qp][ph][_fluid_component];
164 
165  // Calculate Darcy velocity
166  velocity = (_permeability[_qp] * (_grad_p[_qp][ph] - _fluid_density_qp[_qp][ph] * _gravity) *
167  _relative_permeability[_qp][ph] / _fluid_viscosity[_qp][ph]);
168  velocity_abs = std::sqrt(velocity * velocity);
169 
170  if (velocity_abs > 0.0)
171  {
172  v2.vectorOuterProduct(velocity, velocity);
173 
174  // Add longitudinal dispersion to diffusive component
175  diffusion += _disp_trans[ph] * velocity_abs;
176  dispersion = (_disp_long[ph] - _disp_trans[ph]) * v2 / velocity_abs;
177  }
178 
179  // Derivative of Darcy velocity
180  RealVectorValue dvelocity = _dpermeability_dvar[_qp][pvar] * _phi[_j][_qp] *
181  (_grad_p[_qp][ph] - _fluid_density_qp[_qp][ph] * _gravity);
182  for (unsigned i = 0; i < LIBMESH_DIM; ++i)
183  dvelocity += _dpermeability_dgradvar[_qp][i][pvar] * _grad_phi[_j][_qp](i) *
184  (_grad_p[_qp][ph] - _fluid_density_qp[_qp][ph] * _gravity);
185  dvelocity +=
186  _permeability[_qp] * (_grad_phi[_j][_qp] * _dgrad_p_dgrad_var[_qp][ph][pvar] -
187  _phi[_j][_qp] * _dfluid_density_qp_dvar[_qp][ph][pvar] * _gravity);
188  dvelocity += _permeability[_qp] * (_dgrad_p_dvar[_qp][ph][pvar] * _phi[_j][_qp]);
189  dvelocity = dvelocity * _relative_permeability[_qp][ph] / _fluid_viscosity[_qp][ph] +
190  (_permeability[_qp] * (_grad_p[_qp][ph] - _fluid_density_qp[_qp][ph] * _gravity)) *
191  (_drelative_permeability_dvar[_qp][ph][pvar] / _fluid_viscosity[_qp][ph] -
192  _relative_permeability[_qp][ph] * _dfluid_viscosity_dvar[_qp][ph][pvar] /
193  std::pow(_fluid_viscosity[_qp][ph], 2)) *
194  _phi[_j][_qp];
195 
196  Real dvelocity_abs = 0.0;
197  if (velocity_abs > 0.0)
198  dvelocity_abs = velocity * dvelocity / velocity_abs;
199 
200  // Derivative of diffusion term (note: dispersivity is assumed constant)
201  Real ddiffusion = _phi[_j][_qp] * _dporosity_qp_dvar[_qp][pvar] * _tortuosity[_qp][ph] *
203  ddiffusion += _phi[_j][_qp] * _porosity_qp[_qp] * _dtortuosity_dvar[_qp][ph][pvar] *
205  ddiffusion += _phi[_j][_qp] * _porosity_qp[_qp] * _tortuosity[_qp][ph] *
207  ddiffusion += _disp_trans[ph] * dvelocity_abs;
208 
209  // Derivative of dispersion term (note: dispersivity is assumed constant)
210  RankTwoTensor ddispersion;
211  ddispersion.zero();
212  if (velocity_abs > 0.0)
213  {
214  RankTwoTensor dv2a, dv2b;
215  dv2a.vectorOuterProduct(velocity, dvelocity);
216  dv2b.vectorOuterProduct(dvelocity, velocity);
217  ddispersion = (_disp_long[ph] - _disp_trans[ph]) * (dv2a + dv2b) / velocity_abs;
218  ddispersion -=
219  (_disp_long[ph] - _disp_trans[ph]) * v2 * dvelocity_abs / velocity_abs / velocity_abs;
220  }
221 
222  dflux += _phi[_j][_qp] * _dfluid_density_qp_dvar[_qp][ph][pvar] *
223  (diffusion * _identity_tensor + dispersion) *
225  dflux += _fluid_density_qp[_qp][ph] * (ddiffusion * _identity_tensor + ddispersion) *
227 
228  // NOTE: Here we assume that d(grad_mass_frac)/d(var) = d(mass_frac)/d(var) * grad_phi
229  // This is true for most PorousFlow scenarios, but not for chemical reactions
230  // where mass_frac is a nonlinear function of the primary MOOSE Variables
231  dflux += _fluid_density_qp[_qp][ph] * (diffusion * _identity_tensor + dispersion) *
232  _dmass_frac_dvar[_qp][ph][_fluid_component][pvar] * _grad_phi[_j][_qp];
233  }
234 
235  return _grad_test[_i][_qp] * dflux;
236 }
const MaterialProperty< std::vector< std::vector< Real > > > & _dtortuosity_dvar
Derivative of tortuosity wrt PorousFlow variables.
const RankTwoTensor _identity_tensor
Identity tensor.
bool notPorousFlowVariable(unsigned int moose_var_num) const
Returns true if moose_var_num is not a porous flow variabe.
const MaterialProperty< std::vector< RealGradient > > & _grad_p
Gradient of the pore pressure in each phase.
const MaterialProperty< std::vector< Real > > & _tortuosity
Tortuosity tau_0 * tau_{alpha} for fluid phase alpha.
const MaterialProperty< std::vector< RealTensorValue > > & _dpermeability_dvar
Derivative of permeability wrt PorousFlow variables.
const MaterialProperty< std::vector< std::vector< RealGradient > > > & _dgrad_p_dvar
Derivative of Grad porepressure in each phase wrt PorousFlow variables.
const RealVectorValue _gravity
Gravitational acceleration.
const MaterialProperty< std::vector< Real > > & _fluid_density_qp
Fluid density for each phase (at the qp)
const MaterialProperty< std::vector< std::vector< Real > > > & _diffusion_coeff
Diffusion coefficients of component k in fluid phase alpha.
const MaterialProperty< std::vector< std::vector< RealGradient > > > & _grad_mass_frac
Gradient of mass fraction of each component in each phase.
const MaterialProperty< std::vector< Real > > & _fluid_viscosity
Viscosity of each component in each phase.
const MaterialProperty< std::vector< std::vector< RealTensorValue > > > & _dpermeability_dgradvar
d(permeabiity)/d(grad(PorousFlow variable))
const MaterialProperty< std::vector< std::vector< Real > > > & _dfluid_viscosity_dvar
Derivative of viscosity wrt PorousFlow variables.
const unsigned int _num_phases
The number of fluid phases.
const MaterialProperty< std::vector< Real > > & _dporosity_qp_dvar
Derivative of porosity wrt PorousFlow variables (at the qps)
const PorousFlowDictator & _dictator
PorousFlowDictator UserObject.
const MaterialProperty< RealTensorValue > & _permeability
Permeability of porous material.
const std::vector< Real > _disp_long
Longitudinal dispersivity for each phase.
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
const MaterialProperty< std::vector< std::vector< Real > > > & _dfluid_density_qp_dvar
Derivative of the fluid density for each phase wrt PorousFlow variables (at the qp) ...
const MaterialProperty< std::vector< Real > > & _relative_permeability
Relative permeability of each phase.
const MaterialProperty< std::vector< std::vector< Real > > > & _drelative_permeability_dvar
Derivative of relative permeability wrt PorousFlow variables.
const MaterialProperty< std::vector< std::vector< std::vector< Real > > > > & _ddiffusion_coeff_dvar
Derivative of the diffusion coefficients wrt PorousFlow variables.
unsigned int porousFlowVariableNum(unsigned int moose_var_num) const
The PorousFlow variable number.
const unsigned int _fluid_component
Index of the fluid component that this kernel acts on.
const MaterialProperty< std::vector< std::vector< std::vector< Real > > > > & _dmass_frac_dvar
Derivative of mass fraction wrt PorousFlow variables.
const MaterialProperty< std::vector< std::vector< Real > > > & _dgrad_p_dgrad_var
Derivative of Grad porepressure in each phase wrt grad(PorousFlow variables)
const MaterialProperty< Real > & _porosity_qp
Porosity at the qps.
const std::vector< Real > _disp_trans
Transverse dispersivity for each phase.

◆ computeQpJacobian()

Real PorousFlowDispersiveFlux::computeQpJacobian ( )
overrideprotectedvirtual

Definition at line 130 of file PorousFlowDispersiveFlux.C.

131 {
132  return computeQpJac(_var.number());
133 }
Real computeQpJac(unsigned int jvar) const
Derivative of the residual with respect to the PorousFLow Variable with variable number jvar...

◆ computeQpOffDiagJacobian()

Real PorousFlowDispersiveFlux::computeQpOffDiagJacobian ( unsigned int  jvar)
overrideprotectedvirtual

Definition at line 136 of file PorousFlowDispersiveFlux.C.

137 {
138  return computeQpJac(jvar);
139 }
Real computeQpJac(unsigned int jvar) const
Derivative of the residual with respect to the PorousFLow Variable with variable number jvar...

◆ computeQpResidual()

Real PorousFlowDispersiveFlux::computeQpResidual ( )
overrideprotectedvirtual

Definition at line 93 of file PorousFlowDispersiveFlux.C.

94 {
95  RealVectorValue flux = 0.0;
96  RealVectorValue velocity;
97  Real velocity_abs;
98  RankTwoTensor v2;
99  RankTwoTensor dispersion;
100  dispersion.zero();
101  Real diffusion;
102 
103  for (unsigned int ph = 0; ph < _num_phases; ++ph)
104  {
105  // Diffusive component
106  diffusion =
107  _porosity_qp[_qp] * _tortuosity[_qp][ph] * _diffusion_coeff[_qp][ph][_fluid_component];
108 
109  // Calculate Darcy velocity
110  velocity = (_permeability[_qp] * (_grad_p[_qp][ph] - _fluid_density_qp[_qp][ph] * _gravity) *
111  _relative_permeability[_qp][ph] / _fluid_viscosity[_qp][ph]);
112  velocity_abs = std::sqrt(velocity * velocity);
113 
114  if (velocity_abs > 0.0)
115  {
116  v2.vectorOuterProduct(velocity, velocity);
117 
118  // Add longitudinal dispersion to diffusive component
119  diffusion += _disp_trans[ph] * velocity_abs;
120  dispersion = (_disp_long[ph] - _disp_trans[ph]) * v2 / velocity_abs;
121  }
122 
123  flux += _fluid_density_qp[_qp][ph] * (diffusion * _identity_tensor + dispersion) *
125  }
126  return _grad_test[_i][_qp] * flux;
127 }
const RankTwoTensor _identity_tensor
Identity tensor.
const MaterialProperty< std::vector< RealGradient > > & _grad_p
Gradient of the pore pressure in each phase.
const MaterialProperty< std::vector< Real > > & _tortuosity
Tortuosity tau_0 * tau_{alpha} for fluid phase alpha.
const RealVectorValue _gravity
Gravitational acceleration.
const MaterialProperty< std::vector< Real > > & _fluid_density_qp
Fluid density for each phase (at the qp)
const MaterialProperty< std::vector< std::vector< Real > > > & _diffusion_coeff
Diffusion coefficients of component k in fluid phase alpha.
const MaterialProperty< std::vector< std::vector< RealGradient > > > & _grad_mass_frac
Gradient of mass fraction of each component in each phase.
const MaterialProperty< std::vector< Real > > & _fluid_viscosity
Viscosity of each component in each phase.
const unsigned int _num_phases
The number of fluid phases.
const MaterialProperty< RealTensorValue > & _permeability
Permeability of porous material.
const std::vector< Real > _disp_long
Longitudinal dispersivity for each phase.
const MaterialProperty< std::vector< Real > > & _relative_permeability
Relative permeability of each phase.
const unsigned int _fluid_component
Index of the fluid component that this kernel acts on.
const MaterialProperty< Real > & _porosity_qp
Porosity at the qps.
const std::vector< Real > _disp_trans
Transverse dispersivity for each phase.

Member Data Documentation

◆ _ddiffusion_coeff_dvar

const MaterialProperty<std::vector<std::vector<std::vector<Real> > > >& PorousFlowDispersiveFlux::_ddiffusion_coeff_dvar
protected

Derivative of the diffusion coefficients wrt PorousFlow variables.

Definition at line 75 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac().

◆ _dfluid_density_qp_dvar

const MaterialProperty<std::vector<std::vector<Real> > >& PorousFlowDispersiveFlux::_dfluid_density_qp_dvar
protected

Derivative of the fluid density for each phase wrt PorousFlow variables (at the qp)

Definition at line 51 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac().

◆ _dfluid_viscosity_dvar

const MaterialProperty<std::vector<std::vector<Real> > >& PorousFlowDispersiveFlux::_dfluid_viscosity_dvar
protected

Derivative of viscosity wrt PorousFlow variables.

Definition at line 99 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac().

◆ _dgrad_p_dgrad_var

const MaterialProperty<std::vector<std::vector<Real> > >& PorousFlowDispersiveFlux::_dgrad_p_dgrad_var
protected

Derivative of Grad porepressure in each phase wrt grad(PorousFlow variables)

Definition at line 114 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac().

◆ _dgrad_p_dvar

const MaterialProperty<std::vector<std::vector<RealGradient> > >& PorousFlowDispersiveFlux::_dgrad_p_dvar
protected

Derivative of Grad porepressure in each phase wrt PorousFlow variables.

Definition at line 117 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac().

◆ _dictator

const PorousFlowDictator& PorousFlowDispersiveFlux::_dictator
protected

PorousFlowDictator UserObject.

Definition at line 78 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac().

◆ _diffusion_coeff

const MaterialProperty<std::vector<std::vector<Real> > >& PorousFlowDispersiveFlux::_diffusion_coeff
protected

Diffusion coefficients of component k in fluid phase alpha.

Definition at line 72 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac(), and computeQpResidual().

◆ _disp_long

const std::vector<Real> PorousFlowDispersiveFlux::_disp_long
protected

Longitudinal dispersivity for each phase.

Definition at line 123 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac(), computeQpResidual(), and PorousFlowDispersiveFlux().

◆ _disp_trans

const std::vector<Real> PorousFlowDispersiveFlux::_disp_trans
protected

Transverse dispersivity for each phase.

Definition at line 126 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac(), computeQpResidual(), and PorousFlowDispersiveFlux().

◆ _dmass_frac_dvar

const MaterialProperty<std::vector<std::vector<std::vector<Real> > > >& PorousFlowDispersiveFlux::_dmass_frac_dvar
protected

Derivative of mass fraction wrt PorousFlow variables.

Definition at line 57 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac().

◆ _dpermeability_dgradvar

const MaterialProperty<std::vector<std::vector<RealTensorValue> > >& PorousFlowDispersiveFlux::_dpermeability_dgradvar
protected

d(permeabiity)/d(grad(PorousFlow variable))

Definition at line 108 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac().

◆ _dpermeability_dvar

const MaterialProperty<std::vector<RealTensorValue> >& PorousFlowDispersiveFlux::_dpermeability_dvar
protected

Derivative of permeability wrt PorousFlow variables.

Definition at line 105 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac().

◆ _dporosity_qp_dvar

const MaterialProperty<std::vector<Real> >& PorousFlowDispersiveFlux::_dporosity_qp_dvar
protected

Derivative of porosity wrt PorousFlow variables (at the qps)

Definition at line 63 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac().

◆ _drelative_permeability_dvar

const MaterialProperty<std::vector<std::vector<Real> > >& PorousFlowDispersiveFlux::_drelative_permeability_dvar
protected

Derivative of relative permeability wrt PorousFlow variables.

Definition at line 93 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac().

◆ _dtortuosity_dvar

const MaterialProperty<std::vector<std::vector<Real> > >& PorousFlowDispersiveFlux::_dtortuosity_dvar
protected

Derivative of tortuosity wrt PorousFlow variables.

Definition at line 69 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac().

◆ _fluid_component

const unsigned int PorousFlowDispersiveFlux::_fluid_component
protected

Index of the fluid component that this kernel acts on.

Definition at line 81 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac(), and computeQpResidual().

◆ _fluid_density_qp

const MaterialProperty<std::vector<Real> >& PorousFlowDispersiveFlux::_fluid_density_qp
protected

Fluid density for each phase (at the qp)

Definition at line 48 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac(), and computeQpResidual().

◆ _fluid_viscosity

const MaterialProperty<std::vector<Real> >& PorousFlowDispersiveFlux::_fluid_viscosity
protected

Viscosity of each component in each phase.

Definition at line 96 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac(), and computeQpResidual().

◆ _grad_mass_frac

const MaterialProperty<std::vector<std::vector<RealGradient> > >& PorousFlowDispersiveFlux::_grad_mass_frac
protected

Gradient of mass fraction of each component in each phase.

Definition at line 54 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac(), and computeQpResidual().

◆ _grad_p

const MaterialProperty<std::vector<RealGradient> >& PorousFlowDispersiveFlux::_grad_p
protected

Gradient of the pore pressure in each phase.

Definition at line 111 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac(), and computeQpResidual().

◆ _gravity

const RealVectorValue PorousFlowDispersiveFlux::_gravity
protected

Gravitational acceleration.

Definition at line 120 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac(), and computeQpResidual().

◆ _identity_tensor

const RankTwoTensor PorousFlowDispersiveFlux::_identity_tensor
protected

Identity tensor.

Definition at line 87 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac(), and computeQpResidual().

◆ _num_phases

const unsigned int PorousFlowDispersiveFlux::_num_phases
protected

The number of fluid phases.

Definition at line 84 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac(), computeQpResidual(), and PorousFlowDispersiveFlux().

◆ _permeability

const MaterialProperty<RealTensorValue>& PorousFlowDispersiveFlux::_permeability
protected

Permeability of porous material.

Definition at line 102 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac(), and computeQpResidual().

◆ _porosity_qp

const MaterialProperty<Real>& PorousFlowDispersiveFlux::_porosity_qp
protected

Porosity at the qps.

Definition at line 60 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac(), and computeQpResidual().

◆ _relative_permeability

const MaterialProperty<std::vector<Real> >& PorousFlowDispersiveFlux::_relative_permeability
protected

Relative permeability of each phase.

Definition at line 90 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac(), and computeQpResidual().

◆ _tortuosity

const MaterialProperty<std::vector<Real> >& PorousFlowDispersiveFlux::_tortuosity
protected

Tortuosity tau_0 * tau_{alpha} for fluid phase alpha.

Definition at line 66 of file PorousFlowDispersiveFlux.h.

Referenced by computeQpJac(), and computeQpResidual().


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