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 25 of file PorousFlowEffectiveFluidPressure.h.

Constructor & Destructor Documentation

PorousFlowEffectiveFluidPressure::PorousFlowEffectiveFluidPressure ( const InputParameters &  parameters)

Definition at line 22 of file PorousFlowEffectiveFluidPressure.C.

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

void PorousFlowEffectiveFluidPressure::computeQpProperties ( )
overrideprotectedvirtual

Definition at line 63 of file PorousFlowEffectiveFluidPressure.C.

64 {
65  _pf[_qp] = 0.0;
66  _dpf_dvar[_qp].assign(_num_var, 0.0);
67  for (unsigned ph = 0; ph < _num_phases; ++ph)
68  {
69  _pf[_qp] += _saturation[_qp][ph] * _porepressure[_qp][ph];
70  for (unsigned v = 0; v < _num_var; ++v)
71  _dpf_dvar[_qp][v] += _dsaturation_dvar[_qp][ph][v] * _porepressure[_qp][ph] +
72  _saturation[_qp][ph] * _dporepressure_dvar[_qp][ph][v];
73  }
74 }
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
void PorousFlowEffectiveFluidPressure::initQpStatefulProperties ( )
overrideprotectedvirtual

Definition at line 55 of file PorousFlowEffectiveFluidPressure.C.

56 {
57  _pf[_qp] = 0.0;
58  for (unsigned ph = 0; ph < _num_phases; ++ph)
59  _pf[_qp] += _saturation[_qp][ph] * _porepressure[_qp][ph];
60 }
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

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

d(_pf)/d(PorousFlow variable)

Definition at line 56 of file PorousFlowEffectiveFluidPressure.h.

Referenced by computeQpProperties().

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

d(porepressure)/d(PorousFlow variable)

Definition at line 41 of file PorousFlowEffectiveFluidPressure.h.

Referenced by computeQpProperties().

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

d(saturation)/d(PorousFlow variable)

Definition at line 50 of file PorousFlowEffectiveFluidPressure.h.

Referenced by computeQpProperties().

const unsigned int PorousFlowMaterialVectorBase::_num_components
protectedinherited
const unsigned int PorousFlowMaterialVectorBase::_num_phases
protectedinherited
const unsigned int PorousFlowMaterialVectorBase::_num_var
protectedinherited
MaterialProperty<Real>& PorousFlowEffectiveFluidPressure::_pf
protected

computed effective fluid pressure (at quadpoints or nodes)

Definition at line 53 of file PorousFlowEffectiveFluidPressure.h.

Referenced by computeQpProperties(), and initQpStatefulProperties().

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().

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

old value of quadpoint or nodal porepressure of each phase

Definition at line 38 of file PorousFlowEffectiveFluidPressure.h.

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

quadpoint or nodal saturation of each phase

Definition at line 44 of file PorousFlowEffectiveFluidPressure.h.

Referenced by computeQpProperties(), and initQpStatefulProperties().

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

old value of quadpoint or nodal saturation of each phase

Definition at line 47 of file PorousFlowEffectiveFluidPressure.h.


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