www.mooseframework.org
PorousFlowPropertyAux.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 "AuxKernel.h"
13 #include "PorousFlowDictator.h"
14 
16 
17 template <>
18 InputParameters validParams<PorousFlowPropertyAux>();
19 
26 class PorousFlowPropertyAux : public AuxKernel
27 {
28 public:
29  PorousFlowPropertyAux(const InputParameters & parameters);
30 
31 protected:
32  virtual Real computeValue() override;
33 
34 private:
36  const MaterialProperty<std::vector<Real>> * _pressure;
37 
39  const MaterialProperty<std::vector<Real>> * _saturation;
40 
42  const MaterialProperty<Real> * _temperature;
43 
45  const MaterialProperty<std::vector<Real>> * _fluid_density;
46 
48  const MaterialProperty<std::vector<Real>> * _fluid_viscosity;
49 
51  const MaterialProperty<std::vector<std::vector<Real>>> * _mass_fractions;
52 
54  const MaterialProperty<std::vector<Real>> * _relative_permeability;
55 
57  const MaterialProperty<std::vector<Real>> * _enthalpy;
58 
60  const MaterialProperty<std::vector<Real>> * _internal_energy;
61 
63  const MaterialProperty<std::vector<Real>> * _sec_conc;
64 
66  const MaterialProperty<std::vector<Real>> * _mineral_conc;
67 
69  const MaterialProperty<std::vector<Real>> * _mineral_reaction_rate;
70 
72  const MaterialProperty<Real> * _porosity;
73 
75  const MaterialProperty<RealTensorValue> * _permeability;
76 
79 
81  const enum class PropertyEnum {
82  PRESSURE,
83  SATURATION,
85  DENSITY,
86  VISCOSITY,
88  RELPERM,
90  ENTHALPY,
95  POROSITY,
98 
100  const unsigned int _phase;
101 
103  const unsigned int _liquid_phase;
104 
106  const unsigned int _gas_phase;
107 
109  const unsigned int _fluid_component;
110 
112  const unsigned int _secondary_species;
113 
115  const unsigned int _mineral_species;
116 
118  const unsigned int _k_row;
119  const unsigned int _k_col;
120 };
121 
PorousFlowPropertyAux::_secondary_species
const unsigned int _secondary_species
Secondary species number.
Definition: PorousFlowPropertyAux.h:112
PorousFlowPropertyAux::_fluid_density
const MaterialProperty< std::vector< Real > > * _fluid_density
Fluid density of each phase.
Definition: PorousFlowPropertyAux.h:45
PorousFlowPropertyAux::_fluid_viscosity
const MaterialProperty< std::vector< Real > > * _fluid_viscosity
Viscosity of each phase.
Definition: PorousFlowPropertyAux.h:48
PorousFlowDictator.h
PorousFlowPropertyAux::PropertyEnum::SATURATION
PorousFlowPropertyAux::_permeability
const MaterialProperty< RealTensorValue > * _permeability
Permeability of the media.
Definition: PorousFlowPropertyAux.h:75
PorousFlowPropertyAux::_gas_phase
const unsigned int _gas_phase
Gas phase index.
Definition: PorousFlowPropertyAux.h:106
PorousFlowPropertyAux::_dictator
const PorousFlowDictator & _dictator
PorousFlowDictator UserObject.
Definition: PorousFlowPropertyAux.h:78
PorousFlowPropertyAux::_temperature
const MaterialProperty< Real > * _temperature
Temperature of the fluid.
Definition: PorousFlowPropertyAux.h:42
PorousFlowPropertyAux::PropertyEnum::DENSITY
PorousFlowPropertyAux::_mass_fractions
const MaterialProperty< std::vector< std::vector< Real > > > * _mass_fractions
Mass fraction of each component in each phase.
Definition: PorousFlowPropertyAux.h:51
PorousFlowPropertyAux::_property_enum
enum PorousFlowPropertyAux::PropertyEnum _property_enum
PorousFlowPropertyAux::_pressure
const MaterialProperty< std::vector< Real > > * _pressure
Pressure of each phase.
Definition: PorousFlowPropertyAux.h:36
PorousFlowPropertyAux::PropertyEnum::POROSITY
PorousFlowPropertyAux::PropertyEnum::PERMEABILITY
PorousFlowPropertyAux::PropertyEnum::TEMPERATURE
PorousFlowPropertyAux::_sec_conc
const MaterialProperty< std::vector< Real > > * _sec_conc
Secondary-species concentration.
Definition: PorousFlowPropertyAux.h:63
PorousFlowPropertyAux::PropertyEnum::MASS_FRACTION
PorousFlowPropertyAux::_saturation
const MaterialProperty< std::vector< Real > > * _saturation
Saturation of each phase.
Definition: PorousFlowPropertyAux.h:39
PorousFlowPropertyAux::PropertyEnum::SECONDARY_CONCENTRATION
PorousFlowPropertyAux::_fluid_component
const unsigned int _fluid_component
Fluid component index.
Definition: PorousFlowPropertyAux.h:109
PorousFlowPropertyAux::_k_col
const unsigned int _k_col
Definition: PorousFlowPropertyAux.h:119
PorousFlowPropertyAux::PorousFlowPropertyAux
PorousFlowPropertyAux(const InputParameters &parameters)
Definition: PorousFlowPropertyAux.C:45
PorousFlowPropertyAux::_k_row
const unsigned int _k_row
Permeability tensor row and column.
Definition: PorousFlowPropertyAux.h:118
PorousFlowPropertyAux::PropertyEnum::VISCOSITY
PorousFlowPropertyAux::_mineral_species
const unsigned int _mineral_species
Mineral species number.
Definition: PorousFlowPropertyAux.h:115
PorousFlowDictator
This holds maps between the nonlinear variables used in a PorousFlow simulation and the variable numb...
Definition: PorousFlowDictator.h:71
PorousFlowPropertyAux::PropertyEnum::ENTHALPY
PorousFlowPropertyAux::_relative_permeability
const MaterialProperty< std::vector< Real > > * _relative_permeability
Relative permeability of each phase.
Definition: PorousFlowPropertyAux.h:54
PorousFlowPropertyAux::_porosity
const MaterialProperty< Real > * _porosity
Porosity of the media.
Definition: PorousFlowPropertyAux.h:72
PorousFlowPropertyAux::_mineral_conc
const MaterialProperty< std::vector< Real > > * _mineral_conc
Mineral-species concentration.
Definition: PorousFlowPropertyAux.h:66
PorousFlowPropertyAux::PropertyEnum::MINERAL_CONCENTRATION
PorousFlowPropertyAux::PropertyEnum::INTERNAL_ENERGY
PorousFlowPropertyAux::PropertyEnum
PropertyEnum
Enum of properties.
Definition: PorousFlowPropertyAux.h:81
PorousFlowPropertyAux
Provides a simple interface to PorousFlow material properties.
Definition: PorousFlowPropertyAux.h:26
PorousFlowPropertyAux::_enthalpy
const MaterialProperty< std::vector< Real > > * _enthalpy
Enthalpy of each phase.
Definition: PorousFlowPropertyAux.h:57
PorousFlowPropertyAux::computeValue
virtual Real computeValue() override
Definition: PorousFlowPropertyAux.C:172
validParams< PorousFlowPropertyAux >
InputParameters validParams< PorousFlowPropertyAux >()
Definition: PorousFlowPropertyAux.C:16
PorousFlowPropertyAux::PropertyEnum::PRESSURE
PorousFlowPropertyAux::PropertyEnum::MINERAL_REACTION_RATE
PorousFlowPropertyAux::PropertyEnum::RELPERM
PorousFlowPropertyAux::PropertyEnum::CAPILLARY_PRESSURE
PorousFlowPropertyAux::_phase
const unsigned int _phase
Phase index.
Definition: PorousFlowPropertyAux.h:100
PorousFlowPropertyAux::_mineral_reaction_rate
const MaterialProperty< std::vector< Real > > * _mineral_reaction_rate
Mineral-species reacion rate.
Definition: PorousFlowPropertyAux.h:69
PorousFlowPropertyAux::_internal_energy
const MaterialProperty< std::vector< Real > > * _internal_energy
Internal energy of each phase.
Definition: PorousFlowPropertyAux.h:60
PorousFlowPropertyAux::_liquid_phase
const unsigned int _liquid_phase
Liquid phase index.
Definition: PorousFlowPropertyAux.h:103