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 26 of file PorousFlowDiffusivityMillingtonQuirk.h.

Constructor & Destructor Documentation

◆ PorousFlowDiffusivityMillingtonQuirk()

PorousFlowDiffusivityMillingtonQuirk::PorousFlowDiffusivityMillingtonQuirk ( const InputParameters &  parameters)

Definition at line 24 of file PorousFlowDiffusivityMillingtonQuirk.C.

26  : PorousFlowDiffusivityBase(parameters),
27  _porosity_qp(getMaterialProperty<Real>("PorousFlow_porosity_qp")),
28  _dporosity_qp_dvar(getMaterialProperty<std::vector<Real>>("dPorousFlow_porosity_qp_dvar")),
29  _saturation_qp(getMaterialProperty<std::vector<Real>>("PorousFlow_saturation_qp")),
31  getMaterialProperty<std::vector<std::vector<Real>>>("dPorousFlow_saturation_qp_dvar"))
32 {
33 }
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

◆ computeQpProperties()

void PorousFlowDiffusivityMillingtonQuirk::computeQpProperties ( )
overrideprotectedvirtual

Reimplemented from PorousFlowDiffusivityBase.

Definition at line 36 of file PorousFlowDiffusivityMillingtonQuirk.C.

37 {
39 
40  _tortuosity[_qp].resize(_num_phases);
41  for (unsigned int ph = 0; ph < _num_phases; ++ph)
42  {
43  _tortuosity[_qp][ph] =
44  std::cbrt(_porosity_qp[_qp]) * std::pow(_saturation_qp[_qp][ph], 10.0 / 3.0);
45  for (unsigned int var = 0; var < _num_var; ++var)
46  _dtortuosity_dvar[_qp][ph][var] =
47  1.0 / 3.0 * std::cbrt(_porosity_qp[_qp]) * std::pow(_saturation_qp[_qp][ph], 7.0 / 3.0) *
48  (_saturation_qp[_qp][ph] / _porosity_qp[_qp] * _dporosity_qp_dvar[_qp][var] +
49  10.0 * _dsaturation_qp_dvar[_qp][ph][var]);
50  }
51 }
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

◆ _ddiffusion_coeff_dvar

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

Derivative of the diffusion coefficients wrt PorousFlow variables.

Definition at line 39 of file PorousFlowDiffusivityBase.h.

Referenced by PorousFlowDiffusivityBase::computeQpProperties().

◆ _diffusion_coeff

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

Diffusion coefficients of component k in fluid phase alpha.

Definition at line 36 of file PorousFlowDiffusivityBase.h.

Referenced by PorousFlowDiffusivityBase::computeQpProperties().

◆ _dporosity_qp_dvar

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

Derivative of porosity wrt PorousFlow variables (at the qps)

Definition at line 37 of file PorousFlowDiffusivityMillingtonQuirk.h.

Referenced by computeQpProperties().

◆ _dsaturation_qp_dvar

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 41 of file PorousFlowDiffusivityMillingtonQuirk.h.

Referenced by computeQpProperties().

◆ _dtortuosity_dvar

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

Derivative of tortuosity wrt PorousFlow variables.

Definition at line 33 of file PorousFlowDiffusivityBase.h.

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

◆ _input_diffusion_coeff

const std::vector<Real> PorousFlowDiffusivityBase::_input_diffusion_coeff
protectedinherited

◆ _num_components

const unsigned int PorousFlowMaterialVectorBase::_num_components
protectedinherited

◆ _num_phases

const unsigned int PorousFlowMaterialVectorBase::_num_phases
protectedinherited

◆ _num_var

const unsigned int PorousFlowMaterialVectorBase::_num_var
protectedinherited

◆ _porosity_qp

const MaterialProperty<Real>& PorousFlowDiffusivityMillingtonQuirk::_porosity_qp
protected

Porosity at the qps.

Definition at line 35 of file PorousFlowDiffusivityMillingtonQuirk.h.

Referenced by computeQpProperties().

◆ _saturation_qp

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

Saturation of each phase at the qps.

Definition at line 39 of file PorousFlowDiffusivityMillingtonQuirk.h.

Referenced by computeQpProperties().

◆ _tortuosity

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

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

Definition at line 30 of file PorousFlowDiffusivityBase.h.

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


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