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

Material designed to calculate the effective fluid pressure that can be used in the mechanical effective-stress calculations and other similar places. More...

#include <PorousFlowEffectiveFluidPressure.h>

Inheritance diagram for PorousFlowEffectiveFluidPressure:
[legend]

Public Member Functions

 PorousFlowEffectiveFluidPressure (const InputParameters &parameters)
 

Protected Member Functions

virtual void initQpStatefulProperties () override
 
virtual void computeQpProperties () override
 

Protected Attributes

const MaterialProperty< std::vector< Real > > & _porepressure
 Quadpoint or nodal porepressure of each phase. More...
 
const MaterialProperty< std::vector< std::vector< Real > > > & _dporepressure_dvar
 d(porepressure)/d(PorousFlow variable) More...
 
const MaterialProperty< std::vector< Real > > & _saturation
 Quadpoint or nodal saturation of each phase. More...
 
const MaterialProperty< std::vector< std::vector< Real > > > & _dsaturation_dvar
 d(saturation)/d(PorousFlow variable) More...
 
MaterialProperty< Real > & _pf
 Computed effective fluid pressure (at quadpoints or nodes) More...
 
MaterialProperty< std::vector< Real > > & _dpf_dvar
 d(_pf)/d(PorousFlow variable) 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 designed to calculate the effective fluid pressure that can be used in the mechanical effective-stress calculations and other similar places.

This class computes effective fluid pressure = sum_{phases}Saturation_{phase}*Porepressure_{phase}

Definition at line 25 of file PorousFlowEffectiveFluidPressure.h.

Constructor & Destructor Documentation

◆ PorousFlowEffectiveFluidPressure()

PorousFlowEffectiveFluidPressure::PorousFlowEffectiveFluidPressure ( const InputParameters &  parameters)

Definition at line 27 of file PorousFlowEffectiveFluidPressure.C.

29  : PorousFlowMaterialVectorBase(parameters),
30  _porepressure(_nodal_material
31  ? getMaterialProperty<std::vector<Real>>("PorousFlow_porepressure_nodal")
32  : getMaterialProperty<std::vector<Real>>("PorousFlow_porepressure_qp")),
33  _dporepressure_dvar(_nodal_material ? getMaterialProperty<std::vector<std::vector<Real>>>(
34  "dPorousFlow_porepressure_nodal_dvar")
35  : getMaterialProperty<std::vector<std::vector<Real>>>(
36  "dPorousFlow_porepressure_qp_dvar")),
37  _saturation(_nodal_material
38  ? getMaterialProperty<std::vector<Real>>("PorousFlow_saturation_nodal")
39  : getMaterialProperty<std::vector<Real>>("PorousFlow_saturation_qp")),
40  _dsaturation_dvar(_nodal_material ? getMaterialProperty<std::vector<std::vector<Real>>>(
41  "dPorousFlow_saturation_nodal_dvar")
42  : getMaterialProperty<std::vector<std::vector<Real>>>(
43  "dPorousFlow_saturation_qp_dvar")),
44  _pf(_nodal_material ? declareProperty<Real>("PorousFlow_effective_fluid_pressure_nodal")
45  : declareProperty<Real>("PorousFlow_effective_fluid_pressure_qp")),
46  _dpf_dvar(
47  _nodal_material
48  ? declareProperty<std::vector<Real>>("dPorousFlow_effective_fluid_pressure_nodal_dvar")
49  : declareProperty<std::vector<Real>>("dPorousFlow_effective_fluid_pressure_qp_dvar"))
50 {
51 }

Member Function Documentation

◆ computeQpProperties()

void PorousFlowEffectiveFluidPressure::computeQpProperties ( )
overrideprotectedvirtual

Definition at line 62 of file PorousFlowEffectiveFluidPressure.C.

63 {
64  _pf[_qp] = 0.0;
65  _dpf_dvar[_qp].assign(_num_var, 0.0);
66  for (unsigned ph = 0; ph < _num_phases; ++ph)
67  {
68  _pf[_qp] += _saturation[_qp][ph] * _porepressure[_qp][ph];
69  for (unsigned v = 0; v < _num_var; ++v)
70  _dpf_dvar[_qp][v] += _dsaturation_dvar[_qp][ph][v] * _porepressure[_qp][ph] +
71  _saturation[_qp][ph] * _dporepressure_dvar[_qp][ph][v];
72  }
73 }

◆ initQpStatefulProperties()

