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

Material to provide saturation dependent diffusivity using the model of Millington and Quirk, from Millington and Quirk, Permeability of Porous Solids, Trans. More...

#include <PorousFlowDiffusivityMillingtonQuirk.h>

Inheritance diagram for PorousFlowDiffusivityMillingtonQuirk:
[legend]

Public Member Functions

 PorousFlowDiffusivityMillingtonQuirk (const InputParameters &parameters)
 

Protected Member Functions

virtual void computeQpProperties () override
 

Protected Attributes

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 > > & _saturation_qp
 Saturation of each phase at the qps. More...
 
const MaterialProperty< std::vector< std::vector< Real > > > & _dsaturation_qp_dvar
 Derivative of saturation of each phase wrt PorousFlow variables (at the qps) More...
 
MaterialProperty< std::vector< Real > > & _tortuosity
 Tortuosity tau_0 * tau_{alpha} for fluid phase alpha. More...
 
MaterialProperty< std::vector< std::vector< Real > > > & _dtortuosity_dvar
 Derivative of tortuosity wrt PorousFlow variables. More...
 
MaterialProperty< std::vector< std::vector< Real > > > & _diffusion_coeff
 Diffusion coefficients of component k in fluid phase alpha. More...
 
MaterialProperty< std::vector< std::vector< std::vector< Real > > > > & _ddiffusion_coeff_dvar
 Derivative of the diffusion coefficients wrt PorousFlow variables. More...
 
const std::vector< Real > _input_diffusion_coeff
 Input diffusion coefficients. More...
 
const unsigned int _num_phases
 Number of phases. More...
 
const unsigned int _num_components
 Number of fluid components. More...
 
const unsigned int _num_var
 Number of PorousFlow variables. More...
 

Detailed Description

Material to provide saturation dependent diffusivity using the model of Millington and Quirk, from Millington and Quirk, Permeability of Porous Solids, Trans.

Faraday Soc., 57, 1200- 1207, 1961

Definition at line 24 of file PorousFlowDiffusivityMillingtonQuirk.h.

Constructor & Destructor Documentation

PorousFlowDiffusivityMillingtonQuirk::PorousFlowDiffusivityMillingtonQuirk ( const InputParameters &  parameters)

Definition at line 20 of file PorousFlowDiffusivityMillingtonQuirk.C.

22  : PorousFlowDiffusivityBase(parameters),
23  _porosity_qp(getMaterialProperty<Real>("PorousFlow_porosity_qp")),
24  _dporosity_qp_dvar(getMaterialProperty<std::vector<Real>>("dPorousFlow_porosity_qp_dvar")),
25  _saturation_qp(getMaterialProperty<std::vector<Real>>("PorousFlow_saturation_qp")),
27  getMaterialProperty<std::vector<std::vector<Real>>>("dPorousFlow_saturation_qp_dvar"))
28 {
29 }
const MaterialProperty< std::vector< Real > > & _saturation_qp
Saturation of each phase at the qps.
const MaterialProperty< std::vector< std::vector< Real > > > & _dsaturation_qp_dvar
Derivative of saturation of each phase wrt PorousFlow variables (at the qps)
const MaterialProperty< std::vector< Real > > & _dporosity_qp_dvar
Derivative of porosity wrt PorousFlow variables (at the qps)
const MaterialProperty< Real > & _porosity_qp
Porosity at the qps.
PorousFlowDiffusivityBase(const InputParameters &parameters)

Member Function Documentation

void PorousFlowDiffusivityMillingtonQuirk::computeQpProperties ( )
overrideprotectedvirtual

Reimplemented from PorousFlowDiffusivityBase.

Definition at line 32 of file PorousFlowDiffusivityMillingtonQuirk.C.

