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 #include "PorousFlowConstants.h"
15 
22 template <bool is_ad>
24 {
25 public:
27 
29 
30 protected:
31  virtual Real computeValue() override;
32 
33 private:
36 
39 
42 
45 
48 
51 
54 
57 
60 
63 
66 
69 
72 
75 
78 
82 
85 
88 
90  const enum class PropertyEnum {
91  PRESSURE,
92  SATURATION,
94  DENSITY,
95  VISCOSITY,
97  RELPERM,
99  ENTHALPY,
104  POROSITY,
105  PERMEABILITY,
109  } _property_enum;
110 
112  const unsigned int _phase;
113 
115  const unsigned int _liquid_phase;
116 
118  const unsigned int _gas_phase;
119 
121  const unsigned int _fluid_component;
122 
124  const unsigned int _secondary_species;
125 
127  const unsigned int _mineral_species;
128 
130  const unsigned int _hysteresis_turning_point;
131 
133  const unsigned int _k_row;
134  const unsigned int _k_col;
135 };
136 
const unsigned int _mineral_species
Mineral species number.
const MaterialProperty< Real > * _hys_info
Hysteresis info: what this physically represents depends on the PorousFlowHystereticInfo Material...
const GenericMaterialProperty< Real, is_ad > * _temperature
Temperature of the fluid.
const GenericMaterialProperty< std::vector< Real >, is_ad > * _internal_energy
Internal energy of each phase.
const GenericMaterialProperty< std::vector< Real >, is_ad > * _mineral_reaction_rate
Mineral-species reacion rate.
PorousFlowPropertyAuxTempl< true > ADPorousFlowPropertyAux
const MaterialProperty< std::array< Real, PorousFlowConstants::MAX_HYSTERESIS_ORDER > > * _hys_sat_tps
Hysteresis saturation turning points.
PorousFlowPropertyAuxTempl(const InputParameters &parameters)
virtual Real computeValue() override
const GenericMaterialProperty< std::vector< std::vector< Real > >, is_ad > * _mass_fractions
Mass fraction of each component in each phase.
const MaterialProperty< unsigned int > * _hys_order
Hysteresis order.
const GenericMaterialProperty< std::vector< Real >, is_ad > * _pressure
Pressure of each phase.
const unsigned int _gas_phase
Gas phase index.
const GenericMaterialProperty< std::vector< Real >, is_ad > * _saturation
Saturation of each phase.
const unsigned int _hysteresis_turning_point
Hysteresis turning point number.
const GenericMaterialProperty< RealTensorValue, is_ad > * _permeability
Permeability of the media.
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
const PorousFlowDictator & _dictator
PorousFlowDictator UserObject.
const unsigned int _phase
Phase index.
const GenericMaterialProperty< std::vector< Real >, is_ad > * _relative_permeability
Relative permeability of each phase.
const unsigned int _k_row
Permeability tensor row and column.
enum PorousFlowPropertyAuxTempl::PropertyEnum _property_enum
Provides a simple interface to PorousFlow material properties.
static InputParameters validParams()
const GenericMaterialProperty< std::vector< Real >, is_ad > * _enthalpy
Enthalpy of each phase.
const unsigned int _secondary_species
Secondary species number.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const GenericMaterialProperty< std::vector< Real >, is_ad > * _mineral_conc
Mineral-species concentration.
This holds maps between the nonlinear variables used in a PorousFlow simulation and the variable numb...
const GenericMaterialProperty< std::vector< Real >, is_ad > * _fluid_viscosity
Viscosity of each phase.
const GenericMaterialProperty< Real, is_ad > * _porosity
Porosity of the media.
const GenericMaterialProperty< std::vector< Real >, is_ad > * _sec_conc
Secondary-species concentration.
const unsigned int _fluid_component
Fluid component index.
const InputParameters & parameters() const
const GenericMaterialProperty< std::vector< Real >, is_ad > * _fluid_density
Fluid density of each phase.
PorousFlowPropertyAuxTempl< false > PorousFlowPropertyAux
const unsigned int _liquid_phase
Liquid phase index.
PropertyEnum
Enum of properties.