void PorousFlowEffectiveFluidPressure::initQpStatefulProperties ( )
overrideprotectedvirtual

Definition at line 54 of file PorousFlowEffectiveFluidPressure.C.

55 {
56  _pf[_qp] = 0.0;
57  for (unsigned ph = 0; ph < _num_phases; ++ph)
58  _pf[_qp] += _saturation[_qp][ph] * _porepressure[_qp][ph];
59 }

Member Data Documentation

◆ _dpf_dvar

MaterialProperty<std::vector<Real> >& PorousFlowEffectiveFluidPressure::_dpf_dvar
protected

d(_pf)/d(PorousFlow variable)

Definition at line 50 of file PorousFlowEffectiveFluidPressure.h.

Referenced by computeQpProperties().

◆ _dporepressure_dvar

const MaterialProperty<std::vector<std::vector<Real> > >& PorousFlowEffectiveFluidPressure::_dporepressure_dvar
protected

d(porepressure)/d(PorousFlow variable)

Definition at line 38 of file PorousFlowEffectiveFluidPressure.h.

Referenced by computeQpProperties().

◆ _dsaturation_dvar

const MaterialProperty<std::vector<std::vector<Real> > >& PorousFlowEffectiveFluidPressure::_dsaturation_dvar
protected

d(saturation)/d(PorousFlow variable)

Definition at line 44 of file PorousFlowEffectiveFluidPressure.h.

Referenced by computeQpProperties().

◆ _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

◆ _pf

MaterialProperty<Real>& PorousFlowEffectiveFluidPressure::_pf
protected

Computed effective fluid pressure (at quadpoints or nodes)

Definition at line 47 of file PorousFlowEffectiveFluidPressure.h.

Referenced by computeQpProperties(), and initQpStatefulProperties().

◆ _porepressure

const MaterialProperty<std::vector<Real> >& PorousFlowEffectiveFluidPressure::_porepressure
protected

Quadpoint or nodal porepressure of each phase.

Definition at line 35 of file PorousFlowEffectiveFluidPressure.h.

Referenced by computeQpProperties(), and initQpStatefulProperties().

◆ _saturation

const MaterialProperty<std::vector<Real> >& PorousFlowEffectiveFluidPressure::_saturation
protected

Quadpoint or nodal saturation of each phase.

Definition at line 41 of file PorousFlowEffectiveFluidPressure.h.

Referenced by computeQpProperties(), and initQpStatefulProperties().


The documentation for this class was generated from the following files:
PorousFlowEffectiveFluidPressure::_dporepressure_dvar
const MaterialProperty< std::vector< std::vector< Real > > > & _dporepressure_dvar
d(porepressure)/d(PorousFlow variable)
Definition: PorousFlowEffectiveFluidPressure.h:38
PorousFlowEffectiveFluidPressure::_porepressure
const MaterialProperty< std::vector< Real > > & _porepressure
Quadpoint or nodal porepressure of each phase.
Definition: PorousFlowEffectiveFluidPressure.h:35
PorousFlowMaterialVectorBase::PorousFlowMaterialVectorBase
PorousFlowMaterialVectorBase(const InputParameters &parameters)
Definition: PorousFlowMaterialVectorBase.C:22
PorousFlowEffectiveFluidPressure::_dpf_dvar
MaterialProperty< std::vector< Real > > & _dpf_dvar
d(_pf)/d(PorousFlow variable)
Definition: PorousFlowEffectiveFluidPressure.h:50
PorousFlowEffectiveFluidPressure::_saturation
const MaterialProperty< std::vector< Real > > & _saturation
Quadpoint or nodal saturation of each phase.
Definition: PorousFlowEffectiveFluidPressure.h:41
PorousFlowMaterialVectorBase::_num_var
const unsigned int _num_var
Number of PorousFlow variables.
Definition: PorousFlowMaterialVectorBase.h:36
PorousFlowMaterialVectorBase::_num_phases
const unsigned int _num_phases
Number of phases.
Definition: PorousFlowMaterialVectorBase.h:30
PorousFlowEffectiveFluidPressure::_pf
MaterialProperty< Real > & _pf
Computed effective fluid pressure (at quadpoints or nodes)
Definition: PorousFlowEffectiveFluidPressure.h:47
PorousFlowEffectiveFluidPressure::_dsaturation_dvar
const MaterialProperty< std::vector< std::vector< Real > > > & _dsaturation_dvar
d(saturation)/d(PorousFlow variable)
Definition: PorousFlowEffectiveFluidPressure.h:44