www.mooseframework.org
PorousFlowVariableBase.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 
8 #ifndef POROUSFLOWVARIABLEBASE_H
9 #define POROUSFLOWVARIABLEBASE_H
10 
11 #include "DerivativeMaterialInterface.h"
12 #include "PorousFlowMaterial.h"
13 
15 
16 template <>
17 InputParameters validParams<PorousFlowVariableBase>();
18 
24 class PorousFlowVariableBase : public DerivativeMaterialInterface<PorousFlowMaterial>
25 {
26 public:
27  PorousFlowVariableBase(const InputParameters & parameters);
28 
29 protected:
30  virtual void initQpStatefulProperties() override;
31  virtual void computeQpProperties() override;
32 
34  const unsigned int _num_phases;
35 
37  const unsigned int _num_components;
38 
40  const unsigned int _num_pf_vars;
41 
43  MaterialProperty<std::vector<Real>> & _porepressure;
44 
46  MaterialProperty<std::vector<std::vector<Real>>> & _dporepressure_dvar;
47 
49  MaterialProperty<std::vector<RealGradient>> * const _gradp_qp;
50 
52  MaterialProperty<std::vector<std::vector<Real>>> * const _dgradp_qp_dgradv;
53 
55  MaterialProperty<std::vector<std::vector<RealGradient>>> * const _dgradp_qp_dv;
56 
58  MaterialProperty<std::vector<Real>> & _saturation;
59 
61  MaterialProperty<std::vector<std::vector<Real>>> & _dsaturation_dvar;
62 
64  MaterialProperty<std::vector<RealGradient>> * const _grads_qp;
65 
67  MaterialProperty<std::vector<std::vector<Real>>> * const _dgrads_qp_dgradv;
68 
70  MaterialProperty<std::vector<std::vector<RealGradient>>> * const _dgrads_qp_dv;
71 };
72 
73 #endif // POROUSFLOWVARIABLEBASE_H
MaterialProperty< std::vector< std::vector< Real > > > & _dporepressure_dvar
d(porepressure)/d(PorousFlow variable)
MaterialProperty< std::vector< std::vector< Real > > > *const _dgrads_qp_dgradv
d(grad saturation)/d(grad PorousFlow variable) at the quadpoints
const unsigned int _num_pf_vars
Number of PorousFlow variables.
MaterialProperty< std::vector< RealGradient > > *const _gradp_qp
Grad(p) at the quadpoints.
MaterialProperty< std::vector< std::vector< RealGradient > > > *const _dgrads_qp_dv
d(grad saturation)/d(PorousFlow variable) at the quadpoints
MaterialProperty< std::vector< Real > > & _saturation
Computed nodal or qp saturation of the phases.
MaterialProperty< std::vector< std::vector< Real > > > & _dsaturation_dvar
d(saturation)/d(PorousFlow variable)
PorousFlowVariableBase(const InputParameters &parameters)
InputParameters validParams< PorousFlowVariableBase >()
virtual void initQpStatefulProperties() override
virtual void computeQpProperties() override
MaterialProperty< std::vector< std::vector< Real > > > *const _dgradp_qp_dgradv
d(grad porepressure)/d(grad PorousFlow variable) at the quadpoints
const unsigned int _num_components
Number of components.
const unsigned int _num_phases
Number of phases.
MaterialProperty< std::vector< std::vector< RealGradient > > > *const _dgradp_qp_dv
d(grad porepressure)/d(PorousFlow variable) at the quadpoints
Base class for thermophysical variable materials, which assemble materials for primary variables such...
MaterialProperty< std::vector< Real > > & _porepressure
Computed nodal or quadpoint values of porepressure of the phases.
MaterialProperty< std::vector< RealGradient > > *const _grads_qp
Grad(s) at the quadpoints.