https://mooseframework.inl.gov
Loading...
Searching...
No Matches
PorousFlowFluidStateSingleComponent.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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
14
16
27template <bool is_ad>
29{
30public:
32
34
35protected:
36 virtual void initQpStatefulProperties() override;
37 virtual void computeQpProperties() override;
38 virtual void thermophysicalProperties() override;
39 virtual void setMaterialVectorSize() const override;
40
46 const unsigned int _liquid_porepressure_varnum;
48 const unsigned int _pvar;
54 const unsigned int _enthalpy_varnum;
56 const unsigned int _hvar;
60 const unsigned int _aqueous_phase_number;
62 const unsigned int _gas_phase_number;
74 const unsigned int _pidx;
76 const unsigned int _hidx;
77
78#if (is_ad)
80#else
82#endif
83};
84
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
Moose::GenericType< VariableValue, is_ad > GenericVariableValue
Moose::GenericType< VariableGradient, is_ad > GenericVariableGradient
PorousFlowFluidStateSingleComponentTempl< true > ADPorousFlowFluidStateSingleComponent
PorousFlowFluidStateSingleComponentTempl< false > PorousFlowFluidStateSingleComponent
Base class for capillary pressure for multiphase flow in porous media.
Fluid state base class using a persistent set of primary variables for multiphase,...
Base class for miscible multiphase flow classes with a single fluid component using a pressure and en...
Fluid state class using a persistent set of primary variables for the mutliphase, single component ca...
GenericMaterialProperty< RealGradient, is_ad > *const _grad_temperature_qp
Gradient of temperature (only defined at the qps)
const PorousFlowFluidStateSingleComponentBase & _fs
FluidState UserObject.
const unsigned int _aqueous_phase_number
Phase number of the aqueous phase.
GenericMaterialProperty< Real, is_ad > & _temperature
Temperature.
const unsigned int _enthalpy_varnum
Moose variable number of the enthalpy.
const unsigned int _liquid_porepressure_varnum
Moose variable number of the porepressure.
const GenericVariableValue< is_ad > & _liquid_porepressure
Porepressure.
const unsigned int _hidx
Index of derivative wrt enthalpy.
const GenericVariableGradient< is_ad > & _gradh_qp
Gradient of enthalpy (only defined at the qps)
MaterialProperty< std::vector< RealGradient > > *const _dgrad_temperature_dv
d(grad temperature)/d(PorousFlow variable) at the quadpoints
const unsigned int _hvar
PorousFlow variable number of the enthalpy.
const unsigned int _pidx
Index of derivative wrt pressure.
MaterialProperty< std::vector< Real > > *const _dtemperature_dvar
Derivative of temperature wrt PorousFlow variables.
const GenericVariableValue< is_ad > & _enthalpy
Enthalpy.
const unsigned int _gas_phase_number
Phase number of the gas phase.
virtual void thermophysicalProperties() override
Calculates all required thermophysical properties and derivatives for each phase and fluid component.
const unsigned int _pvar
PorousFlow variable number of the porepressure.
virtual void setMaterialVectorSize() const override
Size material property vectors and initialise with zeros.
const GenericVariableGradient< is_ad > & _liquid_gradp_qp
Gradient of porepressure (only defined at the qps)
MaterialProperty< std::vector< Real > > *const _dgrad_temperature_dgradv
d(grad temperature)/d(grad PorousFlow variable) at the quadpoints