33 {
35 
36  _tortuosity[_qp].resize(_num_phases);
37  for (unsigned int ph = 0; ph < _num_phases; ++ph)
38  {
39  _tortuosity[_qp][ph] =
40  std::cbrt(_porosity_qp[_qp]) * std::pow(_saturation_qp[_qp][ph], 10.0 / 3.0);
41  for (unsigned int var = 0; var < _num_var; ++var)
42  _dtortuosity_dvar[_qp][ph][var] =
43  1.0 / 3.0 * std::cbrt(_porosity_qp[_qp]) * std::pow(_saturation_qp[_qp][ph], 7.0 / 3.0) *
44  (_saturation_qp[_qp][ph] / _porosity_qp[_qp] * _dporosity_qp_dvar[_qp][var] +
45  10.0 * _dsaturation_qp_dvar[_qp][ph][var]);
46  }
47 }
const unsigned int _num_phases
Number of phases.
virtual void computeQpProperties() override
const MaterialProperty< std::vector< Real > > & _saturation_qp
Saturation of each phase at the qps.
const MaterialProperty< std::vector< std::vector< Real > > > & _dsaturation_qp_dvar
Derivative of saturation of each phase wrt PorousFlow variables (at the qps)
const MaterialProperty< std::vector< Real > > & _dporosity_qp_dvar
Derivative of porosity wrt PorousFlow variables (at the qps)
const unsigned int _num_var
Number of PorousFlow variables.
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
const MaterialProperty< Real > & _porosity_qp
Porosity at the qps.
MaterialProperty< std::vector< std::vector< Real > > > & _dtortuosity_dvar
Derivative of tortuosity wrt PorousFlow variables.
MaterialProperty< std::vector< Real > > & _tortuosity
Tortuosity tau_0 * tau_{alpha} for fluid phase alpha.

Member Data Documentation

MaterialProperty<std::vector<std::vector<std::vector<Real> > > >& PorousFlowDiffusivityBase::_ddiffusion_coeff_dvar
protectedinherited

Derivative of the diffusion coefficients wrt PorousFlow variables.

Definition at line 37 of file PorousFlowDiffusivityBase.h.

Referenced by PorousFlowDiffusivityBase::computeQpProperties().

MaterialProperty<std::vector<std::vector<Real> > >& PorousFlowDiffusivityBase::_diffusion_coeff
protectedinherited

Diffusion coefficients of component k in fluid phase alpha.

Definition at line 34 of file PorousFlowDiffusivityBase.h.

Referenced by PorousFlowDiffusivityBase::computeQpProperties().

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

Derivative of porosity wrt PorousFlow variables (at the qps)

Definition at line 35 of file PorousFlowDiffusivityMillingtonQuirk.h.

Referenced by computeQpProperties().

const MaterialProperty<std::vector<std::vector<Real> > >& PorousFlowDiffusivityMillingtonQuirk::_dsaturation_qp_dvar
protected

Derivative of saturation of each phase wrt PorousFlow variables (at the qps)

Definition at line 39 of file PorousFlowDiffusivityMillingtonQuirk.h.

Referenced by computeQpProperties().

MaterialProperty<std::vector<std::vector<Real> > >& PorousFlowDiffusivityBase::_dtortuosity_dvar
protectedinherited

Derivative of tortuosity wrt PorousFlow variables.

Definition at line 31 of file PorousFlowDiffusivityBase.h.

Referenced by PorousFlowDiffusivityBase::computeQpProperties(), and computeQpProperties().

const std::vector<Real> PorousFlowDiffusivityBase::_input_diffusion_coeff
protectedinherited
const unsigned int PorousFlowMaterialVectorBase::_num_components
protectedinherited
const unsigned int PorousFlowMaterialVectorBase::_num_phases
protectedinherited
const unsigned int PorousFlowMaterialVectorBase::_num_var
protectedinherited
const MaterialProperty<Real>& PorousFlowDiffusivityMillingtonQuirk::_porosity_qp
protected

Porosity at the qps.

Definition at line 33 of file PorousFlowDiffusivityMillingtonQuirk.h.

Referenced by computeQpProperties().

const MaterialProperty<std::vector<Real> >& PorousFlowDiffusivityMillingtonQuirk::_saturation_qp
protected

Saturation of each phase at the qps.

Definition at line 37 of file PorousFlowDiffusivityMillingtonQuirk.h.

Referenced by computeQpProperties().

MaterialProperty<std::vector<Real> >& PorousFlowDiffusivityBase::_tortuosity
protectedinherited

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

Definition at line 28 of file PorousFlowDiffusivityBase.h.

Referenced by PorousFlowDiffusivityConst::computeQpProperties(), and computeQpProperties().


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