www.mooseframework.org
PorousFlowPropertyAux.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 POROUSFLOWPROPERTYAUX_H
9 #define POROUSFLOWPROPERTYAUX_H
10 
11 #include "AuxKernel.h"
12 #include "PorousFlowDictator.h"
13 
15 
16 template <>
17 InputParameters validParams<PorousFlowPropertyAux>();
18 
24 class PorousFlowPropertyAux : public AuxKernel
25 {
26 public:
27  PorousFlowPropertyAux(const InputParameters & parameters);
28 
29 protected:
30  virtual Real computeValue();
31 
32 private:
34  const MaterialProperty<std::vector<Real>> * _pressure;
35 
37  const MaterialProperty<std::vector<Real>> * _saturation;
38 
40  const MaterialProperty<Real> * _temperature;
41 
43  const MaterialProperty<std::vector<Real>> * _fluid_density;
44 
46  const MaterialProperty<std::vector<Real>> * _fluid_viscosity;
47 
49  const MaterialProperty<std::vector<std::vector<Real>>> * _mass_fractions;
50 
52  const MaterialProperty<std::vector<Real>> * _relative_permeability;
53 
55  const MaterialProperty<std::vector<Real>> * _enthalpy;
56 
58  const MaterialProperty<std::vector<Real>> * _internal_energy;
59 
62 
64  const enum class PropertyEnum {
65  PRESSURE,
66  SATURATION,
68  DENSITY,
69  VISCOSITY,
71  RELPERM,
72  ENTHALPY,
75 
77  unsigned int _phase;
78 
80  unsigned int _fluid_component;
81 };
82 
83 #endif // POROUSFLOWPROPERTYAUX_H
Provides a simple interface to PorousFlow material properties.
const MaterialProperty< std::vector< Real > > * _fluid_viscosity
Viscosity of each phase.
const MaterialProperty< std::vector< std::vector< Real > > > * _mass_fractions
Mass fraction of each component in each phase.
PropertyEnum
enum of properties
unsigned int _fluid_component
Fluid omponent index.
const PorousFlowDictator & _dictator
PorousFlow Dictator UserObject.
const MaterialProperty< std::vector< Real > > * _internal_energy
Internal energy of each phase.
const MaterialProperty< std::vector< Real > > * _enthalpy
Enthalpy of each phase.
PorousFlowPropertyAux(const InputParameters &parameters)
const MaterialProperty< std::vector< Real > > * _saturation
Saturation of each phase (at the qps)
const MaterialProperty< Real > * _temperature
Temperature of the fluid (at the qps)
const MaterialProperty< std::vector< Real > > * _fluid_density
Fluid density of each phase (at the qps)
unsigned int _phase
Phase index.
This holds maps between the nonlinear variables used in a PorousFlow simulation and the variable numb...
enum PorousFlowPropertyAux::PropertyEnum _property_enum
const MaterialProperty< std::vector< Real > > * _relative_permeability
Relative permeability of each phase.
InputParameters validParams< PorousFlowPropertyAux >()
const MaterialProperty< std::vector< Real > > * _pressure
Pressure of each phase (at the qps)