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< Real > > & _porepressure_old
 Old value of 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< Real > > & _saturation_old
 Old value of 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 26 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")),
34  _nodal_material ? getMaterialPropertyOld<std::vector<Real>>("PorousFlow_porepressure_nodal")
35  : getMaterialPropertyOld<std::vector<Real>>("PorousFlow_porepressure_qp")),
36  _dporepressure_dvar(_nodal_material ? getMaterialProperty<std::vector<std::vector<Real>>>(
37  "dPorousFlow_porepressure_nodal_dvar")
38  : getMaterialProperty<std::vector<std::vector<Real>>>(
39  "dPorousFlow_porepressure_qp_dvar")),
40  _saturation(_nodal_material
41  ? getMaterialProperty<std::vector<Real>>("PorousFlow_saturation_nodal")
42  : getMaterialProperty<std::vector<Real>>("PorousFlow_saturation_qp")),
43  _saturation_old(_nodal_material
44  ? getMaterialPropertyOld<std::vector<Real>>("PorousFlow_saturation_nodal")
45  : getMaterialPropertyOld<std::vector<Real>>("PorousFlow_saturation_qp")),
46  _dsaturation_dvar(_nodal_material ? getMaterialProperty<std::vector<std::vector<Real>>>(
47  "dPorousFlow_saturation_nodal_dvar")
48  : getMaterialProperty<std::vector<std::vector<Real>>>(
49  "dPorousFlow_saturation_qp_dvar")),
50  _pf(_nodal_material ? declareProperty<Real>("PorousFlow_effective_fluid_pressure_nodal")
51  : declareProperty<Real>("PorousFlow_effective_fluid_pressure_qp")),
52  _dpf_dvar(
53  _nodal_material
54  ? declareProperty<std::vector<Real>>("dPorousFlow_effective_fluid_pressure_nodal_dvar")
55  : declareProperty<std::vector<Real>>("dPorousFlow_effective_fluid_pressure_qp_dvar"))
56 {
57 }
MaterialProperty< Real > & _pf
Computed effective fluid pressure (at quadpoints or nodes)
const MaterialProperty< std::vector< std::vector< Real > > > & _dporepressure_dvar
d(porepressure)/d(PorousFlow variable)
const MaterialProperty< std::vector< Real > > & _saturation_old
Old value of quadpoint or nodal saturation of each phase.
const MaterialProperty< std::vector< Real > > & _porepressure_old
Old value of quadpoint or nodal porepressure of each phase.
MaterialProperty< std::vector< Real > > & _dpf_dvar
d(_pf)/d(PorousFlow variable)
const MaterialProperty< std::vector< Real > > & _saturation
Quadpoint or nodal saturation of each phase.
const MaterialProperty< std::vector< std::vector< Real > > > & _dsaturation_dvar
d(saturation)/d(PorousFlow variable)
PorousFlowMaterialVectorBase(const InputParameters &parameters)
const MaterialProperty< std::vector< Real > > & _porepressure
Quadpoint or nodal porepressure of each phase.

Member Function Documentation

◆ computeQpProperties()

void PorousFlowEffectiveFluidPressure::computeQpProperties ( )
overrideprotectedvirtual

Definition at line 68 of file PorousFlowEffectiveFluidPressure.C.

69 {
70  _pf[_qp] = 0.0;
71  _dpf_dvar[_qp].assign(_num_var, 0.0);
72  for (unsigned ph = 0; ph < _num_phases; ++ph)
73  {
74  _pf[_qp] += _saturation[_qp][ph] * _porepressure[_qp][ph];
75  for (unsigned v = 0; v < _num_var; ++v)
76  _dpf_dvar[_qp][v] += _dsaturation_dvar[_qp][ph][v] * _porepressure[_qp][ph] +
77  _saturation[_qp][ph] * _dporepressure_dvar[_qp][ph][v];
78  }
79 }
const unsigned int _num_phases
Number of phases.
MaterialProperty< Real > & _pf
Computed effective fluid pressure (at quadpoints or nodes)
const MaterialProperty< std::vector< std::vector< Real > > > & _dporepressure_dvar
d(porepressure)/d(PorousFlow variable)
MaterialProperty< std::vector< Real > > & _dpf_dvar
d(_pf)/d(PorousFlow variable)
const MaterialProperty< std::vector< Real > > & _saturation
Quadpoint or nodal saturation of each phase.
const MaterialProperty< std::vector< std::vector< Real > > > & _dsaturation_dvar
d(saturation)/d(PorousFlow variable)
const unsigned int _num_var
Number of PorousFlow variables.
const MaterialProperty< std::vector< Real > > & _porepressure
Quadpoint or nodal porepressure of each phase.

◆ initQpStatefulProperties()

void PorousFlowEffectiveFluidPressure::initQpStatefulProperties ( )
overrideprotectedvirtual

Definition at line 60 of file PorousFlowEffectiveFluidPressure.C.

61 {
62  _pf[_qp] = 0.0;
63  for (unsigned ph = 0; ph < _num_phases; ++ph)
64  _pf[_qp] += _saturation[_qp][ph] * _porepressure[_qp][ph];
65 }
const unsigned int _num_phases
Number of phases.
MaterialProperty< Real > & _pf
Computed effective fluid pressure (at quadpoints or nodes)
const MaterialProperty< std::vector< Real > > & _saturation
Quadpoint or nodal saturation of each phase.
const MaterialProperty< std::vector< Real > > & _porepressure
Quadpoint or nodal porepressure of each phase.

Member Data Documentation

◆ _dpf_dvar

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

d(_pf)/d(PorousFlow variable)

Definition at line 57 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 42 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 51 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 54 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 36 of file PorousFlowEffectiveFluidPressure.h.

Referenced by computeQpProperties(), and initQpStatefulProperties().

◆ _porepressure_old

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

Old value of quadpoint or nodal porepressure of each phase.

Definition at line 39 of file PorousFlowEffectiveFluidPressure.h.

◆ _saturation

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

Quadpoint or nodal saturation of each phase.

Definition at line 45 of file PorousFlowEffectiveFluidPressure.h.

Referenced by computeQpProperties(), and initQpStatefulProperties().

◆ _saturation_old

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

Old value of quadpoint or nodal saturation of each phase.

Definition at line 48 of file PorousFlowEffectiveFluidPressure.h.


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