www.mooseframework.org
PorousFlowVariableBase.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "DerivativeMaterialInterface.h"
13 #include "PorousFlowMaterial.h"
14 
16 
17 template <>
18 InputParameters validParams<PorousFlowVariableBase>();
19 
25 class PorousFlowVariableBase : public DerivativeMaterialInterface<PorousFlowMaterial>
26 {
27 public:
28  PorousFlowVariableBase(const InputParameters & parameters);
29 
30 protected:
31  virtual void initQpStatefulProperties() override;
32  virtual void computeQpProperties() override;
33 
35  const unsigned int _num_phases;
36 
38  const unsigned int _num_components;
39 
41  const unsigned int _num_pf_vars;
42 
44  MaterialProperty<std::vector<Real>> & _porepressure;
45 
47  MaterialProperty<std::vector<std::vector<Real>>> & _dporepressure_dvar;
48 
50  MaterialProperty<std::vector<RealGradient>> * const _gradp_qp;
51 
53  MaterialProperty<std::vector<std::vector<Real>>> * const _dgradp_qp_dgradv;
54 
56  MaterialProperty<std::vector<std::vector<RealGradient>>> * const _dgradp_qp_dv;
57 
59  MaterialProperty<std::vector<Real>> & _saturation;
60 
62  MaterialProperty<std::vector<std::vector<Real>>> & _dsaturation_dvar;
63 
65  MaterialProperty<std::vector<RealGradient>> * const _grads_qp;
66 
68  MaterialProperty<std::vector<std::vector<Real>>> * const _dgrads_qp_dgradv;
69 
71  MaterialProperty<std::vector<std::vector<RealGradient>>> * const _dgrads_qp_dv;
72 };
73 
PorousFlowVariableBase::computeQpProperties
virtual void computeQpProperties() override
Definition: PorousFlowVariableBase.C:74
PorousFlowVariableBase::_num_components
const unsigned int _num_components
Number of components.
Definition: PorousFlowVariableBase.h:38
PorousFlowVariableBase::_num_phases
const unsigned int _num_phases
Number of phases.
Definition: PorousFlowVariableBase.h:35
PorousFlowVariableBase::_dgradp_qp_dgradv
MaterialProperty< std::vector< std::vector< Real > > > *const _dgradp_qp_dgradv
d(grad porepressure)/d(grad PorousFlow variable) at the quadpoints
Definition: PorousFlowVariableBase.h:53
PorousFlowVariableBase
Base class for thermophysical variable materials, which assemble materials for primary variables such...
Definition: PorousFlowVariableBase.h:25
PorousFlowVariableBase::_grads_qp
MaterialProperty< std::vector< RealGradient > > *const _grads_qp
Grad(s) at the quadpoints.
Definition: PorousFlowVariableBase.h:65
PorousFlowVariableBase::_dgradp_qp_dv
MaterialProperty< std::vector< std::vector< RealGradient > > > *const _dgradp_qp_dv
d(grad porepressure)/d(PorousFlow variable) at the quadpoints
Definition: PorousFlowVariableBase.h:56
PorousFlowVariableBase::_porepressure
MaterialProperty< std::vector< Real > > & _porepressure
Computed nodal or quadpoint values of porepressure of the phases.
Definition: PorousFlowVariableBase.h:44
PorousFlowVariableBase::_dporepressure_dvar
MaterialProperty< std::vector< std::vector< Real > > > & _dporepressure_dvar
d(porepressure)/d(PorousFlow variable)
Definition: PorousFlowVariableBase.h:47
PorousFlowVariableBase::_num_pf_vars
const unsigned int _num_pf_vars
Number of PorousFlow variables.
Definition: PorousFlowVariableBase.h:41
PorousFlowVariableBase::_dgrads_qp_dv
MaterialProperty< std::vector< std::vector< RealGradient > > > *const _dgrads_qp_dv
d(grad saturation)/d(PorousFlow variable) at the quadpoints
Definition: PorousFlowVariableBase.h:71
PorousFlowVariableBase::_dgrads_qp_dgradv
MaterialProperty< std::vector< std::vector< Real > > > *const _dgrads_qp_dgradv
d(grad saturation)/d(grad PorousFlow variable) at the quadpoints
Definition: PorousFlowVariableBase.h:68
PorousFlowMaterial.h
PorousFlowVariableBase::_gradp_qp
MaterialProperty< std::vector< RealGradient > > *const _gradp_qp
Grad(p) at the quadpoints.
Definition: PorousFlowVariableBase.h:50
PorousFlowVariableBase::PorousFlowVariableBase
PorousFlowVariableBase(const InputParameters &parameters)
Definition: PorousFlowVariableBase.C:23
PorousFlowVariableBase::initQpStatefulProperties
virtual void initQpStatefulProperties() override
Definition: PorousFlowVariableBase.C:66
PorousFlowVariableBase::_saturation
MaterialProperty< std::vector< Real > > & _saturation
Computed nodal or qp saturation of the phases.
Definition: PorousFlowVariableBase.h:59
PorousFlowVariableBase::_dsaturation_dvar
MaterialProperty< std::vector< std::vector< Real > > > & _dsaturation_dvar
d(saturation)/d(PorousFlow variable)
Definition: PorousFlowVariableBase.h:62
validParams< PorousFlowVariableBase >
InputParameters validParams< PorousFlowVariableBase >()
Definition: PorousFlowVariableBase.C:14