https://mooseframework.inl.gov
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | List of all members
Water97FluidProperties Class Reference

Water (H2O) fluid properties as a function of pressure (Pa) and temperature (K) from IAPWS-IF97: Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam. More...

#include <Water97FluidProperties.h>

Inheritance diagram for Water97FluidProperties:
[legend]

Public Types

typedef DataFileName DataFileParameterType
 

Public Member Functions

 Water97FluidProperties (const InputParameters &parameters)
 
virtual ~Water97FluidProperties ()
 
virtual std::string fluidName () const override
 Fluid name. More...
 
virtual Real molarMass () const override
 Molar mass [kg/mol]. More...
 
virtual Real criticalPressure () const override
 Critical pressure. More...
 
virtual Real criticalTemperature () const override
 Critical temperature. More...
 
virtual Real criticalDensity () const override
 Critical density. More...
 
virtual Real triplePointPressure () const override
 Triple point pressure. More...
 
virtual Real triplePointTemperature () const override
 Triple point temperature. More...
 
virtual Real rho_from_p_T (Real pressure, Real temperature) const override
 
virtual ADReal rho_from_p_T (const ADReal &pressure, const ADReal &temperature) const override
 
virtual Real v_from_p_T (Real pressure, Real temperature) const override
 
virtual ADReal v_from_p_T (const ADReal &pressure, const ADReal &temperature) const override
 
template<typename T >
T v_from_p_T_template (const T &pressure, const T &temperature) const
 
virtual void v_from_p_T (Real pressure, Real temperature, Real &v, Real &dv_dp, Real &dv_dT) const override
 
virtual void v_from_p_T (const ADReal &pressure, const ADReal &temperature, ADReal &v, ADReal &dv_dp, ADReal &dv_dT) const override
 
template<typename T >
void v_from_p_T_template (const T &pressure, const T &temperature, T &v, T &dv_dp, T &dv_dt) const
 
template<typename T >
T rho_from_p_T_template (const T &pressure, const T &temperature) const
 
template<typename T >
void rho_from_p_T_template (const T &pressure, const T &temperature, T &rho, T &drho_dp, T &drho_dt) const
 
virtual void rho_from_p_T (Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT) const override
 
virtual void rho_from_p_T (const ADReal &pressure, const ADReal &temperature, ADReal &rho, ADReal &drho_dp, ADReal &drho_dT) const override
 
Real p_from_v_e (Real v, Real e) const override
 
ADReal p_from_v_e (const ADReal &v, const ADReal &e) const override
 
template<typename T >
T p_from_v_e_template (const T &v, const T &e) const
 
virtual Real e_from_p_rho (Real p, Real rho) const override
 
virtual ADReal e_from_p_rho (const ADReal &p, const ADReal &rho) const override
 
template<typename T >
T e_from_p_rho_template (const T &p, const T &rho) const
 
void e_from_p_rho (Real p, Real rho, Real &e, Real &de_dp, Real &de_drho) const override
 
void e_from_p_rho (const ADReal &p, const ADReal &rho, ADReal &e, ADReal &de_dp, ADReal &de_drho) const override
 
template<typename T >
void e_from_p_rho_template (const T &p, const T &rho, T &e, T &de_dp, T &de_drho) const
 
virtual Real e_from_p_T (Real pressure, Real temperature) const override
 
virtual ADReal e_from_p_T (const ADReal &pressure, const ADReal &temperature) const override
 
template<typename T >
T e_from_p_T_template (const T &pressure, const T &temperature) const
 
virtual void e_from_p_T (Real pressure, Real temperature, Real &e, Real &de_dp, Real &de_dT) const override
 
virtual void e_from_p_T (const ADReal &pressure, const ADReal &temperature, ADReal &e, ADReal &de_dp, ADReal &de_dT) const override
 
template<typename T >
void e_from_p_T_template (const T &pressure, const T &temperature, T &e, T &de_dp, T &de_dT) const
 
ADReal e_from_v_h (const ADReal &v, const ADReal &h) const override
 
Real T_from_v_e (Real v, Real e) const override
 
ADReal T_from_v_e (const ADReal &v, const ADReal &e) const override
 
virtual Real c_from_p_T (Real pressure, Real temperature) const override
 
virtual ADReal c_from_p_T (const ADReal &pressure, const ADReal &temperature) const override
 
template<typename T >
T c_from_p_T_template (const T &pressure, const T &temperature) const
 
virtual ADReal c_from_v_e (const ADReal &v, const ADReal &e) const override
 
virtual Real cp_from_p_T (Real pressure, Real temperature) const override
 
virtual ADReal cp_from_p_T (const ADReal &pressure, const ADReal &temperature) const override
 
template<typename T >
T cp_from_p_T_template (const T &pressure, const T &temperature) const
 
virtual ADReal cp_from_v_e (const ADReal &v, const ADReal &e) const override
 
virtual Real cv_from_p_T (Real pressure, Real temperature) const override
 
virtual ADReal cv_from_p_T (const ADReal &pressure, const ADReal &temperature) const override
 
template<typename T >
T cv_from_p_T_template (const T &pressure, const T &temperature) const
 
virtual ADReal cv_from_v_e (const ADReal &v, const ADReal &e) const override
 
virtual Real mu_from_p_T (Real pressure, Real temperature) const override
 
virtual ADReal mu_from_p_T (const ADReal &pressure, const ADReal &temperature) const override
 
template<typename T >
T mu_from_p_T_template (const T &pressure, const T &temperature) const
 
virtual void mu_from_p_T (Real pressure, Real temperature, Real &mu, Real &dmu_dp, Real &dmu_dT) const override
 
virtual Real mu_from_rho_T (Real density, Real temperature) const override
 
template<typename T >
T mu_from_rho_T_template (const T &density, const T &temperature) const
 
void mu_from_rho_T (Real rho, Real temperature, Real drho_dT, Real &mu, Real &dmu_drho, Real &dmu_dT) const
 
ADReal mu_from_v_e (const ADReal &v, const ADReal &e) const override
 
virtual void rho_mu_from_p_T (Real pressure, Real temperature, Real &rho, Real &mu) const override
 Combined methods. More...
 
virtual void rho_mu_from_p_T (Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT, Real &mu, Real &dmu_dp, Real &dmu_dT) const override
 
virtual Real k_from_p_T (Real pressure, Real temperature) const override
 
virtual ADReal k_from_p_T (const ADReal &pressure, const ADReal &temperature) const override
 
template<typename T >
T k_from_p_T_template (const T &pressure, const T &temperature) const
 
virtual void k_from_p_T (Real pressure, Real temperature, Real &k, Real &dk_dp, Real &dk_dT) const override
 
virtual Real k_from_rho_T (Real density, Real temperature) const override
 
template<typename T >
T k_from_rho_T_template (const T &density, const T &temperature) const
 
Real k_from_v_e (Real v, Real e) const override
 
ADReal k_from_v_e (const ADReal &v, const ADReal &e) const override
 
template<typename T >
T k_from_v_e_template (const T &v, const T &e) const
 
 propfuncWithDefinitionOverride (s, p, T)
 
virtual Real h_from_p_T (Real pressure, Real temperature) const override
 
virtual ADReal h_from_p_T (const ADReal &pressure, const ADReal &temperature) const override
 
template<typename T >
T h_from_p_T_template (const T &pressure, const T &temperature) const
 
virtual void h_from_p_T (Real pressure, Real temperature, Real &h, Real &dh_dp, Real &dh_dT) const override
 
virtual void h_from_p_T (const ADReal &pressure, const ADReal &temperature, ADReal &h, ADReal &dh_dp, ADReal &dh_dT) const override
 
template<typename T >
void h_from_p_T_template (const T &pressure, const T &temperature, T &h, T &dh_dp, T &dh_dT) const
 
virtual Real s_from_h_p (Real enthalpy, Real pressure) const override
 
virtual ADReal s_from_h_p (const ADReal &enthalpy, const ADReal &pressure) const override
 
virtual void s_from_h_p (Real enthalpy, Real pressure, Real &s, Real &ds_dh, Real &ds_dp) const override
 
virtual Real vaporPressure (Real temperature) const override
 Vapor pressure. More...
 
virtual void vaporPressure (Real temperature, Real &psat, Real &dpsat_dT) const override
 
template<typename T >
void vaporPressureTemplate (const T &temperature, T &psat, T &dpsat_dT) const
 
Real vaporTemperature (Real pressure) const override
 Saturation temperature as a function of pressure. More...
 
virtual void vaporTemperature (Real pressure, Real &Tsat, Real &dTsat_dp) const override
 
Real b23p (Real temperature) const
 Auxillary equation for the boundary between regions 2 and 3. More...
 
Real b23T (Real pressure) const
 Auxillary equation for the boundary between regions 2 and 3. More...
 
unsigned int inRegion (Real pressure, Real temperature) const
 Determines the phase region that the given pressure and temperature values lie in. More...
 
unsigned int subregion3 (Real pressure, Real temperature) const
 Provides the correct subregion index for a (P,T) point in region 3. More...
 
template<typename T >
T subregionVolume (const T &pi, const T &theta, Real a, Real b, Real c, Real d, Real e, unsigned int sid) const
 Specific volume in all subregions of region 3 EXCEPT subregion n (13). More...
 
template<typename T >
T densityRegion3 (const T &pressure, const T &temperature) const
 Density function for Region 3 - supercritical water and steam. More...
 
virtual Real T_from_p_h (Real pressure, Real enthalpy) const override
 Backwards equation T(p, h) From Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam. More...
 
virtual void T_from_p_h (Real p, Real h, Real &T, Real &dT_dp, Real &dT_dh) const override
 
virtual ADReal T_from_p_h (const ADReal &pressure, const ADReal &enthalpy) const override
 
Real b2bc (Real pressure) const
 Boundary between subregions b and c in region 2. More...
 
Real b3ab (Real pressure) const
 Boundary between subregions a and b in region 3. More...
 
Real henryConstant (Real temperature, const std::vector< Real > &coeffs) const
 IAPWS formulation of Henry's law constant for dissolution in water From Guidelines on the Henry's constant and vapour liquid distribution constant for gases in H20 and D20 at high temperatures, IAPWS (2004) More...
 
void henryConstant (Real temperature, const std::vector< Real > &coeffs, Real &Kh, Real &dKh_dT) const
 
ADReal henryConstant (const ADReal &temperature, const std::vector< Real > &coeffs) const
 
template<typename T >
std::pair< T, Tp_T_from_v_e (const T &v, const T &e) const
 Computes the pressure (first member of the pair) and temperature (second member of the pair) as functions of specific volume and specific internal energy. More...
 
template<typename T >
std::pair< T, Trho_T_from_v_e (const T &v, const T &e) const
 Computes the density (first member of the pair) and temperature (second member of the pair) as functions of specific volume and specific internal energy. More...
 
template<typename T >
std::pair< T, Tp_T_from_v_h (const T &v, const T &h) const
 Computes the pressure (first member of the pair) and temperature (second member of the pair) as functions of specific volume and specific enthalpy. More...
 
template<typename T >
void p_T_from_v_h (const T &v, const T &h, Real p0, Real T0, T &pressure, T &temperature, bool &conversion_succeeded) const
 Determines (p,T) from (v,h) using Newton Solve in 2D Useful for conversion between different sets of state variables. More...
 
virtual Real criticalInternalEnergy () const
 Critical specific internal energy. More...
 
virtual Real e_spndl_from_v (Real v) const
 Specific internal energy from temperature and specific volume. More...
 
virtual void v_e_spndl_from_T (Real T, Real &v, Real &e) const
 Specific internal energy from temperature and specific volume. More...
 
virtual ADReal vaporPressure (const ADReal &T) const
 
virtual ADReal vaporTemperature (const ADReal &p) const
 
virtual std::vector< RealhenryCoefficients () const
 Henry's law coefficients for dissolution in water. More...
 
template<typename CppType >
void v_e_from_p_T (const CppType &p, const CppType &T, CppType &v, CppType &e) const
 
template<typename CppType >
void v_e_from_p_T (const CppType &p, const CppType &T, CppType &v, CppType &dv_dp, CppType &dv_dT, CppType &e, CppType &de_dp, CppType &de_dT) const
 
virtual void rho_mu_from_p_T (const ADReal &p, const ADReal &T, ADReal &rho, ADReal &mu) const
 
virtual void rho_e_from_p_T (Real p, Real T, Real &rho, Real &drho_dp, Real &drho_dT, Real &e, Real &de_dp, Real &de_dT) const
 
template<typename CppType >
void p_T_from_v_e (const CppType &v, const CppType &e, Real p0, Real T0, CppType &p, CppType &T, bool &conversion_succeeded) const
 Determines (p,T) from (v,e) using Newton Solve in 2D Useful for conversion between different sets of state variables. More...
 
template<typename T >
void p_T_from_v_h (const T &v, const T &h, Real p0, Real T0, T &pressure, T &temperature, bool &conversion_succeeded) const
 Determines (p,T) from (v,h) using Newton Solve in 2D Useful for conversion between different sets of state variables. More...
 
template<typename T >
void p_T_from_h_s (const T &h, const T &s, Real p0, Real T0, T &pressure, T &temperature, bool &conversion_succeeded) const
 Determines (p,T) from (h,s) using Newton Solve in 2D Useful for conversion between different sets of state variables. More...
 
template<>
std::pair< Real, RealmakeZeroAndOne (const Real &)
 
virtual void execute () final
 
virtual void initialize () final
 
virtual void finalize () final
 
virtual void threadJoin (const UserObject &) final
 
virtual void subdomainSetup () final
 
bool needThreadedCopy () const override final
 
SubProblemgetSubProblem () const
 
bool shouldDuplicateInitialExecution () const
 
virtual Real spatialValue (const Point &) const
 
virtual const std::vector< Point > spatialPoints () const
 
void gatherSum (T &value)
 
void gatherMax (T &value)
 
void gatherMin (T &value)
 
void gatherProxyValueMax (T1 &proxy, T2 &value)
 
void gatherProxyValueMin (T1 &proxy, T2 &value)
 
void setPrimaryThreadCopy (UserObject *primary)
 
UserObjectprimaryThreadCopy ()
 
std::set< UserObjectName > getDependObjects () const
 
const std::set< std::string > & getRequestedItems () override
 
const std::set< std::string > & getSuppliedItems () override
 
unsigned int systemNumber () const
 
virtual bool enabled () const
 
std::shared_ptr< MooseObjectgetSharedPtr ()
 
std::shared_ptr< const MooseObjectgetSharedPtr () const
 
MooseAppgetMooseApp () const
 
const std::string & type () const
 
virtual const std::string & name () const
 
std::string typeAndName () const
 
std::string errorPrefix (const std::string &error_type) const
 
void callMooseError (std::string msg, const bool with_prefix) const
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
const InputParametersparameters () const
 
MooseObjectName uniqueName () const
 
const TgetParam (const std::string &name) const
 
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 
const TqueryParam (const std::string &name) const
 
const TgetRenamedParam (const std::string &old_name, const std::string &new_name) const
 
T getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 
bool isParamValid (const std::string &name) const
 
bool isParamSetByUser (const std::string &nm) const
 
void paramError (const std::string &param, Args... args) const
 
void paramWarning (const std::string &param, Args... args) const
 
void paramInfo (const std::string &param, Args... args) const
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 
void mooseError (Args &&... args) const
 
void mooseErrorNonPrefixed (Args &&... args) const
 
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseInfo (Args &&... args) const
 
std::string getDataFileName (const std::string &param) const
 
std::string getDataFileNameByName (const std::string &relative_path) const
 
std::string getDataFilePath (const std::string &relative_path) const
 
virtual void initialSetup ()
 
virtual void timestepSetup ()
 
virtual void jacobianSetup ()
 
virtual void residualSetup ()
 
virtual void customSetup (const ExecFlagType &)
 
const ExecFlagEnumgetExecuteOnEnum () const
 
UserObjectName getUserObjectName (const std::string &param_name) const
 
const TgetUserObject (const std::string &param_name, bool is_dependency=true) const
 
const TgetUserObjectByName (const UserObjectName &object_name, bool is_dependency=true) const
 
const UserObjectgetUserObjectBase (const std::string &param_name, bool is_dependency=true) const
 
const UserObjectgetUserObjectBaseByName (const UserObjectName &object_name, bool is_dependency=true) const
 
const std::vector< MooseVariableScalar *> & getCoupledMooseScalarVars ()
 
const std::set< TagID > & getScalarVariableCoupleableVectorTags () const
 
const std::set< TagID > & getScalarVariableCoupleableMatrixTags () const
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialProperty (const std::string &name, const unsigned int state=0)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialProperty (const std::string &name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialProperty (const std::string &name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialProperty (const std::string &name, const unsigned int state=0)
 
const ADMaterialProperty< T > & getADMaterialProperty (const std::string &name, MaterialData &material_data)
 
const ADMaterialProperty< T > & getADMaterialProperty (const std::string &name)
 
const ADMaterialProperty< T > & getADMaterialProperty (const std::string &name)
 
const MaterialProperty< T > & getMaterialPropertyOld (const std::string &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOld (const std::string &name)
 
const MaterialProperty< T > & getMaterialPropertyOld (const std::string &name)
 
const MaterialProperty< T > & getMaterialPropertyOlder (const std::string &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOlder (const std::string &name)
 
const MaterialProperty< T > & getMaterialPropertyOlder (const std::string &name)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const ADMaterialProperty< T > & getADMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data)
 
const ADMaterialProperty< T > & getADMaterialPropertyByName (const MaterialPropertyName &name)
 
const ADMaterialProperty< T > & getADMaterialPropertyByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOldByName (const MaterialPropertyName &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOldByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOldByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name)
 
std::pair< const MaterialProperty< T > *, std::set< SubdomainID > > getBlockMaterialProperty (const MaterialPropertyName &name)
 
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty (const std::string &name)
 
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty ()
 
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialPropertyByName (const std::string &prop_name)
 
const MaterialProperty< T > & getZeroMaterialProperty (Ts... args)
 
std::set< SubdomainIDgetMaterialPropertyBlocks (const std::string &name)
 
std::vector< SubdomainName > getMaterialPropertyBlockNames (const std::string &name)
 
std::set< BoundaryIDgetMaterialPropertyBoundaryIDs (const std::string &name)
 
std::vector< BoundaryName > getMaterialPropertyBoundaryNames (const std::string &name)
 
void checkBlockAndBoundaryCompatibility (std::shared_ptr< MaterialBase > discrete)
 
std::unordered_map< SubdomainID, std::vector< MaterialBase *> > buildRequiredMaterials (bool allow_stateful=true)
 
void statefulPropertiesAllowed (bool)
 
bool getMaterialPropertyCalled () const
 
virtual const std::unordered_set< unsigned int > & getMatPropDependencies () const
 
virtual void resolveOptionalProperties ()
 
const GenericMaterialProperty< T, is_ad > & getPossiblyConstantGenericMaterialPropertyByName (const MaterialPropertyName &prop_name, MaterialData &material_data, const unsigned int state)
 
bool isImplicit ()
 
Moose::StateArg determineState () const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
const GenericOptionalMaterialProperty< T, is_ad > & getGenericOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 
const GenericOptionalMaterialProperty< T, is_ad > & getGenericOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 
const OptionalMaterialProperty< T > & getOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 
const OptionalMaterialProperty< T > & getOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 
const OptionalADMaterialProperty< T > & getOptionalADMaterialProperty (const std::string &name)
 
const OptionalADMaterialProperty< T > & getOptionalADMaterialProperty (const std::string &name)
 
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOld (const std::string &name)
 
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOld (const std::string &name)
 
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOlder (const std::string &name)
 
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOlder (const std::string &name)
 
MaterialBasegetMaterial (const std::string &name)
 
MaterialBasegetMaterial (const std::string &name)
 
MaterialBasegetMaterialByName (const std::string &name, bool no_warn=false)
 
MaterialBasegetMaterialByName (const std::string &name, bool no_warn=false)
 
bool hasMaterialProperty (const std::string &name)
 
bool hasMaterialProperty (const std::string &name)
 
bool hasMaterialPropertyByName (const std::string &name)
 
bool hasMaterialPropertyByName (const std::string &name)
 
bool hasADMaterialProperty (const std::string &name)
 
bool hasADMaterialProperty (const std::string &name)
 
bool hasADMaterialPropertyByName (const std::string &name)
 
bool hasADMaterialPropertyByName (const std::string &name)
 
bool hasGenericMaterialProperty (const std::string &name)
 
bool hasGenericMaterialProperty (const std::string &name)
 
bool hasGenericMaterialPropertyByName (const std::string &name)
 
bool hasGenericMaterialPropertyByName (const std::string &name)
 
const FunctiongetFunction (const std::string &name) const
 
const FunctiongetFunctionByName (const FunctionName &name) const
 
bool hasFunction (const std::string &param_name) const
 
bool hasFunctionByName (const FunctionName &name) const
 
bool isDefaultPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
bool hasPostprocessor (const std::string &param_name, const unsigned int index=0) const
 
bool hasPostprocessorByName (const PostprocessorName &name) const
 
std::size_t coupledPostprocessors (const std::string &param_name) const
 
const PostprocessorName & getPostprocessorName (const std::string &param_name, const unsigned int index=0) const
 
const VectorPostprocessorValuegetVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
bool hasVectorPostprocessor (const std::string &param_name, const std::string &vector_name) const
 
bool hasVectorPostprocessor (const std::string &param_name) const
 
bool hasVectorPostprocessorByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
bool hasVectorPostprocessorByName (const VectorPostprocessorName &name) const
 
const VectorPostprocessorName & getVectorPostprocessorName (const std::string &param_name) const
 
TgetSampler (const std::string &name)
 
SamplergetSampler (const std::string &name)
 
TgetSamplerByName (const SamplerName &name)
 
SamplergetSamplerByName (const SamplerName &name)
 
virtual void meshChanged ()
 
virtual void meshDisplaced ()
 
PerfGraphperfGraph ()
 
const PostprocessorValuegetPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOld (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOld (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOlder (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOlder (const std::string &param_name, const unsigned int index=0) const
 
virtual const PostprocessorValuegetPostprocessorValueByName (const PostprocessorName &name) const
 
virtual const PostprocessorValuegetPostprocessorValueByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOldByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOldByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOlderByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOlderByName (const PostprocessorName &name) const
 
bool isVectorPostprocessorDistributed (const std::string &param_name) const
 
bool isVectorPostprocessorDistributed (const std::string &param_name) const
 
bool isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const
 
bool isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const
 
const DistributiongetDistribution (const std::string &name) const
 
const TgetDistribution (const std::string &name) const
 
const DistributiongetDistribution (const std::string &name) const
 
const TgetDistribution (const std::string &name) const
 
const DistributiongetDistributionByName (const DistributionName &name) const
 
const TgetDistributionByName (const std::string &name) const
 
const DistributiongetDistributionByName (const DistributionName &name) const
 
const TgetDistributionByName (const std::string &name) const
 
const Parallel::Communicator & comm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 

Static Public Member Functions

static InputParameters validParams ()
 
static void sort (typename std::vector< T > &vector)
 
static void sortDFS (typename std::vector< T > &vector)
 
static void cyclicDependencyError (CyclicDependencyException< T2 > &e, const std::string &header)
 

Public Attributes

const ConsoleStream _console
 

Static Public Attributes

static const Real _R = 8.3144598
 Universal gas constant (J/mol/K) More...
 
static constexpr PropertyValue::id_type default_property_id
 
static constexpr PropertyValue::id_type zero_property_id
 
static constexpr auto SYSTEM
 
static constexpr auto NAME
 

Protected Types

enum  subregionEnum {
  AB, CD, GH, IJ,
  JK, MN, OP, QU,
  RX, UV, WX, EF
}
 Enum of subregion ids for region 3. More...
 

Protected Member Functions

template<typename T >
T gamma1 (const T &pi, const T &tau) const
 Gibbs free energy in Region 1 - single phase liquid region. More...
 
template<typename T >
T dgamma1_dpi (const T &pi, const T &tau) const
 Derivative of Gibbs free energy in Region 1 wrt pi. More...
 
template<typename T >
T d2gamma1_dpi2 (const T &pi, const T &tau) const
 Second derivative of Gibbs free energy in Region 1 wrt pi. More...
 
template<typename T >
T dgamma1_dtau (const T &pi, const T &tau) const
 Derivative of Gibbs free energy in Region 1 wrt tau. More...
 
template<typename T >
T d2gamma1_dtau2 (const T &pi, const T &tau) const
 Second derivative of Gibbs free energy in Region 1 wrt tau. More...
 
template<typename T >
T d2gamma1_dpitau (const T &pi, const T &tau) const
 Second derivative of Gibbs free energy in Region 1 wrt pi and tau. More...
 
template<typename T >
T gamma2 (const T &pi, const T &tau) const
 Gibbs free energy in Region 2 - superheated steam. More...
 
template<typename T >
T dgamma2_dpi (const T &pi, const T &tau) const
 Derivative of Gibbs free energy in Region 2 wrt pi. More...
 
template<typename T >
T d2gamma2_dpi2 (const T &pi, const T &tau) const
 Second derivative of Gibbs free energy in Region 2 wrt pi. More...
 
template<typename T >
T dgamma2_dtau (const T &pi, const T &tau) const
 Derivative of Gibbs free energy in Region 2 wrt tau. More...
 
template<typename T >
T d2gamma2_dtau2 (const T &pi, const T &tau) const
 Second derivative of Gibbs free energy in Region 2 wrt tau. More...
 
template<typename T >
T d2gamma2_dpitau (const T &pi, const T &tau) const
 Second derivative of Gibbs free energy in Region 2 wrt pi and tau. More...
 
template<typename T >
T phi3 (const T &delta, const T &tau) const
 Helmholtz free energy in Region 3. More...
 
template<typename T >
T dphi3_ddelta (const T &delta, const T &tau) const
 Derivative of Helmholtz free energy in Region 3 wrt delta. More...
 
template<typename T >
T d2phi3_ddelta2 (const T &delta, const T &tau) const
 Second derivative of Helmholtz free energy in Region 3 wrt delta. More...
 
template<typename T >
T dphi3_dtau (const T &delta, const T &tau) const
 Derivative of Helmholtz free energy in Region 3 wrt tau. More...
 
template<typename T >
T d2phi3_dtau2 (const T &delta, const T &tau) const
 Second derivative of Helmholtz free energy in Region 3 wrt tau. More...
 
template<typename T >
T d2phi3_ddeltatau (const T &delta, const T &tau) const
 Second derivative of Helmholtz free energy in Region 3 wrt delta and tau. More...
 
template<typename T >
T gamma5 (const T &pi, const T &tau) const
 Gibbs free energy in Region 5. More...
 
template<typename T >
T dgamma5_dpi (const T &pi, const T &tau) const
 Derivative of Gibbs free energy in Region 5 wrt pi. More...
 
template<typename T >
T d2gamma5_dpi2 (const T &pi, const T &tau) const
 Second derivative of Gibbs free energy in Region 5 wrt pi. More...
 
template<typename T >
T dgamma5_dtau (const T &pi, const T &tau) const
 Derivative of Gibbs free energy in Region 5 wrt tau. More...
 
template<typename T >
T d2gamma5_dtau2 (const T &pi, const T &tau) const
 Second derivative of Gibbs free energy in Region 5 wrt tau. More...
 
template<typename T >
T d2gamma5_dpitau (const T &pi, const T &tau) const
 Second derivative of Gibbs free energy in Region 5 wrt pi and tau. More...
 
template<typename T >
T tempXY (const T &pressure, subregionEnum xy) const
 Boundaries between subregions in region 3. More...
 
unsigned int inRegionPH (Real pressure, Real enthalpy) const
 Determines the phase region that the given pressure and enthaply values lie in. More...
 
unsigned int subregion2ph (Real pressure, Real enthalpy) const
 Provides the correct subregion index for a (P,h) point in region 2. More...
 
unsigned int subregion3ph (Real pressure, Real enthalpy) const
 Provides the correct subregion index for a (P,h) point in region 3. More...
 
ADReal T_from_p_h_ad (const ADReal &pressure, const ADReal &enthalpy) const
 AD version of backwards equation T(p, h) (used internally) From Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam. More...
 
ADReal temperature_from_ph1 (const ADReal &pressure, const ADReal &enthalpy) const
 Backwards equation T(p, h) in Region 1 Eq. More...
 
ADReal temperature_from_ph2a (const ADReal &pressure, const ADReal &enthalpy) const
 Backwards equation T(p, h) in Region 2a Eq. More...
 
ADReal temperature_from_ph2b (const ADReal &pressure, const ADReal &enthalpy) const
 Backwards equation T(p, h) in Region 2b Eq. More...
 
ADReal temperature_from_ph2c (const ADReal &pressure, const ADReal &enthalpy) const
 Backwards equation T(p, h) in Region 2c Eq. More...
 
ADReal temperature_from_ph3a (const ADReal &pressure, const ADReal &enthalpy) const
 Backwards equation T(p, h) in Region 3a Eq. More...
 
ADReal temperature_from_ph3b (const ADReal &pressure, const ADReal &enthalpy) const
 Backwards equation T(p, h) in Region 3b Eq. More...
 
ADReal vaporTemperature_ad (const ADReal &pressure) const
 AD version of saturation temperature as a function of pressure (used internally) More...
 
virtual void addPostprocessorDependencyHelper (const PostprocessorName &name) const override
 
virtual void addVectorPostprocessorDependencyHelper (const VectorPostprocessorName &name) const override
 
virtual void addUserObjectDependencyHelper (const UserObject &uo) const override
 
void addReporterDependencyHelper (const ReporterName &reporter_name) override
 
const ReporterNamegetReporterName (const std::string &param_name) const
 
TdeclareRestartableData (const std::string &data_name, Args &&... args)
 
ManagedValue< TdeclareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
const TgetRestartableData (const std::string &data_name) const
 
TdeclareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
TdeclareRecoverableData (const std::string &data_name, Args &&... args)
 
TdeclareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args)
 
TdeclareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args)
 
std::string restartableName (const std::string &data_name) const
 
const TgetMeshProperty (const std::string &data_name, const std::string &prefix)
 
const TgetMeshProperty (const std::string &data_name)
 
bool hasMeshProperty (const std::string &data_name, const std::string &prefix) const
 
bool hasMeshProperty (const std::string &data_name, const std::string &prefix) const
 
bool hasMeshProperty (const std::string &data_name) const
 
bool hasMeshProperty (const std::string &data_name) const
 
std::string meshPropertyName (const std::string &data_name) const
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level) const
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const
 
std::string timedSectionName (const std::string &section_name) const
 
bool isCoupledScalar (const std::string &var_name, unsigned int i=0) const
 
unsigned int coupledScalarComponents (const std::string &var_name) const
 
unsigned int coupledScalar (const std::string &var_name, unsigned int comp=0) const
 
libMesh::Order coupledScalarOrder (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarValue (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValueadCoupledScalarValue (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< is_ad > & coupledGenericScalarValue (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< false > & coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const
 
const GenericVariableValue< true > & coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const
 
const VariableValuecoupledVectorTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const
 
const VariableValuecoupledMatrixTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const
 
const VariableValuecoupledScalarValueOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarValueOlder (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDot (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValueadCoupledScalarDot (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDot (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDu (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDotDu (const std::string &var_name, unsigned int comp=0) const
 
const MooseVariableScalargetScalarVar (const std::string &var_name, unsigned int comp) const
 
virtual void checkMaterialProperty (const std::string &name, const unsigned int state)
 
void markMatPropRequested (const std::string &)
 
MaterialPropertyName getMaterialPropertyName (const std::string &name) const
 
void checkExecutionStage ()
 
const TgetReporterValue (const std::string &param_name, const std::size_t time_index=0)
 
const TgetReporterValue (const std::string &param_name, ReporterMode mode, const std::size_t time_index=0)
 
const TgetReporterValue (const std::string &param_name, const std::size_t time_index=0)
 
const TgetReporterValue (const std::string &param_name, ReporterMode mode, const std::size_t time_index=0)
 
const TgetReporterValueByName (const ReporterName &reporter_name, const std::size_t time_index=0)
 
const TgetReporterValueByName (const ReporterName &reporter_name, ReporterMode mode, const std::size_t time_index=0)
 
const TgetReporterValueByName (const ReporterName &reporter_name, const std::size_t time_index=0)
 
const TgetReporterValueByName (const ReporterName &reporter_name, ReporterMode mode, const std::size_t time_index=0)
 
bool hasReporterValue (const std::string &param_name) const
 
bool hasReporterValue (const std::string &param_name) const
 
bool hasReporterValue (const std::string &param_name) const
 
bool hasReporterValue (const std::string &param_name) const
 
bool hasReporterValueByName (const ReporterName &reporter_name) const
 
bool hasReporterValueByName (const ReporterName &reporter_name) const
 
bool hasReporterValueByName (const ReporterName &reporter_name) const
 
bool hasReporterValueByName (const ReporterName &reporter_name) const
 
const GenericMaterialProperty< T, is_ad > * defaultGenericMaterialProperty (const std::string &name)
 
const GenericMaterialProperty< T, is_ad > * defaultGenericMaterialProperty (const std::string &name)
 
const MaterialProperty< T > * defaultMaterialProperty (const std::string &name)
 
const MaterialProperty< T > * defaultMaterialProperty (const std::string &name)
 
const ADMaterialProperty< T > * defaultADMaterialProperty (const std::string &name)
 
const ADMaterialProperty< T > * defaultADMaterialProperty (const std::string &name)
 
void flagInvalidSolutionInternal (const InvalidSolutionID invalid_solution_id) const
 
InvalidSolutionID registerInvalidSolutionInternal (const std::string &message, const bool warning) const
 

Static Protected Member Functions

template<typename T , typename Functor >
static void xyDerivatives (const T x, const T &y, T &z, T &dz_dx, T &dz_dy, const Functor &z_from_x_y)
 Computes the dependent variable z and its derivatives with respect to the independent variables x and y using the simple two parameter z_from_x_y functor. More...
 
template<typename T >
static std::pair< T, TmakeZeroAndOne (const T &)
 Given a type example, this method returns zero and unity representations of that type (first and second members of returned pair respectively) More...
 
static std::string meshPropertyName (const std::string &data_name, const std::string &prefix)
 

Protected Attributes

const Real _Mh2o
 Water molar mass (kg/mol) More...
 
const Real _Rw
 Specific gas constant for H2O (universal gas constant / molar mass of water - J/kg/K) More...
 
const Real _p_critical
 Critical pressure (Pa) More...
 
const Real _T_critical
 Critical temperature (K) More...
 
const Real _rho_critical
 Critical density (kg/m^3) More...
 
const Real _p_triple
 Triple point pressure (Pa) More...
 
const Real _T_triple
 Triple point temperature (K) More...
 
const std::array< Real, 34 > _n1
 Reference constants used in to calculate thermophysical properties of water. More...
 
const std::array< int, 34 > _I1
 
const std::array< int, 34 > _J1
 
const std::array< Real, 20 > _nph1
 
const std::array< int, 20 > _Iph1 {{0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 4, 5, 6}}
 
const std::array< int, 20 > _Jph1
 
const std::array< Real, 9 > _n02
 Constants for region 2. More...
 
const std::array< Real, 43 > _n2
 
const std::array< int, 9 > _J02 {{0, 1, -5, -4, -3, -2, -1, 2, 3}}
 
const std::array< int, 43 > _I2
 
const std::array< int, 43 > _J2
 
const std::array< Real, 36 > _nph2a
 
const std::array< int, 36 > _Iph2a
 
const std::array< int, 36 > _Jph2a
 
const std::array< Real, 38 > _nph2b
 
const std::array< int, 38 > _Iph2b
 
const std::array< int, 38 > _Jph2b
 
const std::array< Real, 23 > _nph2c
 
const std::array< int, 23 > _Iph2c
 
const std::array< int, 23 > _Jph2c
 
const std::array< Real, 5 > _n23
 Constants for the boundary between regions 2 and 3. More...
 
const std::array< Real, 40 > _n3
 Constants for region 3. More...
 
const std::array< int, 40 > _I3
 
const std::array< int, 40 > _J3
 
const std::array< std::array< Real, 8 >, 26 > _par3
 
const std::array< unsigned int, 26 > _par3N
 
const std::vector< std::vector< Real > > _n3s
 Constants for all 26 subregions in region 3. More...
 
const std::vector< std::vector< int > > _I3s
 
const std::vector< std::vector< int > > _J3s
 
const std::array< Real, 31 > _nph3a
 
const std::array< int, 31 > _Iph3a
 
const std::array< int, 31 > _Jph3a
 
const std::array< Real, 33 > _nph3b
 
const std::array< int, 33 > _Iph3b
 
const std::array< int, 33 > _Jph3b
 
const std::array< Real, 10 > _n4
 Constants for region 4 (the saturation curve up to the critical point) More...
 
const std::array< int, 6 > _J05 {{0, 1, -3, -2, -1, 2}}
 Constants for region 5. More...
 
const std::array< Real, 6 > _n05
 
const std::array< int, 6 > _I5 {{1, 1, 1, 2, 2, 3}}
 
const std::array< int, 6 > _J5 {{1, 2, 3, 3, 9, 7}}
 
const std::array< Real, 6 > _n5
 
const std::vector< std::vector< int > > _tempXY_I
 Constnats for the tempXY() method. More...
 
const std::vector< std::vector< Real > > _tempXY_n
 
const std::array< Real, 4 > _mu_H0 {{1.67752, 2.20462, 0.6366564, -0.241605}}
 Constants from Release on the IAPWS Formulation 2008 for the Viscosity of Ordinary Water Substance. More...
 
const std::array< std::array< Real, 7 >, 6 > _mu_Hij
 
std::array< Real, 4 > _k_a {{0.0102811, 0.0299621, 0.0156146, -0.00422464}}
 Constants for thermal conductivity. More...
 
const std::array< Real, 5 > _T_star {{1386.0, 540.0, _T_critical, 1.0, 1000.0}}
 Temperature scale for each region. More...
 
const std::array< Real, 5 > _p_star {{16.53e6, 1.0e6, 1.0e6, 1.0e6, 1.0e6}}
 Pressure scale for each region. More...
 
const Real _tolerance
 Newton's method may be used to convert between variable sets. More...
 
const Real _T_initial_guess
 Initial guess for temperature (or temperature used to compute the initial guess) More...
 
const Real _p_initial_guess
 Initial guess for pressure (or pressure used to compute the initial guess) More...
 
const unsigned int _max_newton_its
 Maximum number of iterations for the variable conversion newton solves. More...
 
const Real _T_c2k
 Conversion of temperature from Celsius to Kelvin. More...
 
const bool _allow_imperfect_jacobians
 Flag to set unimplemented Jacobian entries to zero. More...
 
SubProblem_subproblem
 
FEProblemBase_fe_problem
 
SystemBase_sys
 
const THREAD_ID _tid
 
Assembly_assembly
 
const Moose::CoordinateSystemType_coord_sys
 
const bool _duplicate_initial_execution
 
std::set< std::string > _depend_uo
 
const bool & _enabled
 
MooseApp_app
 
const std::string _type
 
const std::string _name
 
const InputParameters_pars
 
Factory_factory
 
ActionFactory_action_factory
 
const ExecFlagEnum_execute_enum
 
const ExecFlagType_current_execute_flag
 
MooseApp_restartable_app
 
const std::string _restartable_system_name
 
const THREAD_ID _restartable_tid
 
const bool _restartable_read_only
 
FEProblemBase_mci_feproblem
 
FEProblemBase_mdi_feproblem
 
MooseApp_pg_moose_app
 
const std::string _prefix
 
FEProblemBase_sc_fe_problem
 
const THREAD_ID _sc_tid
 
const Real_real_zero
 
const VariableValue_scalar_zero
 
const Point & _point_zero
 
const InputParameters_mi_params
 
const std::string _mi_name
 
const MooseObjectName _mi_moose_object_name
 
FEProblemBase_mi_feproblem
 
SubProblem_mi_subproblem
 
const THREAD_ID _mi_tid
 
const Moose::MaterialDataType _material_data_type
 
MaterialData_material_data
 
bool _stateful_allowed
 
bool _get_material_property_called
 
std::vector< std::unique_ptr< PropertyValue > > _default_properties
 
std::unordered_set< unsigned int_material_property_dependencies
 
const MaterialPropertyName _get_suffix
 
const bool _use_interpolated_state
 
const InputParameters_ti_params
 
FEProblemBase_ti_feproblem
 
bool _is_implicit
 
Real_t
 
const Real_t_old
 
int_t_step
 
Real_dt
 
Real_dt_old
 
bool _is_transient
 
const Parallel::Communicator & _communicator
 

Static Protected Attributes

static const std::string _interpolated_old
 
static const std::string _interpolated_older
 

Private Member Functions

template<typename T >
std::pair< T, TT_drhodT_from_p_rho (const T &p, const T &rho) const
 Computes the temperature (first member of the pair) and the derivative of density (second member of the pair) with respect to temperature as a function of pressure and density. More...
 
 propfunc (p, v, e) propfunc(T
 Compute a fluid property given for the state defined by two given properties. More...
 
propfunc (c, v, e) propfunc(cp
 
e e propfunc (cv, v, e) propfunc(mu
 
e e e propfunc (k, v, e) propfuncWithDefault(s
 
e e e e propfunc (s, h, p) propfunc(rho
 
e e e e s propfunc (e, v, h) propfuncWithDefault(s
 
e e e e s T propfunc (pp_sat, p, T) propfunc(mu
 
e e e e s T T propfunc (k, rho, T) propfuncWithDefault(c
 
e e e e s T T T T T propfunc (rho, p, T) propfunc(e
 
e e e e s T T T T T rho propfunc (e, T, v) propfunc(p
 
e e e e s T T T T T rho v propfunc (h, T, v) propfunc(s
 
e e e e s T T T T T rho v v propfunc (cv, T, v) propfunc(h
 
e e e e s T T T propfuncWithDefault (cp, p, T) propfuncWithDefault(cv
 
e e e e s T T T T propfuncWithDefault (mu, p, T) propfuncWithDefault(k
 
e e e e s T T T T T rho v v T propfuncWithDefault (h, v, e) propfunc(g
 
e e e e s T T T T T rho v v TpropfuncWithDefault (p, h, s) propfunc(T
 
e e e e s T T T T T rho v v T e p propfuncWithDefault (T, p, h) propfuncWithDefault(beta
 
e e e e s T T T T T rho v v T e p T propfuncWithDefault (v, p, T) propfuncWithDefault(e
 
e e e e s T T T T T rho v v T e p T T propfuncWithDefault (gamma, v, e) propfuncWithDefault(gamma
 
 v
 
v
 
e e v
 
e e e v
 
e e e e s T T T T T rho v v T v
 
e e e e p
 
e e e e s p
 
e e e e s T T p
 
e e e e s T T T p
 
e e e e s T T T T p
 
e e e e s T T T T T p
 
e e e e s T T T T T rho v v p
 
e e e e s T T T T T rho v v T e p p
 
e e e e s T T T T T rho v v T e p T p
 
e e e e s T T T T T rho v v T e p T T p
 
e e e e s T rho
 
e e e e s T T T T T rho T
 
e e e e s T T T T T rho v T
 
e e e e s T T T T T rho v v Th
 

Detailed Description

Water (H2O) fluid properties as a function of pressure (Pa) and temperature (K) from IAPWS-IF97: Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam.

To avoid iteration in Region 3, the backwards equations from: Revised Supplementary Release on Backward Equations for Specific Volume as a Function of Pressure and Temperature v(p,T) for Region 3 of the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam are implemented.

Water viscosity as a function of density (kg/m^3) and temperature (K) from: Release on the IAPWS Formulation 2008 for the Viscosity of Ordinary Water Substance.

Thermal conductivity as a function of density (kg/m^3) and temperature (K) from: Revised Release on the IAPS Formulation 1985 for the Thermal Conductivity of Ordinary Water Substance

Definition at line 38 of file Water97FluidProperties.h.

Member Enumeration Documentation

◆ subregionEnum

Constructor & Destructor Documentation

◆ Water97FluidProperties()

Water97FluidProperties::Water97FluidProperties ( const InputParameters parameters)

Definition at line 24 of file Water97FluidProperties.C.

26  _Mh2o(18.015e-3),
27  _Rw(461.526),
28  _p_critical(22.064e6),
29  _T_critical(647.096),
30  _rho_critical(322.0),
31  _p_triple(611.657),
32  _T_triple(273.16)
33 {
34 }
const Real _T_critical
Critical temperature (K)
const Real _p_critical
Critical pressure (Pa)
SinglePhaseFluidProperties(const InputParameters &parameters)
const Real _T_triple
Triple point temperature (K)
const Real _rho_critical
Critical density (kg/m^3)
const InputParameters & parameters() const
const Real _Rw
Specific gas constant for H2O (universal gas constant / molar mass of water - J/kg/K) ...
const Real _p_triple
Triple point pressure (Pa)
const Real _Mh2o
Water molar mass (kg/mol)

◆ ~Water97FluidProperties()

Water97FluidProperties::~Water97FluidProperties ( )
virtual

Definition at line 36 of file Water97FluidProperties.C.

36 {}

Member Function Documentation

◆ b23p()

Real Water97FluidProperties::b23p ( Real  temperature) const

Auxillary equation for the boundary between regions 2 and 3.

Eq. (5) from Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam

Parameters
temperaturewater temperature (K)
Returns
pressure (Pa) on the boundary between region 2 and 3

Definition at line 584 of file Water97FluidProperties.C.

Referenced by b3ab(), and inRegion().

585 {
586  // Check whether the input temperature is within the region of validity of this equation.
587  // Valid for 623.15 K <= t <= 863.15 K
588  if (temperature < 623.15 || temperature > 863.15)
589  mooseException(name(),
590  ": b23p(): Temperature ",
591  temperature,
592  " is outside range of 623.15 K <= T <= 863.15 K");
593 
594  return (_n23[0] + _n23[1] * temperature + _n23[2] * temperature * temperature) * 1.e6;
595 }
const std::array< Real, 5 > _n23
Constants for the boundary between regions 2 and 3.
static const std::string temperature
Definition: NS.h:59
virtual const std::string & name() const

◆ b23T()

Real Water97FluidProperties::b23T ( Real  pressure) const

Auxillary equation for the boundary between regions 2 and 3.

Eq. (6) from Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam

Parameters
pressurewater pressure (Pa)
Returns
temperature (K) on the boundary between regions 2 and 3

Definition at line 598 of file Water97FluidProperties.C.

Referenced by inRegionPH().

599 {
600  // Check whether the input pressure is within the region of validity of this equation.
601  // Valid for 16.529 MPa <= p <= 100 MPa
602  if (pressure < 16.529e6 || pressure > 100.0e6)
603  mooseException(
604  name(), ": b23T(): Pressure ", pressure, "is outside range 16.529 MPa <= p <= 100 MPa");
605 
606  return _n23[3] + std::sqrt((pressure / 1.e6 - _n23[4]) / _n23[2]);
607 }
const std::array< Real, 5 > _n23
Constants for the boundary between regions 2 and 3.
virtual const std::string & name() const
static const std::string pressure
Definition: NS.h:56

◆ b2bc()

Real Water97FluidProperties::b2bc ( Real  pressure) const

Boundary between subregions b and c in region 2.

Equation 21 from Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam.

Parameters
pressurewater pressure (Pa)
Returns
enthalpy at boundary (J/kg)

Definition at line 699 of file Water97FluidProperties.C.

Referenced by subregion2ph().

700 {
701  // Check whether the input pressure is within the region of validity of this equation.
702  if (pressure < 6.5467e6 || pressure > 100.0e6)
703  mooseException(
704  name(), ": b2bc(): Pressure ", pressure, " is outside range of 6.5467 MPa <= p <= 100 MPa");
705 
706  Real pi = pressure / 1.0e6;
707 
708  return (0.26526571908428e4 + std::sqrt((pi - 0.45257578905948e1) / 0.12809002730136e-3)) * 1.0e3;
709 }
virtual const std::string & name() const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56
const Real pi

◆ b3ab()

Real Water97FluidProperties::b3ab ( Real  pressure) const

Boundary between subregions a and b in region 3.

Equation 1 from Revised Supplementary Release on Backward Equations for the Functions T(p,h), v(p,h) and T(p,s), v(p,s) for Region 3 of the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam

Parameters
pressurewater pressure (Pa)
Returns
enthalpy at boundary (J/kg)

Definition at line 863 of file Water97FluidProperties.C.

Referenced by subregion3ph().

864 {
865  // Check whether the input pressure is within the region of validity of this equation.
866  if (pressure < b23p(623.15) || pressure > 100.0e6)
867  mooseException(
868  name(), ": b3ab(): Pressure ", pressure, "is outside range of 16.529 MPa <= p <= 100 MPa");
869 
870  Real pi = pressure / 1.0e6;
871  Real eta = 0.201464004206875e4 + 0.374696550136983e1 * pi - 0.219921901054187e-1 * pi * pi +
872  0.87513168600995e-4 * pi * pi * pi;
873 
874  return eta * 1.0e3;
875 }
virtual const std::string & name() const
Real b23p(Real temperature) const
Auxillary equation for the boundary between regions 2 and 3.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56
const Real pi

◆ c_from_p_T() [1/2]

Real Water97FluidProperties::c_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtual

Definition at line 232 of file Water97FluidProperties.C.

Referenced by c_from_v_e().

233 {
234  return c_from_p_T_template(p, T);
235 }
T c_from_p_T_template(const T &pressure, const T &temperature) const

◆ c_from_p_T() [2/2]

ADReal Water97FluidProperties::c_from_p_T ( const ADReal pressure,
const ADReal temperature 
) const
overridevirtual

Definition at line 238 of file Water97FluidProperties.C.

239 {
240  return c_from_p_T_template(p, T);
241 }
T c_from_p_T_template(const T &pressure, const T &temperature) const

◆ c_from_p_T_template()

template<typename T >
T Water97FluidProperties::c_from_p_T_template ( const T pressure,
const T temperature 
) const

Definition at line 2208 of file Water97FluidProperties.h.

Referenced by c_from_p_T().

2209 {
2210  T speed2, pi, tau, delta;
2211 
2212  // Determine which region the point is in
2213  unsigned int region =
2215  switch (region)
2216  {
2217  case 1:
2218  pi = pressure / _p_star[0];
2219  tau = _T_star[0] / temperature;
2220  speed2 = _Rw * temperature * Utility::pow<2>(dgamma1_dpi(pi, tau)) /
2221  (Utility::pow<2>(dgamma1_dpi(pi, tau) - tau * d2gamma1_dpitau(pi, tau)) /
2222  (tau * tau * d2gamma1_dtau2(pi, tau)) -
2223  d2gamma1_dpi2(pi, tau));
2224  break;
2225 
2226  case 2:
2227  pi = pressure / _p_star[1];
2228  tau = _T_star[1] / temperature;
2229  speed2 = _Rw * temperature * Utility::pow<2>(pi * dgamma2_dpi(pi, tau)) /
2230  ((-pi * pi * d2gamma2_dpi2(pi, tau)) +
2231  Utility::pow<2>(pi * dgamma2_dpi(pi, tau) - tau * pi * d2gamma2_dpitau(pi, tau)) /
2232  (tau * tau * d2gamma2_dtau2(pi, tau)));
2233  break;
2234 
2235  case 3:
2236  {
2237  // Calculate density first, then use that in Helmholtz free energy
2238  T density3 = densityRegion3(pressure, temperature);
2239  delta = density3 / _rho_critical;
2240  tau = _T_star[2] / temperature;
2241  speed2 =
2242  _Rw * temperature *
2243  (2.0 * delta * dphi3_ddelta(delta, tau) + delta * delta * d2phi3_ddelta2(delta, tau) -
2244  Utility::pow<2>(delta * dphi3_ddelta(delta, tau) -
2245  delta * tau * d2phi3_ddeltatau(delta, tau)) /
2246  (tau * tau * d2phi3_dtau2(delta, tau)));
2247  break;
2248  }
2249 
2250  case 5:
2251  pi = pressure / _p_star[4];
2252  tau = _T_star[4] / temperature;
2253  speed2 = _Rw * temperature * Utility::pow<2>(pi * dgamma5_dpi(pi, tau)) /
2254  ((-pi * pi * d2gamma5_dpi2(pi, tau)) +
2255  Utility::pow<2>(pi * dgamma5_dpi(pi, tau) - tau * pi * d2gamma5_dpitau(pi, tau)) /
2256  (tau * tau * d2gamma5_dtau2(pi, tau)));
2257  break;
2258 
2259  default:
2260  mooseError("inRegion() has given an incorrect region");
2261  }
2262 
2263  return std::sqrt(speed2);
2264 }
unsigned int inRegion(Real pressure, Real temperature) const
Determines the phase region that the given pressure and temperature values lie in.
T d2phi3_ddelta2(const T &delta, const T &tau) const
Second derivative of Helmholtz free energy in Region 3 wrt delta.
T d2gamma5_dpitau(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 5 wrt pi and tau.
T d2gamma2_dpitau(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 2 wrt pi and tau.
T d2gamma5_dtau2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 5 wrt tau.
auto raw_value(const Eigen::Map< T > &in)
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
static const std::string temperature
Definition: NS.h:59
const std::array< Real, 5 > _p_star
Pressure scale for each region.
const std::array< Real, 5 > _T_star
Temperature scale for each region.
T d2gamma1_dpitau(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 1 wrt pi and tau.
T dphi3_ddelta(const T &delta, const T &tau) const
Derivative of Helmholtz free energy in Region 3 wrt delta.
T d2gamma2_dpi2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 2 wrt pi.
T d2gamma1_dtau2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 1 wrt tau.
T dgamma2_dpi(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 2 wrt pi.
T d2gamma2_dtau2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 2 wrt tau.
T dgamma1_dpi(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 1 wrt pi.
T dgamma5_dpi(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 5 wrt pi.
T d2phi3_dtau2(const T &delta, const T &tau) const
Second derivative of Helmholtz free energy in Region 3 wrt tau.
const Real _rho_critical
Critical density (kg/m^3)
T densityRegion3(const T &pressure, const T &temperature) const
Density function for Region 3 - supercritical water and steam.
static const std::string pressure
Definition: NS.h:56
T d2gamma5_dpi2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 5 wrt pi.
void mooseError(Args &&... args) const
const Real _Rw
Specific gas constant for H2O (universal gas constant / molar mass of water - J/kg/K) ...
T d2gamma1_dpi2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 1 wrt pi.
T d2phi3_ddeltatau(const T &delta, const T &tau) const
Second derivative of Helmholtz free energy in Region 3 wrt delta and tau.
const Real pi

◆ c_from_v_e()

ADReal Water97FluidProperties::c_from_v_e ( const ADReal v,
const ADReal e 
) const
overridevirtual

Definition at line 225 of file Water97FluidProperties.C.

226 {
227  const auto [p, T] = p_T_from_v_e(v, e);
228  return c_from_p_T(p, T);
229 }
std::pair< T, T > p_T_from_v_e(const T &v, const T &e) const
Computes the pressure (first member of the pair) and temperature (second member of the pair) as funct...
virtual Real c_from_p_T(Real pressure, Real temperature) const override

◆ cp_from_p_T() [1/2]

Real Water97FluidProperties::cp_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtual

Definition at line 244 of file Water97FluidProperties.C.

Referenced by cp_from_v_e().

245 {
247 }
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56
T cp_from_p_T_template(const T &pressure, const T &temperature) const

◆ cp_from_p_T() [2/2]

ADReal Water97FluidProperties::cp_from_p_T ( const ADReal pressure,
const ADReal temperature 
) const
overridevirtual

Definition at line 250 of file Water97FluidProperties.C.

251 {
253 }
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56
T cp_from_p_T_template(const T &pressure, const T &temperature) const

◆ cp_from_p_T_template()

template<typename T >
T Water97FluidProperties::cp_from_p_T_template ( const T pressure,
const T temperature 
) const

Definition at line 2268 of file Water97FluidProperties.h.

Referenced by cp_from_p_T().

2269 {
2270  T specific_heat, pi, tau, delta;
2271 
2272  // Determine which region the point is in
2273  unsigned int region =
2275  switch (region)
2276  {
2277  case 1:
2278  pi = pressure / _p_star[0];
2279  tau = _T_star[0] / temperature;
2280  specific_heat = -_Rw * tau * tau * d2gamma1_dtau2(pi, tau);
2281  break;
2282 
2283  case 2:
2284  pi = pressure / _p_star[1];
2285  tau = _T_star[1] / temperature;
2286  specific_heat = -_Rw * tau * tau * d2gamma2_dtau2(pi, tau);
2287  break;
2288 
2289  case 3:
2290  {
2291  // Calculate density first, then use that in Helmholtz free energy
2292  T density3 = densityRegion3(pressure, temperature);
2293  delta = density3 / _rho_critical;
2294  tau = _T_star[2] / temperature;
2295  specific_heat =
2296  _Rw *
2297  (-tau * tau * d2phi3_dtau2(delta, tau) +
2298  (delta * dphi3_ddelta(delta, tau) - delta * tau * d2phi3_ddeltatau(delta, tau)) *
2299  (delta * dphi3_ddelta(delta, tau) - delta * tau * d2phi3_ddeltatau(delta, tau)) /
2300  (2.0 * delta * dphi3_ddelta(delta, tau) +
2301  delta * delta * d2phi3_ddelta2(delta, tau)));
2302  break;
2303  }
2304 
2305  case 5:
2306  pi = pressure / _p_star[4];
2307  tau = _T_star[4] / temperature;
2308  specific_heat = -_Rw * tau * tau * d2gamma5_dtau2(pi, tau);
2309  break;
2310 
2311  default:
2312  mooseError("inRegion() has given an incorrect region");
2313  }
2314  return specific_heat;
2315 }
unsigned int inRegion(Real pressure, Real temperature) const
Determines the phase region that the given pressure and temperature values lie in.
T d2phi3_ddelta2(const T &delta, const T &tau) const
Second derivative of Helmholtz free energy in Region 3 wrt delta.
T d2gamma5_dtau2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 5 wrt tau.
auto raw_value(const Eigen::Map< T > &in)
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
static const std::string temperature
Definition: NS.h:59
const std::array< Real, 5 > _p_star
Pressure scale for each region.
const std::array< Real, 5 > _T_star
Temperature scale for each region.
T dphi3_ddelta(const T &delta, const T &tau) const
Derivative of Helmholtz free energy in Region 3 wrt delta.
T d2gamma1_dtau2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 1 wrt tau.
T d2gamma2_dtau2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 2 wrt tau.
T d2phi3_dtau2(const T &delta, const T &tau) const
Second derivative of Helmholtz free energy in Region 3 wrt tau.
const Real _rho_critical
Critical density (kg/m^3)
T densityRegion3(const T &pressure, const T &temperature) const
Density function for Region 3 - supercritical water and steam.
static const std::string pressure
Definition: NS.h:56
void mooseError(Args &&... args) const
const Real _Rw
Specific gas constant for H2O (universal gas constant / molar mass of water - J/kg/K) ...
static const std::string specific_heat
T d2phi3_ddeltatau(const T &delta, const T &tau) const
Second derivative of Helmholtz free energy in Region 3 wrt delta and tau.
const Real pi

◆ cp_from_v_e()

ADReal Water97FluidProperties::cp_from_v_e ( const ADReal v,
const ADReal e 
) const
overridevirtual

Definition at line 256 of file Water97FluidProperties.C.

257 {
258  const auto [p, T] = p_T_from_v_e(v, e);
259  return cp_from_p_T(p, T);
260 }
std::pair< T, T > p_T_from_v_e(const T &v, const T &e) const
Computes the pressure (first member of the pair) and temperature (second member of the pair) as funct...
virtual Real cp_from_p_T(Real pressure, Real temperature) const override

◆ criticalDensity()

Real Water97FluidProperties::criticalDensity ( ) const
overridevirtual

Critical density.

Returns
critical density (kg/m^3)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 63 of file Water97FluidProperties.C.

64 {
65  return _rho_critical;
66 }
const Real _rho_critical
Critical density (kg/m^3)

◆ criticalInternalEnergy()

Real SinglePhaseFluidProperties::criticalInternalEnergy ( ) const
virtualinherited

Critical specific internal energy.

Returns
specific internal energy (J/kg)

Reimplemented in IdealGasFluidProperties, CaloricallyImperfectGas, and StiffenedGasFluidProperties.

Definition at line 316 of file SinglePhaseFluidProperties.C.

317 {
318  return e_from_p_rho(criticalPressure(), criticalDensity());
319 }
virtual Real criticalDensity() const
Critical density.
virtual Real criticalPressure() const
Critical pressure.

◆ criticalPressure()

Real Water97FluidProperties::criticalPressure ( ) const
overridevirtual

Critical pressure.

Returns
critical pressure (Pa)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 51 of file Water97FluidProperties.C.

52 {
53  return _p_critical;
54 }
const Real _p_critical
Critical pressure (Pa)

◆ criticalTemperature()

Real Water97FluidProperties::criticalTemperature ( ) const
overridevirtual

Critical temperature.

Returns
critical temperature (K)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 57 of file Water97FluidProperties.C.

58 {
59  return _T_critical;
60 }
const Real _T_critical
Critical temperature (K)

◆ cv_from_p_T() [1/2]

Real Water97FluidProperties::cv_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtual

Definition at line 263 of file Water97FluidProperties.C.

Referenced by cv_from_v_e().

264 {
266 }
static const std::string temperature
Definition: NS.h:59
T cv_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string pressure
Definition: NS.h:56

◆ cv_from_p_T() [2/2]

ADReal Water97FluidProperties::cv_from_p_T ( const ADReal pressure,
const ADReal temperature 
) const
overridevirtual

Definition at line 269 of file Water97FluidProperties.C.

270 {
272 }
static const std::string temperature
Definition: NS.h:59
T cv_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string pressure
Definition: NS.h:56

◆ cv_from_p_T_template()

template<typename T >
T Water97FluidProperties::cv_from_p_T_template ( const T pressure,
const T temperature 
) const

Definition at line 2319 of file Water97FluidProperties.h.

Referenced by cv_from_p_T().

2320 {
2321  T specific_heat, pi, tau, delta;
2322 
2323  // Determine which region the point is in
2324  unsigned int region =
2326  switch (region)
2327  {
2328  case 1:
2329  pi = pressure / _p_star[0];
2330  tau = _T_star[0] / temperature;
2331  specific_heat =
2332  _Rw * (-tau * tau * d2gamma1_dtau2(pi, tau) +
2333  Utility::pow<2>(dgamma1_dpi(pi, tau) - tau * d2gamma1_dpitau(pi, tau)) /
2334  d2gamma1_dpi2(pi, tau));
2335  break;
2336 
2337  case 2:
2338  pi = pressure / _p_star[1];
2339  tau = _T_star[1] / temperature;
2340  specific_heat =
2341  _Rw * (-tau * tau * d2gamma2_dtau2(pi, tau) +
2342  Utility::pow<2>(dgamma2_dpi(pi, tau) - tau * d2gamma2_dpitau(pi, tau)) /
2343  d2gamma2_dpi2(pi, tau));
2344  break;
2345 
2346  case 3:
2347  {
2348  // Calculate density first, then use that in Helmholtz free energy
2349  T density3 = densityRegion3(pressure, temperature);
2350  delta = density3 / _rho_critical;
2351  tau = _T_star[2] / temperature;
2352  specific_heat = _Rw * (-tau * tau * d2phi3_dtau2(delta, tau));
2353  break;
2354  }
2355 
2356  case 5:
2357  pi = pressure / _p_star[4];
2358  tau = _T_star[4] / temperature;
2359  specific_heat =
2360  _Rw * (-tau * tau * d2gamma5_dtau2(pi, tau) +
2361  Utility::pow<2>(dgamma5_dpi(pi, tau) - tau * d2gamma5_dpitau(pi, tau)) /
2362  d2gamma5_dpi2(pi, tau));
2363  break;
2364 
2365  default:
2366  mooseError("inRegion() has given an incorrect region");
2367  }
2368  return specific_heat;
2369 }
unsigned int inRegion(Real pressure, Real temperature) const
Determines the phase region that the given pressure and temperature values lie in.
T d2gamma5_dpitau(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 5 wrt pi and tau.
T d2gamma2_dpitau(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 2 wrt pi and tau.
T d2gamma5_dtau2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 5 wrt tau.
auto raw_value(const Eigen::Map< T > &in)
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
static const std::string temperature
Definition: NS.h:59
const std::array< Real, 5 > _p_star
Pressure scale for each region.
const std::array< Real, 5 > _T_star
Temperature scale for each region.
T d2gamma1_dpitau(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 1 wrt pi and tau.
T d2gamma2_dpi2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 2 wrt pi.
T d2gamma1_dtau2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 1 wrt tau.
T dgamma2_dpi(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 2 wrt pi.
T d2gamma2_dtau2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 2 wrt tau.
T dgamma1_dpi(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 1 wrt pi.
T dgamma5_dpi(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 5 wrt pi.
T d2phi3_dtau2(const T &delta, const T &tau) const
Second derivative of Helmholtz free energy in Region 3 wrt tau.
const Real _rho_critical
Critical density (kg/m^3)
T densityRegion3(const T &pressure, const T &temperature) const
Density function for Region 3 - supercritical water and steam.
static const std::string pressure
Definition: NS.h:56
T d2gamma5_dpi2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 5 wrt pi.
void mooseError(Args &&... args) const
const Real _Rw
Specific gas constant for H2O (universal gas constant / molar mass of water - J/kg/K) ...
static const std::string specific_heat
T d2gamma1_dpi2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 1 wrt pi.
const Real pi

◆ cv_from_v_e()

ADReal Water97FluidProperties::cv_from_v_e ( const ADReal v,
const ADReal e 
) const
overridevirtual

Definition at line 275 of file Water97FluidProperties.C.

276 {
277  const auto [p, T] = p_T_from_v_e(v, e);
278  return cv_from_p_T(p, T);
279 }
std::pair< T, T > p_T_from_v_e(const T &v, const T &e) const
Computes the pressure (first member of the pair) and temperature (second member of the pair) as funct...
virtual Real cv_from_p_T(Real pressure, Real temperature) const override

◆ d2gamma1_dpi2()

template<typename T >
T Water97FluidProperties::d2gamma1_dpi2 ( const T pi,
const T tau 
) const
protected

Second derivative of Gibbs free energy in Region 1 wrt pi.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
second derivative of Gibbs free energy wrt pi (-)

Definition at line 1597 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cv_from_p_T_template(), and e_from_p_T_template().

1598 {
1599  T sum = 0.0;
1600  for (std::size_t i = 0; i < _n1.size(); ++i)
1601  sum += _n1[i] * _I1[i] * (_I1[i] - 1) * MathUtils::pow(7.1 - pi, _I1[i] - 2) *
1602  MathUtils::pow(tau - 1.222, _J1[i]);
1603 
1604  return sum;
1605 }
const std::array< int, 34 > _J1
const std::array< Real, 34 > _n1
Reference constants used in to calculate thermophysical properties of water.
const std::array< int, 34 > _I1
T pow(T x, int e)

◆ d2gamma1_dpitau()

template<typename T >
T Water97FluidProperties::d2gamma1_dpitau ( const T pi,
const T tau 
) const
protected

Second derivative of Gibbs free energy in Region 1 wrt pi and tau.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
second derivative of Gibbs free energy wrt pi and tau (-)

Definition at line 1633 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cv_from_p_T_template(), and e_from_p_T_template().

1634 {
1635  T dg = 0.0;
1636  for (std::size_t i = 0; i < _n1.size(); ++i)
1637  dg += -_n1[i] * _I1[i] * _J1[i] * MathUtils::pow(7.1 - pi, _I1[i] - 1) *
1638  MathUtils::pow(tau - 1.222, _J1[i] - 1);
1639 
1640  return dg;
1641 }
const std::array< int, 34 > _J1
const std::array< Real, 34 > _n1
Reference constants used in to calculate thermophysical properties of water.
const std::array< int, 34 > _I1
T pow(T x, int e)

◆ d2gamma1_dtau2()

template<typename T >
T Water97FluidProperties::d2gamma1_dtau2 ( const T pi,
const T tau 
) const
protected

Second derivative of Gibbs free energy in Region 1 wrt tau.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
second derivative of Gibbs free energy wrt tau (-)

Definition at line 1621 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cp_from_p_T_template(), cv_from_p_T_template(), and e_from_p_T_template().

1622 {
1623  T dg = 0.0;
1624  for (std::size_t i = 0; i < _n1.size(); ++i)
1625  dg += _n1[i] * _J1[i] * (_J1[i] - 1) * MathUtils::pow(7.1 - pi, _I1[i]) *
1626  MathUtils::pow(tau - 1.222, _J1[i] - 2);
1627 
1628  return dg;
1629 }
const std::array< int, 34 > _J1
const std::array< Real, 34 > _n1
Reference constants used in to calculate thermophysical properties of water.
const std::array< int, 34 > _I1
T pow(T x, int e)

◆ d2gamma2_dpi2()

template<typename T >
T Water97FluidProperties::d2gamma2_dpi2 ( const T pi,
const T tau 
) const
protected

Second derivative of Gibbs free energy in Region 2 wrt pi.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
second derivative of Gibbs free energy wrt pi (-)

Definition at line 1664 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cv_from_p_T_template(), and e_from_p_T_template().

1665 {
1666  // Ideal gas part of the Gibbs free energy
1667  T dg0 = -1.0 / pi / pi;
1668 
1669  // Residual part of the Gibbs free energy
1670  T dgr = 0.0;
1671  for (std::size_t i = 0; i < _n2.size(); ++i)
1672  dgr += _n2[i] * _I2[i] * (_I2[i] - 1) * MathUtils::pow(pi, _I2[i] - 2) *
1673  MathUtils::pow(tau - 0.5, _J2[i]);
1674 
1675  return dg0 + dgr;
1676 }
const std::array< Real, 43 > _n2
const std::array< int, 43 > _J2
T pow(T x, int e)
const std::array< int, 43 > _I2
const Real pi

◆ d2gamma2_dpitau()

template<typename T >
T Water97FluidProperties::d2gamma2_dpitau ( const T pi,
const T tau 
) const
protected

Second derivative of Gibbs free energy in Region 2 wrt pi and tau.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
second derivative of Gibbs free energy wrt pi and tau (-)

Definition at line 1715 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cv_from_p_T_template(), and e_from_p_T_template().

1716 {
1717  // Ideal gas part of the Gibbs free energy
1718  T dg0 = 0.0;
1719 
1720  // Residual part of the Gibbs free energy
1721  T dgr = 0.0;
1722  for (std::size_t i = 0; i < _n2.size(); ++i)
1723  dgr += _n2[i] * _I2[i] * _J2[i] * MathUtils::pow(pi, _I2[i] - 1) *
1724  MathUtils::pow(tau - 0.5, _J2[i] - 1);
1725 
1726  return dg0 + dgr;
1727 }
const std::array< Real, 43 > _n2
const std::array< int, 43 > _J2
T pow(T x, int e)
const std::array< int, 43 > _I2

◆ d2gamma2_dtau2()

template<typename T >
T Water97FluidProperties::d2gamma2_dtau2 ( const T pi,
const T tau 
) const
protected

Second derivative of Gibbs free energy in Region 2 wrt tau.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
second derivative of Gibbs free energy wrt tau (-)

Definition at line 1697 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cp_from_p_T_template(), cv_from_p_T_template(), and e_from_p_T_template().

1698 {
1699  // Ideal gas part of the Gibbs free energy
1700  T dg0 = 0.0;
1701  for (std::size_t i = 0; i < _n02.size(); ++i)
1702  dg0 += _n02[i] * _J02[i] * (_J02[i] - 1) * MathUtils::pow(tau, _J02[i] - 2);
1703 
1704  // Residual part of the Gibbs free energy
1705  T dgr = 0.0;
1706  for (std::size_t i = 0; i < _n2.size(); ++i)
1707  dgr += _n2[i] * _J2[i] * (_J2[i] - 1) * MathUtils::pow(pi, _I2[i]) *
1708  MathUtils::pow(tau - 0.5, _J2[i] - 2);
1709 
1710  return dg0 + dgr;
1711 }
const std::array< Real, 43 > _n2
const std::array< int, 9 > _J02
const std::array< int, 43 > _J2
const std::array< Real, 9 > _n02
Constants for region 2.
T pow(T x, int e)
const std::array< int, 43 > _I2

◆ d2gamma5_dpi2()

template<typename T >
T Water97FluidProperties::d2gamma5_dpi2 ( const T pi,
const T tau 
) const
protected

Second derivative of Gibbs free energy in Region 5 wrt pi.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
second derivative of Gibbs free energy wrt pi (-)

Definition at line 1834 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cv_from_p_T_template(), and e_from_p_T_template().

1835 {
1836  // Ideal gas part of the Gibbs free energy
1837  T dg0 = -1.0 / pi / pi;
1838 
1839  // Residual part of the Gibbs free energy
1840  T dgr = 0.0;
1841  for (std::size_t i = 0; i < _n5.size(); ++i)
1842  dgr += _n5[i] * _I5[i] * (_I5[i] - 1) * MathUtils::pow(pi, _I5[i] - 2) *
1843  MathUtils::pow(tau, _J5[i]);
1844 
1845  return dg0 + dgr;
1846 }
const std::array< int, 6 > _I5
const std::array< int, 6 > _J5
const std::array< Real, 6 > _n5
T pow(T x, int e)
const Real pi

◆ d2gamma5_dpitau()

template<typename T >
T Water97FluidProperties::d2gamma5_dpitau ( const T pi,
const T tau 
) const
protected

Second derivative of Gibbs free energy in Region 5 wrt pi and tau.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
second derivative of Gibbs free energy wrt pi and tau (-)

Definition at line 1885 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cv_from_p_T_template(), and e_from_p_T_template().

1886 {
1887  // Ideal gas part of the Gibbs free energy
1888  T dg0 = 0.0;
1889 
1890  // Residual part of the Gibbs free energy
1891  T dgr = 0.0;
1892  for (std::size_t i = 0; i < _n5.size(); ++i)
1893  dgr +=
1894  _n5[i] * _I5[i] * _J5[i] * MathUtils::pow(pi, _I5[i] - 1) * MathUtils::pow(tau, _J5[i] - 1);
1895 
1896  return dg0 + dgr;
1897 }
const std::array< int, 6 > _I5
const std::array< int, 6 > _J5
const std::array< Real, 6 > _n5
T pow(T x, int e)

◆ d2gamma5_dtau2()

template<typename T >
T Water97FluidProperties::d2gamma5_dtau2 ( const T pi,
const T tau 
) const
protected

Second derivative of Gibbs free energy in Region 5 wrt tau.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
second derivative of Gibbs free energy wrt tau (-)

Definition at line 1867 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cp_from_p_T_template(), cv_from_p_T_template(), and e_from_p_T_template().

1868 {
1869  // Ideal gas part of the Gibbs free energy
1870  T dg0 = 0.0;
1871  for (std::size_t i = 0; i < _n05.size(); ++i)
1872  dg0 += _n05[i] * _J05[i] * (_J05[i] - 1) * MathUtils::pow(tau, _J05[i] - 2);
1873 
1874  // Residual part of the Gibbs free energy
1875  T dgr = 0.0;
1876  for (std::size_t i = 0; i < _n5.size(); ++i)
1877  dgr += _n5[i] * _J5[i] * (_J5[i] - 1) * MathUtils::pow(pi, _I5[i]) *
1878  MathUtils::pow(tau, _J5[i] - 2);
1879 
1880  return dg0 + dgr;
1881 }
const std::array< int, 6 > _I5
const std::array< int, 6 > _J5
const std::array< int, 6 > _J05
Constants for region 5.
const std::array< Real, 6 > _n5
const std::array< Real, 6 > _n05
T pow(T x, int e)

◆ d2phi3_ddelta2()

template<typename T >
T Water97FluidProperties::d2phi3_ddelta2 ( const T delta,
const T tau 
) const
protected

Second derivative of Helmholtz free energy in Region 3 wrt delta.

Parameters
deltareduced density (-)
taureduced temperature (-)
Returns
second derivative of Helmholtz free energy wrt delta (-)

Definition at line 1753 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cp_from_p_T_template(), and e_from_p_T_template().

1754 {
1755  T sum = 0.0;
1756  for (std::size_t i = 1; i < _n3.size(); ++i)
1757  sum += _n3[i] * _I3[i] * (_I3[i] - 1) * MathUtils::pow(delta, _I3[i] - 2) *
1758  MathUtils::pow(tau, _J3[i]);
1759 
1760  return -_n3[0] / delta / delta + sum;
1761 }
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
const std::array< int, 40 > _J3
const std::array< int, 40 > _I3
T pow(T x, int e)
const std::array< Real, 40 > _n3
Constants for region 3.

◆ d2phi3_ddeltatau()

template<typename T >
T Water97FluidProperties::d2phi3_ddeltatau ( const T delta,
const T tau 
) const
protected

Second derivative of Helmholtz free energy in Region 3 wrt delta and tau.

Parameters
deltareduced density (-)
taureduced temperature (-)
Returns
second derivative of Helmholtz free energy wrt delta and tau (-)

Definition at line 1788 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cp_from_p_T_template(), and e_from_p_T_template().

1789 {
1790  T sum = 0.0;
1791  for (std::size_t i = 1; i < _n3.size(); ++i)
1792  sum += _n3[i] * _I3[i] * _J3[i] * MathUtils::pow(delta, _I3[i] - 1) *
1793  MathUtils::pow(tau, _J3[i] - 1);
1794 
1795  return sum;
1796 }
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
const std::array< int, 40 > _J3
const std::array< int, 40 > _I3
T pow(T x, int e)
const std::array< Real, 40 > _n3
Constants for region 3.

◆ d2phi3_dtau2()

template<typename T >
T Water97FluidProperties::d2phi3_dtau2 ( const T delta,
const T tau 
) const
protected

Second derivative of Helmholtz free energy in Region 3 wrt tau.

Parameters
deltareduced density (-)
taureduced temperature (-)
Returns
second derivative of Helmholtz free energy wrt tau (-)

Definition at line 1776 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cp_from_p_T_template(), cv_from_p_T_template(), and e_from_p_T_template().

1777 {
1778  T sum = 0.0;
1779  for (std::size_t i = 1; i < _n3.size(); ++i)
1780  sum += _n3[i] * _J3[i] * (_J3[i] - 1) * MathUtils::pow(delta, _I3[i]) *
1781  MathUtils::pow(tau, _J3[i] - 2);
1782 
1783  return sum;
1784 }
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
const std::array< int, 40 > _J3
const std::array< int, 40 > _I3
T pow(T x, int e)
const std::array< Real, 40 > _n3
Constants for region 3.

◆ densityRegion3()

template<typename T >
T Water97FluidProperties::densityRegion3 ( const T pressure,
const T temperature 
) const

Density function for Region 3 - supercritical water and steam.

To avoid iteration, use the backwards equations for region 3 from Revised Supplementary Release on Backward Equations for Specific Volume as a Function of Pressure and Temperature v(p,T) for Region 3 of the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam.

Parameters
pressurewater pressure (Pa)
temperaturewater temperature (K)
Returns
density (kg/m^3) in region 3

Definition at line 1543 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cp_from_p_T_template(), cv_from_p_T_template(), e_from_p_T_template(), h_from_p_T_template(), and rho_from_p_T_template().

1544 {
1545  // Region 3 is subdivided into 26 subregions, each with a given backwards equation
1546  // to directly calculate density from pressure and temperature without the need for
1547  // expensive iterations. Find the subregion id that the point is in:
1548  unsigned int sid =
1550 
1551  T vstar, pi, theta;
1552  Real a, b, c, d, e;
1553  unsigned int N;
1554 
1555  vstar = _par3[sid][0];
1556  pi = pressure / _par3[sid][1] / 1.0e6;
1557  theta = temperature / _par3[sid][2];
1558  a = _par3[sid][3];
1559  b = _par3[sid][4];
1560  c = _par3[sid][5];
1561  d = _par3[sid][6];
1562  e = _par3[sid][7];
1563  N = _par3N[sid];
1564 
1565  T sum = 0.0;
1566  T volume = 0.0;
1567 
1568  // Note that subregion 13 is the only different formulation
1569  if (sid == 13)
1570  {
1571  for (std::size_t i = 0; i < N; ++i)
1572  sum += _n3s[sid][i] * MathUtils::pow(pi - a, _I3s[sid][i]) *
1573  MathUtils::pow(theta - b, _J3s[sid][i]);
1574 
1575  volume = vstar * std::exp(sum);
1576  }
1577  else
1578  volume = vstar * subregionVolume(pi, theta, a, b, c, d, e, sid);
1579 
1580  // Density is the inverse of volume
1581  return 1.0 / volume;
1582 }
const std::array< std::array< Real, 8 >, 26 > _par3
T subregionVolume(const T &pi, const T &theta, Real a, Real b, Real c, Real d, Real e, unsigned int sid) const
Specific volume in all subregions of region 3 EXCEPT subregion n (13).
unsigned int subregion3(Real pressure, Real temperature) const
Provides the correct subregion index for a (P,T) point in region 3.
auto raw_value(const Eigen::Map< T > &in)
const std::vector< std::vector< Real > > _n3s
Constants for all 26 subregions in region 3.
static const std::string temperature
Definition: NS.h:59
const std::vector< std::vector< int > > _I3s
Real volume(const MeshBase &mesh, unsigned int dim=libMesh::invalid_uint)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
int N
static const std::string pressure
Definition: NS.h:56
const std::vector< std::vector< int > > _J3s
T pow(T x, int e)
const std::array< unsigned int, 26 > _par3N
const Real pi

◆ dgamma1_dpi()

template<typename T >
T Water97FluidProperties::dgamma1_dpi ( const T pi,
const T tau 
) const
protected

Derivative of Gibbs free energy in Region 1 wrt pi.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
derivative of Gibbs free energy wrt pi (-)

Definition at line 1516 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cv_from_p_T_template(), e_from_p_T_template(), and rho_from_p_T_template().

1517 {
1518  T sum = 0.0;
1519  for (std::size_t i = 0; i < _n1.size(); ++i)
1520  sum += -_n1[i] * _I1[i] * MathUtils::pow(7.1 - pi, _I1[i] - 1) *
1521  MathUtils::pow(tau - 1.222, _J1[i]);
1522 
1523  return sum;
1524 }
const std::array< int, 34 > _J1
const std::array< Real, 34 > _n1
Reference constants used in to calculate thermophysical properties of water.
const std::array< int, 34 > _I1
T pow(T x, int e)

◆ dgamma1_dtau()

template<typename T >
T Water97FluidProperties::dgamma1_dtau ( const T pi,
const T tau 
) const
protected

Derivative of Gibbs free energy in Region 1 wrt tau.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
derivative of Gibbs free energy wrt tau (-)

Definition at line 1609 of file Water97FluidProperties.h.

Referenced by e_from_p_T_template(), and h_from_p_T_template().

1610 {
1611  T g = 0.0;
1612  for (std::size_t i = 0; i < _n1.size(); ++i)
1613  g += _n1[i] * _J1[i] * MathUtils::pow(7.1 - pi, _I1[i]) *
1614  MathUtils::pow(tau - 1.222, _J1[i] - 1);
1615 
1616  return g;
1617 }
const std::array< int, 34 > _J1
const std::array< Real, 34 > _n1
Reference constants used in to calculate thermophysical properties of water.
const std::array< int, 34 > _I1
T pow(T x, int e)

◆ dgamma2_dpi()

template<typename T >
T Water97FluidProperties::dgamma2_dpi ( const T pi,
const T tau 
) const
protected

Derivative of Gibbs free energy in Region 2 wrt pi.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
derivative of Gibbs free energy wrt pi (-)

Definition at line 1528 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cv_from_p_T_template(), e_from_p_T_template(), and rho_from_p_T_template().

1529 {
1530  // Ideal gas part of the Gibbs free energy
1531  T dg0 = 1.0 / pi;
1532 
1533  // Residual part of the Gibbs free energy
1534  T dgr = 0.0;
1535  for (std::size_t i = 0; i < _n2.size(); ++i)
1536  dgr += _n2[i] * _I2[i] * MathUtils::pow(pi, _I2[i] - 1) * MathUtils::pow(tau - 0.5, _J2[i]);
1537 
1538  return dg0 + dgr;
1539 }
const std::array< Real, 43 > _n2
const std::array< int, 43 > _J2
T pow(T x, int e)
const std::array< int, 43 > _I2
const Real pi

◆ dgamma2_dtau()

template<typename T >
T Water97FluidProperties::dgamma2_dtau ( const T pi,
const T tau 
) const
protected

Derivative of Gibbs free energy in Region 2 wrt tau.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
derivative of Gibbs free energy wrt tau (-)

Definition at line 1680 of file Water97FluidProperties.h.

Referenced by e_from_p_T_template(), and h_from_p_T_template().

1681 {
1682  // Ideal gas part of the Gibbs free energy
1683  T dg0 = 0.0;
1684  for (std::size_t i = 0; i < _n02.size(); ++i)
1685  dg0 += _n02[i] * _J02[i] * MathUtils::pow(tau, _J02[i] - 1);
1686 
1687  // Residual part of the Gibbs free energy
1688  T dgr = 0.0;
1689  for (std::size_t i = 0; i < _n2.size(); ++i)
1690  dgr += _n2[i] * _J2[i] * MathUtils::pow(pi, _I2[i]) * MathUtils::pow(tau - 0.5, _J2[i] - 1);
1691 
1692  return dg0 + dgr;
1693 }
const std::array< Real, 43 > _n2
const std::array< int, 9 > _J02
const std::array< int, 43 > _J2
const std::array< Real, 9 > _n02
Constants for region 2.
T pow(T x, int e)
const std::array< int, 43 > _I2

◆ dgamma5_dpi()

template<typename T >
T Water97FluidProperties::dgamma5_dpi ( const T pi,
const T tau 
) const
protected

Derivative of Gibbs free energy in Region 5 wrt pi.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
derivative of Gibbs free energy wrt pi (-)

Definition at line 1819 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cv_from_p_T_template(), e_from_p_T_template(), and rho_from_p_T_template().

1820 {
1821  // Ideal gas part of the Gibbs free energy
1822  T dg0 = 1.0 / pi;
1823 
1824  // Residual part of the Gibbs free energy
1825  T dgr = 0.0;
1826  for (std::size_t i = 0; i < _n5.size(); ++i)
1827  dgr += _n5[i] * _I5[i] * MathUtils::pow(pi, _I5[i] - 1) * MathUtils::pow(tau, _J5[i]);
1828 
1829  return dg0 + dgr;
1830 }
const std::array< int, 6 > _I5
const std::array< int, 6 > _J5
const std::array< Real, 6 > _n5
T pow(T x, int e)
const Real pi

◆ dgamma5_dtau()

template<typename T >
T Water97FluidProperties::dgamma5_dtau ( const T pi,
const T tau 
) const
protected

Derivative of Gibbs free energy in Region 5 wrt tau.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
derivative of Gibbs free energy wrt tau (-)

Definition at line 1850 of file Water97FluidProperties.h.

Referenced by e_from_p_T_template(), and h_from_p_T_template().

1851 {
1852  // Ideal gas part of the Gibbs free energy
1853  T dg0 = 0.0;
1854  for (std::size_t i = 0; i < _n05.size(); ++i)
1855  dg0 += _n05[i] * _J05[i] * MathUtils::pow(tau, _J05[i] - 1);
1856 
1857  // Residual part of the Gibbs free energy
1858  T dgr = 0.0;
1859  for (std::size_t i = 0; i < _n5.size(); ++i)
1860  dgr += _n5[i] * _J5[i] * MathUtils::pow(pi, _I5[i]) * MathUtils::pow(tau, _J5[i] - 1);
1861 
1862  return dg0 + dgr;
1863 }
const std::array< int, 6 > _I5
const std::array< int, 6 > _J5
const std::array< int, 6 > _J05
Constants for region 5.
const std::array< Real, 6 > _n5
const std::array< Real, 6 > _n05
T pow(T x, int e)

◆ dphi3_ddelta()

template<typename T >
T Water97FluidProperties::dphi3_ddelta ( const T delta,
const T tau 
) const
protected

Derivative of Helmholtz free energy in Region 3 wrt delta.

Parameters
deltareduced density (-)
taureduced temperature (-)
Returns
derivative of Helmholtz free energy wrt delta (-)

Definition at line 1742 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cp_from_p_T_template(), e_from_p_T_template(), and h_from_p_T_template().

1743 {
1744  T sum = 0.0;
1745  for (std::size_t i = 1; i < _n3.size(); ++i)
1746  sum += _n3[i] * _I3[i] * MathUtils::pow(delta, _I3[i] - 1) * MathUtils::pow(tau, _J3[i]);
1747 
1748  return _n3[0] / delta + sum;
1749 }
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
const std::array< int, 40 > _J3
const std::array< int, 40 > _I3
T pow(T x, int e)
const std::array< Real, 40 > _n3
Constants for region 3.

◆ dphi3_dtau()

template<typename T >
T Water97FluidProperties::dphi3_dtau ( const T delta,
const T tau 
) const
protected

Derivative of Helmholtz free energy in Region 3 wrt tau.

Parameters
deltareduced density (-)
taureduced temperature (-)
Returns
derivative of Helmholtz free energy wrt tau (-)

Definition at line 1765 of file Water97FluidProperties.h.

Referenced by e_from_p_T_template(), and h_from_p_T_template().

1766 {
1767  T sum = 0.0;
1768  for (std::size_t i = 1; i < _n3.size(); ++i)
1769  sum += _n3[i] * _J3[i] * MathUtils::pow(delta, _I3[i]) * MathUtils::pow(tau, _J3[i] - 1);
1770 
1771  return sum;
1772 }
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
const std::array< int, 40 > _J3
const std::array< int, 40 > _I3
T pow(T x, int e)
const std::array< Real, 40 > _n3
Constants for region 3.

◆ e_from_p_rho() [1/4]

Real Water97FluidProperties::e_from_p_rho ( Real  p,
Real  rho 
) const
overridevirtual

Definition at line 151 of file Water97FluidProperties.C.

Referenced by p_from_v_e_template().

152 {
153  return e_from_p_rho_template(p, rho);
154 }
T e_from_p_rho_template(const T &p, const T &rho) const

◆ e_from_p_rho() [2/4]

ADReal Water97FluidProperties::e_from_p_rho ( const ADReal p,
const ADReal rho 
) const
overridevirtual

Definition at line 157 of file Water97FluidProperties.C.

158 {
159  return e_from_p_rho_template(p, rho);
160 }
T e_from_p_rho_template(const T &p, const T &rho) const

◆ e_from_p_rho() [3/4]

void Water97FluidProperties::e_from_p_rho ( Real  p,
Real  rho,
Real e,
Real de_dp,
Real de_drho 
) const
override

Definition at line 163 of file Water97FluidProperties.C.

165 {
166  e_from_p_rho_template(p, rho, e, de_dp, de_drho);
167 }
T e_from_p_rho_template(const T &p, const T &rho) const

◆ e_from_p_rho() [4/4]

void Water97FluidProperties::e_from_p_rho ( const ADReal p,
const ADReal rho,
ADReal e,
ADReal de_dp,
ADReal de_drho 
) const
override

Definition at line 170 of file Water97FluidProperties.C.

172 {
173  e_from_p_rho_template(p, rho, e, de_dp, de_drho);
174 }
T e_from_p_rho_template(const T &p, const T &rho) const

◆ e_from_p_rho_template() [1/2]

template<typename T >
T Water97FluidProperties::e_from_p_rho_template ( const T p,
const T rho 
) const

Definition at line 2440 of file Water97FluidProperties.h.

Referenced by e_from_p_rho(), and e_from_p_rho_template().

2441 {
2442  const auto temperature = T_drhodT_from_p_rho(p, rho).first;
2444 }
T e_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
std::pair< T, T > T_drhodT_from_p_rho(const T &p, const T &rho) const
Computes the temperature (first member of the pair) and the derivative of density (second member of t...

◆ e_from_p_rho_template() [2/2]

template<typename T >
void Water97FluidProperties::e_from_p_rho_template ( const T p,
const T rho,
T e,
T de_dp,
T de_drho 
) const

Definition at line 2448 of file Water97FluidProperties.h.

2450 {
2451  auto functor = [this](const auto & p, const auto & rho)
2452  { return this->e_from_p_rho_template(p, rho); };
2453 
2454  xyDerivatives(p, rho, e, de_dp, de_drho, functor);
2455 }
static void xyDerivatives(const T x, const T &y, T &z, T &dz_dx, T &dz_dy, const Functor &z_from_x_y)
Computes the dependent variable z and its derivatives with respect to the independent variables x and...
T e_from_p_rho_template(const T &p, const T &rho) const

◆ e_from_p_T() [1/4]

Real Water97FluidProperties::e_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtual

Definition at line 177 of file Water97FluidProperties.C.

Referenced by e_from_p_T_template(), and e_from_v_h().

178 {
180 }
T e_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56

◆ e_from_p_T() [2/4]

ADReal Water97FluidProperties::e_from_p_T ( const ADReal pressure,
const ADReal temperature 
) const
overridevirtual

Definition at line 183 of file Water97FluidProperties.C.

184 {
186 }
T e_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56

◆ e_from_p_T() [3/4]

void Water97FluidProperties::e_from_p_T ( Real  pressure,
Real  temperature,
Real e,
Real de_dp,
Real de_dT 
) const
overridevirtual

Definition at line 189 of file Water97FluidProperties.C.

191 {
192  e_from_p_T_template(pressure, temperature, e, de_dp, de_dT);
193 }
T e_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56

◆ e_from_p_T() [4/4]

void Water97FluidProperties::e_from_p_T ( const ADReal pressure,
const ADReal temperature,
ADReal e,
ADReal de_dp,
ADReal de_dT 
) const
overridevirtual

Definition at line 196 of file Water97FluidProperties.C.

201 {
202  e_from_p_T_template(pressure, temperature, e, de_dp, de_dT);
203 }
T e_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56

◆ e_from_p_T_template() [1/2]

template<typename T >
T Water97FluidProperties::e_from_p_T_template ( const T pressure,
const T temperature 
) const

Definition at line 2034 of file Water97FluidProperties.h.

Referenced by e_from_p_rho_template(), and e_from_p_T().

2035 {
2036  T internal_energy, pi, tau;
2037 
2038  // Determine which region the point is in
2039  unsigned int region =
2041  switch (region)
2042  {
2043  case 1:
2044  pi = pressure / _p_star[0];
2045  tau = _T_star[0] / temperature;
2046  internal_energy =
2047  _Rw * temperature * (tau * dgamma1_dtau(pi, tau) - pi * dgamma1_dpi(pi, tau));
2048  break;
2049 
2050  case 2:
2051  pi = pressure / _p_star[1];
2052  tau = _T_star[1] / temperature;
2053  internal_energy =
2054  _Rw * temperature * (tau * dgamma2_dtau(pi, tau) - pi * dgamma2_dpi(pi, tau));
2055  break;
2056 
2057  case 3:
2058  {
2059  // Calculate density first, then use that in Helmholtz free energy
2060  T density3 = densityRegion3(pressure, temperature);
2061  T delta = density3 / _rho_critical;
2062  tau = _T_star[2] / temperature;
2063  internal_energy = _Rw * temperature * tau * dphi3_dtau(delta, tau);
2064  break;
2065  }
2066 
2067  case 5:
2068  pi = pressure / _p_star[4];
2069  tau = _T_star[4] / temperature;
2070  internal_energy =
2071  _Rw * temperature * (tau * dgamma5_dtau(pi, tau) - pi * dgamma5_dpi(pi, tau));
2072  break;
2073 
2074  default:
2075  mooseError("inRegion() has given an incorrect region");
2076  }
2077  // Output in J/kg
2078  return internal_energy;
2079 }
T dgamma2_dtau(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 2 wrt tau.
T dphi3_dtau(const T &delta, const T &tau) const
Derivative of Helmholtz free energy in Region 3 wrt tau.
unsigned int inRegion(Real pressure, Real temperature) const
Determines the phase region that the given pressure and temperature values lie in.
T dgamma5_dtau(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 5 wrt tau.
auto raw_value(const Eigen::Map< T > &in)
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
static const std::string temperature
Definition: NS.h:59
const std::array< Real, 5 > _p_star
Pressure scale for each region.
const std::array< Real, 5 > _T_star
Temperature scale for each region.
T dgamma2_dpi(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 2 wrt pi.
T dgamma1_dtau(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 1 wrt tau.
T dgamma1_dpi(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 1 wrt pi.
T dgamma5_dpi(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 5 wrt pi.
const Real _rho_critical
Critical density (kg/m^3)
T densityRegion3(const T &pressure, const T &temperature) const
Density function for Region 3 - supercritical water and steam.
static const std::string pressure
Definition: NS.h:56
void mooseError(Args &&... args) const
static const std::string internal_energy
Definition: NS.h:61
const Real _Rw
Specific gas constant for H2O (universal gas constant / molar mass of water - J/kg/K) ...
const Real pi

◆ e_from_p_T_template() [2/2]

template<typename T >
void Water97FluidProperties::e_from_p_T_template ( const T pressure,
const T temperature,
T e,
T de_dp,
T de_dT 
) const

Definition at line 2083 of file Water97FluidProperties.h.

2085 {
2086  T pi, tau, dinternal_energy_dp, dinternal_energy_dT;
2087 
2088  // Determine which region the point is in
2089  unsigned int region =
2091  switch (region)
2092  {
2093  case 1:
2094  {
2095  pi = pressure / _p_star[0];
2096  tau = _T_star[0] / temperature;
2097  T dgdp = dgamma1_dpi(pi, tau);
2098  T d2gdpt = d2gamma1_dpitau(pi, tau);
2099  dinternal_energy_dp =
2100  _Rw * temperature * (tau * d2gdpt - dgdp - pi * d2gamma1_dpi2(pi, tau)) / _p_star[0];
2101  dinternal_energy_dT =
2102  _Rw * (pi * tau * d2gdpt - tau * tau * d2gamma1_dtau2(pi, tau) - pi * dgdp);
2103  break;
2104  }
2105 
2106  case 2:
2107  {
2108  pi = pressure / _p_star[1];
2109  tau = _T_star[1] / temperature;
2110  T dgdp = dgamma2_dpi(pi, tau);
2111  T d2gdpt = d2gamma2_dpitau(pi, tau);
2112  dinternal_energy_dp =
2113  _Rw * temperature * (tau * d2gdpt - dgdp - pi * d2gamma2_dpi2(pi, tau)) / _p_star[1];
2114  dinternal_energy_dT =
2115  _Rw * (pi * tau * d2gdpt - tau * tau * d2gamma2_dtau2(pi, tau) - pi * dgdp);
2116  break;
2117  }
2118 
2119  case 3:
2120  {
2121  // Calculate density first, then use that in Helmholtz free energy
2122  T density3 = densityRegion3(pressure, temperature);
2123  T delta = density3 / _rho_critical;
2124  tau = _T_star[2] / temperature;
2125  T dpdd = dphi3_ddelta(delta, tau);
2126  T d2pddt = d2phi3_ddeltatau(delta, tau);
2127  T d2pdd2 = d2phi3_ddelta2(delta, tau);
2128  dinternal_energy_dp =
2129  _T_star[2] * d2pddt / _rho_critical /
2130  (2.0 * temperature * delta * dpdd + temperature * delta * delta * d2pdd2);
2131  dinternal_energy_dT =
2132  -_Rw * (delta * tau * d2pddt * (dpdd - tau * d2pddt) / (2.0 * dpdd + delta * d2pdd2) +
2133  tau * tau * d2phi3_dtau2(delta, tau));
2134  break;
2135  }
2136 
2137  case 5:
2138  {
2139  pi = pressure / _p_star[4];
2140  tau = _T_star[4] / temperature;
2141  T dgdp = dgamma5_dpi(pi, tau);
2142  T d2gdpt = d2gamma5_dpitau(pi, tau);
2143  dinternal_energy_dp =
2144  _Rw * temperature * (tau * d2gdpt - dgdp - pi * d2gamma5_dpi2(pi, tau)) / _p_star[4];
2145  dinternal_energy_dT =
2146  _Rw * (pi * tau * d2gdpt - tau * tau * d2gamma5_dtau2(pi, tau) - pi * dgdp);
2147  break;
2148  }
2149 
2150  default:
2151  mooseError("inRegion has given an incorrect region");
2152  }
2153 
2154  e = this->e_from_p_T(pressure, temperature);
2155  de_dp = dinternal_energy_dp;
2156  de_dT = dinternal_energy_dT;
2157 }
unsigned int inRegion(Real pressure, Real temperature) const
Determines the phase region that the given pressure and temperature values lie in.
T d2phi3_ddelta2(const T &delta, const T &tau) const
Second derivative of Helmholtz free energy in Region 3 wrt delta.
virtual Real e_from_p_T(Real pressure, Real temperature) const override
T d2gamma5_dpitau(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 5 wrt pi and tau.
T d2gamma2_dpitau(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 2 wrt pi and tau.
T d2gamma5_dtau2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 5 wrt tau.
auto raw_value(const Eigen::Map< T > &in)
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
static const std::string temperature
Definition: NS.h:59
const std::array< Real, 5 > _p_star
Pressure scale for each region.
const std::array< Real, 5 > _T_star
Temperature scale for each region.
T d2gamma1_dpitau(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 1 wrt pi and tau.
T dphi3_ddelta(const T &delta, const T &tau) const
Derivative of Helmholtz free energy in Region 3 wrt delta.
T d2gamma2_dpi2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 2 wrt pi.
T d2gamma1_dtau2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 1 wrt tau.
T dgamma2_dpi(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 2 wrt pi.
T d2gamma2_dtau2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 2 wrt tau.
T dgamma1_dpi(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 1 wrt pi.
T dgamma5_dpi(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 5 wrt pi.
T d2phi3_dtau2(const T &delta, const T &tau) const
Second derivative of Helmholtz free energy in Region 3 wrt tau.
const Real _rho_critical
Critical density (kg/m^3)
T densityRegion3(const T &pressure, const T &temperature) const
Density function for Region 3 - supercritical water and steam.
static const std::string pressure
Definition: NS.h:56
T d2gamma5_dpi2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 5 wrt pi.
void mooseError(Args &&... args) const
const Real _Rw
Specific gas constant for H2O (universal gas constant / molar mass of water - J/kg/K) ...
T d2gamma1_dpi2(const T &pi, const T &tau) const
Second derivative of Gibbs free energy in Region 1 wrt pi.
T d2phi3_ddeltatau(const T &delta, const T &tau) const
Second derivative of Helmholtz free energy in Region 3 wrt delta and tau.
const Real pi

◆ e_from_v_h()

ADReal Water97FluidProperties::e_from_v_h ( const ADReal v,
const ADReal h 
) const
override

Definition at line 206 of file Water97FluidProperties.C.

207 {
208  const auto [p, T] = p_T_from_v_h(v, h);
209  return e_from_p_T(p, T);
210 }
virtual Real e_from_p_T(Real pressure, Real temperature) const override
std::pair< T, T > p_T_from_v_h(const T &v, const T &h) const
Computes the pressure (first member of the pair) and temperature (second member of the pair) as funct...
e e e e s T T T T T rho v v T e h

◆ e_spndl_from_v()

Real SinglePhaseFluidProperties::e_spndl_from_v ( Real  v) const
virtualinherited

Specific internal energy from temperature and specific volume.

Parameters
[in]Ttemperature
[in]vspecific volume

Reimplemented in IdealGasFluidProperties, CaloricallyImperfectGas, and StiffenedGasFluidProperties.

Definition at line 479 of file SinglePhaseFluidProperties.C.

480 {
481  mooseError(__PRETTY_FUNCTION__, " not implemented.");
482 }
void mooseError(Args &&... args) const

◆ execute()

virtual void FluidProperties::execute ( )
inlinefinalvirtualinherited

Implements ThreadedGeneralUserObject.

Definition at line 33 of file FluidProperties.h.

33 {}

◆ finalize()

virtual void FluidProperties::finalize ( )
inlinefinalvirtualinherited

Implements ThreadedGeneralUserObject.

Definition at line 35 of file FluidProperties.h.

35 {}

◆ fluidName()

std::string Water97FluidProperties::fluidName ( ) const
overridevirtual

Fluid name.

Returns
string representing fluid name

Reimplemented from SinglePhaseFluidProperties.

Definition at line 39 of file Water97FluidProperties.C.

40 {
41  return "water";
42 }

◆ gamma1()

template<typename T >
T Water97FluidProperties::gamma1 ( const T pi,
const T tau 
) const
protected

Gibbs free energy in Region 1 - single phase liquid region.

From Eq. (7) From Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam, IAPWS 2007.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
Gibbs free energy (-)

Definition at line 1586 of file Water97FluidProperties.h.

1587 {
1588  T sum = 0.0;
1589  for (std::size_t i = 0; i < _n1.size(); ++i)
1590  sum += _n1[i] * MathUtils::pow(7.1 - pi, _I1[i]) * MathUtils::pow(tau - 1.222, _J1[i]);
1591 
1592  return sum;
1593 }
const std::array< int, 34 > _J1
const std::array< Real, 34 > _n1
Reference constants used in to calculate thermophysical properties of water.
const std::array< int, 34 > _I1
T pow(T x, int e)

◆ gamma2()

template<typename T >
T Water97FluidProperties::gamma2 ( const T pi,
const T tau 
) const
protected

Gibbs free energy in Region 2 - superheated steam.

From Eq. (15) From Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam, IAPWS 2007.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
Gibbs free energy (-)

Definition at line 1645 of file Water97FluidProperties.h.

1646 {
1647  // Ideal gas part of the Gibbs free energy
1648  T sum0 = 0.0;
1649  for (std::size_t i = 0; i < _n02.size(); ++i)
1650  sum0 += _n02[i] * MathUtils::pow(tau, _J02[i]);
1651 
1652  T g0 = std::log(pi) + sum0;
1653 
1654  // Residual part of the Gibbs free energy
1655  T gr = 0.0;
1656  for (std::size_t i = 0; i < _n2.size(); ++i)
1657  gr += _n2[i] * MathUtils::pow(pi, _I2[i]) * MathUtils::pow(tau - 0.5, _J2[i]);
1658 
1659  return g0 + gr;
1660 }
const std::array< Real, 43 > _n2
const std::array< int, 9 > _J02
const std::array< int, 43 > _J2
const std::array< Real, 9 > _n02
Constants for region 2.
T pow(T x, int e)
const std::array< int, 43 > _I2

◆ gamma5()

template<typename T >
T Water97FluidProperties::gamma5 ( const T pi,
const T tau 
) const
protected

Gibbs free energy in Region 5.

From Eq. (32) From Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam, IAPWS 2007.

Parameters
pireduced pressure (-)
taureduced temperature (-)
Returns
Gibbs free energy (-)

Definition at line 1800 of file Water97FluidProperties.h.

1801 {
1802  // Ideal gas part of the Gibbs free energy
1803  T sum0 = 0.0;
1804  for (std::size_t i = 0; i < _n05.size(); ++i)
1805  sum0 += _n05[i] * MathUtils::pow(tau, _J05[i]);
1806 
1807  T g0 = std::log(pi) + sum0;
1808 
1809  // Residual part of the Gibbs free energy
1810  T gr = 0.0;
1811  for (std::size_t i = 0; i < _n5.size(); ++i)
1812  gr += _n5[i] * MathUtils::pow(pi, _I5[i]) * MathUtils::pow(tau, _J5[i]);
1813 
1814  return g0 + gr;
1815 }
const std::array< int, 6 > _I5
const std::array< int, 6 > _J5
const std::array< int, 6 > _J05
Constants for region 5.
const std::array< Real, 6 > _n5
const std::array< Real, 6 > _n05
T pow(T x, int e)

◆ h_from_p_T() [1/4]

Real Water97FluidProperties::h_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtual

Definition at line 492 of file Water97FluidProperties.C.

Referenced by inRegionPH().

493 {
495 }
T h_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56

◆ h_from_p_T() [2/4]

ADReal Water97FluidProperties::h_from_p_T ( const ADReal pressure,
const ADReal temperature 
) const
overridevirtual

Definition at line 498 of file Water97FluidProperties.C.

499 {
501 }
T h_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56

◆ h_from_p_T() [3/4]

void Water97FluidProperties::h_from_p_T ( Real  pressure,
Real  temperature,
Real h,
Real dh_dp,
Real dh_dT 
) const
overridevirtual

Definition at line 504 of file Water97FluidProperties.C.

506 {
507  h_from_p_T_template(pressure, temperature, h, dh_dp, dh_dT);
508 }
T h_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
e e e e s T T T T T rho v v T e h
static const std::string pressure
Definition: NS.h:56

◆ h_from_p_T() [4/4]

void Water97FluidProperties::h_from_p_T ( const ADReal pressure,
const ADReal temperature,
ADReal h,
ADReal dh_dp,
ADReal dh_dT 
) const
overridevirtual

Definition at line 511 of file Water97FluidProperties.C.

516 {
517  h_from_p_T_template(pressure, temperature, h, dh_dp, dh_dT);
518 }
T h_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
e e e e s T T T T T rho v v T e h
static const std::string pressure
Definition: NS.h:56

◆ h_from_p_T_template() [1/2]

template<typename T >
T Water97FluidProperties::h_from_p_T_template ( const T pressure,
const T temperature 
) const

Definition at line 2500 of file Water97FluidProperties.h.

Referenced by h_from_p_T(), and h_from_p_T_template().

2501 {
2502  T enthalpy, pi, tau, delta;
2503 
2504  // Determine which region the point is in
2505  unsigned int region =
2507  switch (region)
2508  {
2509  case 1:
2510  pi = pressure / _p_star[0];
2511  tau = _T_star[0] / temperature;
2512  enthalpy = _Rw * _T_star[0] * dgamma1_dtau(pi, tau);
2513  break;
2514 
2515  case 2:
2516  pi = pressure / _p_star[1];
2517  tau = _T_star[1] / temperature;
2518  enthalpy = _Rw * _T_star[1] * dgamma2_dtau(pi, tau);
2519  break;
2520 
2521  case 3:
2522  {
2523  // Calculate density first, then use that in Helmholtz free energy
2524  T density3 = densityRegion3(pressure, temperature);
2525  delta = density3 / _rho_critical;
2526  tau = _T_star[2] / temperature;
2527  enthalpy =
2528  _Rw * temperature * (tau * dphi3_dtau(delta, tau) + delta * dphi3_ddelta(delta, tau));
2529  break;
2530  }
2531 
2532  case 5:
2533  pi = pressure / _p_star[4];
2534  tau = _T_star[4] / temperature;
2535  enthalpy = _Rw * _T_star[4] * dgamma5_dtau(pi, tau);
2536  break;
2537 
2538  default:
2539  mooseError("Water97FluidProperties::inRegion has given an incorrect region");
2540  }
2541  return enthalpy;
2542 }
T dgamma2_dtau(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 2 wrt tau.
T dphi3_dtau(const T &delta, const T &tau) const
Derivative of Helmholtz free energy in Region 3 wrt tau.
unsigned int inRegion(Real pressure, Real temperature) const
Determines the phase region that the given pressure and temperature values lie in.
T dgamma5_dtau(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 5 wrt tau.
auto raw_value(const Eigen::Map< T > &in)
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
static const std::string temperature
Definition: NS.h:59
const std::array< Real, 5 > _p_star
Pressure scale for each region.
const std::array< Real, 5 > _T_star
Temperature scale for each region.
T dphi3_ddelta(const T &delta, const T &tau) const
Derivative of Helmholtz free energy in Region 3 wrt delta.
T dgamma1_dtau(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 1 wrt tau.
const Real _rho_critical
Critical density (kg/m^3)
T densityRegion3(const T &pressure, const T &temperature) const
Density function for Region 3 - supercritical water and steam.
static const std::string pressure
Definition: NS.h:56
void mooseError(Args &&... args) const
const Real _Rw
Specific gas constant for H2O (universal gas constant / molar mass of water - J/kg/K) ...
const Real pi

◆ h_from_p_T_template() [2/2]

template<typename T >
void Water97FluidProperties::h_from_p_T_template ( const T pressure,
const T temperature,
T h,
T dh_dp,
T dh_dT 
) const

Definition at line 2546 of file Water97FluidProperties.h.

2548 {
2549  auto functor = [this](const auto & pressure, const auto & temperature)
2550  { return this->h_from_p_T_template(pressure, temperature); };
2551 
2552  xyDerivatives(pressure, temperature, h, dh_dp, dh_dT, functor);
2553 }
T h_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static void xyDerivatives(const T x, const T &y, T &z, T &dz_dx, T &dz_dy, const Functor &z_from_x_y)
Computes the dependent variable z and its derivatives with respect to the independent variables x and...
e e e e s T T T T T rho v v T e h
static const std::string pressure
Definition: NS.h:56

◆ henryCoefficients()

std::vector< Real > SinglePhaseFluidProperties::henryCoefficients ( ) const
virtualinherited

Henry's law coefficients for dissolution in water.

Returns
Henry's constant coefficients

Reimplemented in CO2FluidProperties, TabulatedFluidProperties, HydrogenFluidProperties, NitrogenFluidProperties, and MethaneFluidProperties.

Definition at line 374 of file SinglePhaseFluidProperties.C.

Referenced by TabulatedFluidProperties::henryCoefficients().

375 {
376  mooseError(__PRETTY_FUNCTION__, " not implemented.");
377 }
void mooseError(Args &&... args) const

◆ henryConstant() [1/3]

Real Water97FluidProperties::henryConstant ( Real  temperature,
const std::vector< Real > &  coeffs 
) const

IAPWS formulation of Henry's law constant for dissolution in water From Guidelines on the Henry's constant and vapour liquid distribution constant for gases in H20 and D20 at high temperatures, IAPWS (2004)

Parameters
Tfluid temperature (K)
coeffsHenry's constant coefficients of gas
[out]KhHenry's constant
[out]dKh_dTderivative of Kh wrt temperature

Definition at line 906 of file Water97FluidProperties.C.

Referenced by PorousFlowWaterNCG::enthalpyOfDissolution(), PorousFlowWaterNCG::equilibriumMassFractions(), BrineFluidProperties::henryConstant(), and henryConstant().

907 {
908  const Real A = coeffs[0];
909  const Real B = coeffs[1];
910  const Real C = coeffs[2];
911 
912  const Real Tr = temperature / 647.096;
913  const Real tau = 1.0 - Tr;
914 
915  const Real lnkh =
916  A / Tr + B * std::pow(tau, 0.355) / Tr + C * std::pow(Tr, -0.41) * std::exp(tau);
917 
918  // The vapor pressure used in this formulation
919  const std::vector<Real> a{
920  -7.85951783, 1.84408259, -11.7866497, 22.6807411, -15.9618719, 1.80122502};
921  const std::vector<Real> b{1.0, 1.5, 3.0, 3.5, 4.0, 7.5};
922  Real sum = 0.0;
923 
924  for (std::size_t i = 0; i < a.size(); ++i)
925  sum += a[i] * std::pow(tau, b[i]);
926 
927  return 22.064e6 * std::exp(sum / Tr) * std::exp(lnkh);
928 }
static const std::string temperature
Definition: NS.h:59
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
MooseUnits pow(const MooseUnits &, int)
static const std::string C
Definition: NS.h:168

◆ henryConstant() [2/3]

void Water97FluidProperties::henryConstant ( Real  temperature,
const std::vector< Real > &  coeffs,
Real Kh,
Real dKh_dT 
) const

Definition at line 931 of file Water97FluidProperties.C.

935 {
936  const Real A = coeffs[0];
937  const Real B = coeffs[1];
938  const Real C = coeffs[2];
939 
940  const Real pc = 22.064e6;
941  const Real Tc = 647.096;
942 
943  const Real Tr = temperature / Tc;
944  const Real tau = 1.0 - Tr;
945 
946  const Real lnkh =
947  A / Tr + B * std::pow(tau, 0.355) / Tr + C * std::pow(Tr, -0.41) * std::exp(tau);
948  const Real dlnkh_dT =
949  (-A / Tr / Tr - B * std::pow(tau, 0.355) / Tr / Tr - 0.355 * B * std::pow(tau, -0.645) / Tr -
950  0.41 * C * std::pow(Tr, -1.41) * std::exp(tau) - C * std::pow(Tr, -0.41) * std::exp(tau)) /
951  Tc;
952 
953  // The vapor pressure used in this formulation
954  const std::vector<Real> a{
955  -7.85951783, 1.84408259, -11.7866497, 22.6807411, -15.9618719, 1.80122502};
956  const std::vector<Real> b{1.0, 1.5, 3.0, 3.5, 4.0, 7.5};
957  Real sum = 0.0;
958  Real dsum = 0.0;
959 
960  for (std::size_t i = 0; i < a.size(); ++i)
961  {
962  sum += a[i] * std::pow(tau, b[i]);
963  dsum += a[i] * b[i] * std::pow(tau, b[i] - 1.0);
964  }
965 
966  const Real p = pc * std::exp(sum / Tr);
967  const Real dp_dT = -p / Tc / Tr * (sum / Tr + dsum);
968 
969  // Henry's constant and its derivative wrt temperature
970  Kh = p * std::exp(lnkh);
971  dKh_dT = (p * dlnkh_dT + dp_dT) * std::exp(lnkh);
972 }
static const std::string temperature
Definition: NS.h:59
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
MooseUnits pow(const MooseUnits &, int)
static const std::string C
Definition: NS.h:168

◆ henryConstant() [3/3]

ADReal Water97FluidProperties::henryConstant ( const ADReal temperature,
const std::vector< Real > &  coeffs 
) const

Definition at line 975 of file Water97FluidProperties.C.

977 {
978  const Real T = temperature.value();
979  Real Kh_real = 0.0;
980  Real dKh_dT_real = 0.0;
981  henryConstant(T, coeffs, Kh_real, dKh_dT_real);
982 
983  ADReal Kh = Kh_real;
984  Kh.derivatives() = temperature.derivatives() * dKh_dT_real;
985 
986  return Kh;
987 }
static const std::string temperature
Definition: NS.h:59
DualNumber< Real, DNDerivativeType, true > ADReal
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Real henryConstant(Real temperature, const std::vector< Real > &coeffs) const
IAPWS formulation of Henry&#39;s law constant for dissolution in water From Guidelines on the Henry&#39;s con...

◆ initialize()

virtual void FluidProperties::initialize ( )
inlinefinalvirtualinherited

Implements ThreadedGeneralUserObject.

Definition at line 34 of file FluidProperties.h.

34 {}

◆ inRegion()

unsigned int Water97FluidProperties::inRegion ( Real  pressure,
Real  temperature 
) const

Determines the phase region that the given pressure and temperature values lie in.

Parameters
pressurewater pressure (Pa)
temperaturewater temperature (K)
Returns
region phase region index

Definition at line 1179 of file Water97FluidProperties.C.

Referenced by c_from_p_T_template(), cp_from_p_T_template(), cv_from_p_T_template(), e_from_p_T_template(), h_from_p_T_template(), and rho_from_p_T_template().

1180 {
1181  // Valid for 273.15 K <= T <= 1073.15 K, p <= 100 MPa
1182  // 1073.15 K <= T <= 2273.15 K, p <= 50 Mpa
1183  if (temperature >= 273.15 && temperature <= 1073.15)
1184  {
1185  if (pressure < vaporPressure(273.15) || pressure > 100.0e6)
1186  mooseException("Pressure ", pressure, " is out of range in ", name(), ": inRegion()");
1187  }
1188  else if (temperature > 1073.15 && temperature <= 2273.15)
1189  {
1190  if (pressure < 0.0 || pressure > 50.0e6)
1191  mooseException("Pressure ", pressure, " is out of range in ", name(), ": inRegion()");
1192  }
1193  else
1194  mooseException("Temperature ", temperature, " is out of range in ", name(), ": inRegion()");
1195 
1196  // Determine the phase region that the (P, T) point lies in
1197  unsigned int region;
1198 
1199  if (temperature >= 273.15 && temperature <= 623.15)
1200  {
1201  if (pressure > vaporPressure(temperature) && pressure <= 100.0e6)
1202  region = 1;
1203  else
1204  region = 2;
1205  }
1206  else if (temperature > 623.15 && temperature <= 863.15)
1207  {
1208  if (pressure <= b23p(temperature))
1209  region = 2;
1210  else
1211  region = 3;
1212  }
1213  else if (temperature > 863.15 && temperature <= 1073.15)
1214  region = 2;
1215  else
1216  region = 5;
1217 
1218  return region;
1219 }
static const std::string temperature
Definition: NS.h:59
virtual const std::string & name() const
Real b23p(Real temperature) const
Auxillary equation for the boundary between regions 2 and 3.
static const std::string pressure
Definition: NS.h:56
virtual Real vaporPressure(Real temperature) const override
Vapor pressure.

◆ inRegionPH()

unsigned int Water97FluidProperties::inRegionPH ( Real  pressure,
Real  enthalpy 
) const
protected

Determines the phase region that the given pressure and enthaply values lie in.

Parameters
pressurewater pressure (Pa)
enthalpywater enthalpy (J/kg)
Returns
region phase region index

Definition at line 610 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

611 {
612  unsigned int region;
613 
614  // Need to calculate enthalpies at the boundaries to delineate regions
615  Real p273 = vaporPressure(273.15);
616  Real p623 = vaporPressure(623.15);
617 
618  if (pressure >= p273 && pressure <= p623)
619  {
620  if (enthalpy >= h_from_p_T(pressure, 273.15) &&
622  region = 1;
623  else if (enthalpy > h_from_p_T(pressure, vaporTemperature(pressure)) &&
624  enthalpy <= h_from_p_T(pressure, 1073.15))
625  region = 2;
626  else if (enthalpy > h_from_p_T(pressure, 1073.15) && enthalpy <= h_from_p_T(pressure, 2273.15))
627  region = 5;
628  else
629  mooseException("Enthalpy ", enthalpy, " is out of range in ", name(), ": inRegionPH()");
630  }
631  else if (pressure > p623 && pressure <= 50.0e6)
632  {
633  if (enthalpy >= h_from_p_T(pressure, 273.15) && enthalpy <= h_from_p_T(pressure, 623.15))
634  region = 1;
635  else if (enthalpy > h_from_p_T(pressure, 623.15) &&
636  enthalpy <= h_from_p_T(pressure, b23T(pressure)))
637  region = 3;
638  else if (enthalpy > h_from_p_T(pressure, b23T(pressure)) &&
639  enthalpy <= h_from_p_T(pressure, 1073.15))
640  region = 2;
641  else if (enthalpy > h_from_p_T(pressure, 1073.15) && enthalpy <= h_from_p_T(pressure, 2273.15))
642  region = 5;
643  else
644  mooseException("Enthalpy ", enthalpy, " is out of range in ", name(), ": inRegionPH()");
645  }
646  else if (pressure > 50.0e6 && pressure <= 100.0e6)
647  {
648  if (enthalpy >= h_from_p_T(pressure, 273.15) && enthalpy <= h_from_p_T(pressure, 623.15))
649  region = 1;
650  else if (enthalpy > h_from_p_T(pressure, 623.15) &&
651  enthalpy <= h_from_p_T(pressure, b23T(pressure)))
652  region = 3;
653  else if (enthalpy > h_from_p_T(pressure, b23T(pressure)) &&
654  enthalpy <= h_from_p_T(pressure, 1073.15))
655  region = 2;
656  else
657  mooseException("Enthalpy ", enthalpy, " is out of range in ", name(), ": inRegionPH()");
658  }
659  else
660  mooseException("Pressure ", pressure, " is out of range in ", name(), ": inRegionPH()");
661 
662  return region;
663 }
Real vaporTemperature(Real pressure) const override
Saturation temperature as a function of pressure.
Real b23T(Real pressure) const
Auxillary equation for the boundary between regions 2 and 3.
virtual Real h_from_p_T(Real pressure, Real temperature) const override
virtual const std::string & name() const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56
virtual Real vaporPressure(Real temperature) const override
Vapor pressure.

◆ k_from_p_T() [1/3]

Real Water97FluidProperties::k_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtual

Definition at line 395 of file Water97FluidProperties.C.

396 {
398 }
T k_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56

◆ k_from_p_T() [2/3]

ADReal Water97FluidProperties::k_from_p_T ( const ADReal pressure,
const ADReal temperature 
) const
overridevirtual

Definition at line 401 of file Water97FluidProperties.C.

402 {
404 }
T k_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56

◆ k_from_p_T() [3/3]

void Water97FluidProperties::k_from_p_T ( Real  pressure,
Real  temperature,
Real k,
Real dk_dp,
Real dk_dT 
) const
overridevirtual

Definition at line 407 of file Water97FluidProperties.C.

408 {
409  mooseError("k_from_p_T() is not implemented.");
410 }
void mooseError(Args &&... args) const

◆ k_from_p_T_template()

template<typename T >
T Water97FluidProperties::k_from_p_T_template ( const T pressure,
const T temperature 
) const

Definition at line 2408 of file Water97FluidProperties.h.

Referenced by k_from_p_T(), and k_from_v_e_template().

2409 {
2411  return this->k_from_rho_T_template(rho, temperature);
2412 }
static const std::string temperature
Definition: NS.h:59
T k_from_rho_T_template(const T &density, const T &temperature) const
static const std::string pressure
Definition: NS.h:56
virtual Real rho_from_p_T(Real pressure, Real temperature) const override

◆ k_from_rho_T()

Real Water97FluidProperties::k_from_rho_T ( Real  density,
Real  temperature 
) const
overridevirtual

Definition at line 413 of file Water97FluidProperties.C.

414 {
416 }
static const std::string density
Definition: NS.h:33
static const std::string temperature
Definition: NS.h:59
T k_from_rho_T_template(const T &density, const T &temperature) const

◆ k_from_rho_T_template()

template<typename T >
T Water97FluidProperties::k_from_rho_T_template ( const T density,
const T temperature 
) const

Definition at line 2373 of file Water97FluidProperties.h.

Referenced by k_from_p_T_template(), and k_from_rho_T().

2374 {
2375  // Scale the density and temperature. Note that the scales are slightly
2376  // different to the critical values used in IAPWS-IF97
2377  T Tbar = temperature / 647.26;
2378  T rhobar = density / 317.7;
2379 
2380  // Ideal gas component
2381  T sum0 = 0.0;
2382 
2383  for (std::size_t i = 0; i < _k_a.size(); ++i)
2384  sum0 += _k_a[i] * MathUtils::pow(Tbar, i);
2385 
2386  T lambda0 = std::sqrt(Tbar) * sum0;
2387 
2388  // The contribution due to finite density
2389  T lambda1 = -0.39707 + 0.400302 * rhobar +
2390  1.06 * std::exp(-0.171587 * Utility::pow<2>(rhobar + 2.392190));
2391 
2392  // Critical enhancement
2393  T DeltaT = std::abs(Tbar - 1.0) + 0.00308976;
2394  T Q = 2.0 + 0.0822994 / std::pow(DeltaT, 0.6);
2395  T S = (Tbar >= 1.0 ? 1.0 / DeltaT : 10.0932 / std::pow(DeltaT, 0.6));
2396 
2397  T lambda2 = (0.0701309 / Utility::pow<10>(Tbar) + 0.011852) * std::pow(rhobar, 1.8) *
2398  std::exp(0.642857 * (1.0 - std::pow(rhobar, 2.8))) +
2399  0.00169937 * S * std::pow(rhobar, Q) *
2400  std::exp((Q / (1.0 + Q)) * (1.0 - std::pow(rhobar, 1.0 + Q))) -
2401  1.02 * std::exp(-4.11717 * std::pow(Tbar, 1.5) - 6.17937 / Utility::pow<5>(rhobar));
2402 
2403  return lambda0 + lambda1 + lambda2;
2404 }
static const std::string density
Definition: NS.h:33
static const std::string temperature
Definition: NS.h:59
static const std::string S
Definition: NS.h:163
T pow(T x, int e)
MooseUnits pow(const MooseUnits &, int)
std::array< Real, 4 > _k_a
Constants for thermal conductivity.

◆ k_from_v_e() [1/2]

Real Water97FluidProperties::k_from_v_e ( Real  v,
Real  e 
) const
override

Definition at line 419 of file Water97FluidProperties.C.

420 {
421  return k_from_v_e_template(v, e);
422 }
T k_from_v_e_template(const T &v, const T &e) const

◆ k_from_v_e() [2/2]

ADReal Water97FluidProperties::k_from_v_e ( const ADReal v,
const ADReal e 
) const
override

Definition at line 425 of file Water97FluidProperties.C.

426 {
427  return k_from_v_e_template(v, e);
428 }
T k_from_v_e_template(const T &v, const T &e) const

◆ k_from_v_e_template()

template<typename T >
T Water97FluidProperties::k_from_v_e_template ( const T v,
const T e 
) const

Definition at line 2416 of file Water97FluidProperties.h.

Referenced by k_from_v_e().

2417 {
2418  const auto [p, temperature] = p_T_from_v_e(v, e);
2420 }
T k_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
std::pair< T, T > p_T_from_v_e(const T &v, const T &e) const
Computes the pressure (first member of the pair) and temperature (second member of the pair) as funct...

◆ makeZeroAndOne() [1/2]

template<typename T >
std::pair< T, T > SinglePhaseFluidProperties::makeZeroAndOne ( const T )
staticprotectedinherited

Given a type example, this method returns zero and unity representations of that type (first and second members of returned pair respectively)

Definition at line 476 of file SinglePhaseFluidProperties.h.

Referenced by SinglePhaseFluidProperties::xyDerivatives().

477 {
478  return {T{0, 0}, T{1, 0}};
479 }

◆ makeZeroAndOne() [2/2]

template<>
std::pair<Real, Real> SinglePhaseFluidProperties::makeZeroAndOne ( const Real )
inlineinherited

Definition at line 483 of file SinglePhaseFluidProperties.h.

484 {
485  return {Real{0}, Real{1}};
486 }
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ molarMass()

Real Water97FluidProperties::molarMass ( ) const
overridevirtual

Molar mass [kg/mol].

Returns
molar mass

Reimplemented from SinglePhaseFluidProperties.

Definition at line 45 of file Water97FluidProperties.C.

46 {
47  return _Mh2o;
48 }
const Real _Mh2o
Water molar mass (kg/mol)

◆ mu_from_p_T() [1/3]

Real Water97FluidProperties::mu_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtual

Definition at line 282 of file Water97FluidProperties.C.

283 {
285 }
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56
T mu_from_p_T_template(const T &pressure, const T &temperature) const

◆ mu_from_p_T() [2/3]

ADReal Water97FluidProperties::mu_from_p_T ( const ADReal pressure,
const ADReal temperature 
) const
overridevirtual

Definition at line 288 of file Water97FluidProperties.C.

289 {
291 }
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56
T mu_from_p_T_template(const T &pressure, const T &temperature) const

◆ mu_from_p_T() [3/3]

void Water97FluidProperties::mu_from_p_T ( Real  pressure,
Real  temperature,
Real mu,
Real dmu_dp,
Real dmu_dT 
) const
overridevirtual

Definition at line 294 of file Water97FluidProperties.C.

296 {
297  Real rho, drho_dp, drho_dT;
298  this->rho_from_p_T(pressure, temperature, rho, drho_dp, drho_dT);
299  Real dmu_drho;
300  this->mu_from_rho_T(rho, temperature, drho_dT, mu, dmu_drho, dmu_dT);
301  dmu_dp = dmu_drho * drho_dp;
302 }
static const std::string temperature
Definition: NS.h:59
static const std::string mu
Definition: NS.h:123
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
virtual Real mu_from_rho_T(Real density, Real temperature) const override

◆ mu_from_p_T_template()

template<typename T >
T Water97FluidProperties::mu_from_p_T_template ( const T pressure,
const T temperature 
) const

Definition at line 2597 of file Water97FluidProperties.h.

Referenced by mu_from_p_T().

2598 {
2600  return this->mu_from_rho_T_template(rho, temperature);
2601 }
T rho_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
T mu_from_rho_T_template(const T &density, const T &temperature) const
static const std::string pressure
Definition: NS.h:56

◆ mu_from_rho_T() [1/2]

Real Water97FluidProperties::mu_from_rho_T ( Real  density,
Real  temperature 
) const
overridevirtual

Definition at line 305 of file Water97FluidProperties.C.

Referenced by mu_from_p_T(), and rho_mu_from_p_T().

306 {
308 }
static const std::string density
Definition: NS.h:33
static const std::string temperature
Definition: NS.h:59
T mu_from_rho_T_template(const T &density, const T &temperature) const

◆ mu_from_rho_T() [2/2]

void Water97FluidProperties::mu_from_rho_T ( Real  rho,
Real  temperature,
Real  drho_dT,
Real mu,
Real dmu_drho,
Real dmu_dT 
) const

Definition at line 311 of file Water97FluidProperties.C.

317 {
318  const Real mu_star = 1.0e-6;
319  const Real rhobar = density / _rho_critical;
320  const Real Tbar = temperature / _T_critical;
321  const Real drhobar_drho = 1.0 / _rho_critical;
322  const Real dTbar_dT = 1.0 / _T_critical;
323 
324  // Limit of zero density. Derivative wrt rho is 0
325  Real sum0 = 0.0, dsum0_dTbar = 0.0;
326  for (std::size_t i = 0; i < _mu_H0.size(); ++i)
327  {
328  sum0 += _mu_H0[i] / MathUtils::pow(Tbar, i);
329  dsum0_dTbar -= i * _mu_H0[i] / MathUtils::pow(Tbar, i + 1);
330  }
331 
332  const Real mu0 = 100.0 * std::sqrt(Tbar) / sum0;
333  const Real dmu0_dTbar =
334  50.0 / std::sqrt(Tbar) / sum0 - 100.0 * std::sqrt(Tbar) * dsum0_dTbar / sum0 / sum0;
335 
336  // Residual component due to finite density
337  Real sum1 = 0.0, dsum1_drhobar = 0.0, dsum1_dTbar = 0.0;
338  for (unsigned int i = 0; i < 6; ++i)
339  {
340  const Real fact = MathUtils::pow(1.0 / Tbar - 1.0, i);
341  const Real dfact_dTbar = i * MathUtils::pow(1.0 / Tbar - 1.0, i - 1) / Tbar / Tbar;
342 
343  for (unsigned int j = 0; j < 7; ++j)
344  {
345  sum1 += fact * _mu_Hij[i][j] * MathUtils::pow(rhobar - 1.0, j);
346  dsum1_dTbar -= dfact_dTbar * _mu_Hij[i][j] * MathUtils::pow(rhobar - 1.0, j);
347  dsum1_drhobar += j * fact * _mu_Hij[i][j] * MathUtils::pow(rhobar - 1.0, j - 1);
348  }
349  }
350 
351  const Real mu1 = std::exp(rhobar * sum1);
352  const Real dmu1_drhobar = (sum1 + rhobar * dsum1_drhobar) * mu1;
353  const Real dmu1_dTbar = (rhobar * dsum1_dTbar) * mu1;
354 
355  // Viscosity and its derivatives are then
356  mu = mu_star * mu0 * mu1;
357  dmu_drho = mu_star * mu0 * dmu1_drhobar * drhobar_drho;
358  dmu_dT = mu_star * (dmu0_dTbar * mu1 + mu0 * dmu1_dTbar) * dTbar_dT + dmu_drho * ddensity_dT;
359 }
const Real _T_critical
Critical temperature (K)
static const std::string density
Definition: NS.h:33
const std::array< std::array< Real, 7 >, 6 > _mu_Hij
static const std::string temperature
Definition: NS.h:59
static const std::string mu
Definition: NS.h:123
const Real _rho_critical
Critical density (kg/m^3)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
T pow(T x, int e)
const std::array< Real, 4 > _mu_H0
Constants from Release on the IAPWS Formulation 2008 for the Viscosity of Ordinary Water Substance...

◆ mu_from_rho_T_template()

template<typename T >
T Water97FluidProperties::mu_from_rho_T_template ( const T density,
const T temperature 
) const

Definition at line 2459 of file Water97FluidProperties.h.

Referenced by mu_from_p_T_template(), mu_from_rho_T(), and mu_from_v_e().

2460 {
2461  const T mu_star = 1.e-6;
2462  const T rhobar = density / _rho_critical;
2463  const T Tbar = temperature / _T_critical;
2464 
2465  // Viscosity in limit of zero density
2466  T sum0 = 0.0;
2467  for (std::size_t i = 0; i < _mu_H0.size(); ++i)
2468  sum0 += _mu_H0[i] / MathUtils::pow(Tbar, i);
2469 
2470  const T mu0 = 100.0 * std::sqrt(Tbar) / sum0;
2471 
2472  // Residual component due to finite density
2473  T sum1 = 0.0;
2474  for (unsigned int i = 0; i < 6; ++i)
2475  {
2476  const T fact = MathUtils::pow(1.0 / Tbar - 1.0, i);
2477  for (unsigned int j = 0; j < 7; ++j)
2478  sum1 += fact * _mu_Hij[i][j] * MathUtils::pow(rhobar - 1.0, j);
2479  }
2480 
2481  const T mu1 = std::exp(rhobar * sum1);
2482 
2483  // The water viscosity (in Pa.s) is then given by
2484  return mu_star * mu0 * mu1;
2485 }
const Real _T_critical
Critical temperature (K)
static const std::string density
Definition: NS.h:33
const std::array< std::array< Real, 7 >, 6 > _mu_Hij
static const std::string temperature
Definition: NS.h:59
const Real _rho_critical
Critical density (kg/m^3)
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
T pow(T x, int e)
const std::array< Real, 4 > _mu_H0
Constants from Release on the IAPWS Formulation 2008 for the Viscosity of Ordinary Water Substance...

◆ mu_from_v_e()

ADReal Water97FluidProperties::mu_from_v_e ( const ADReal v,
const ADReal e 
) const
override

Definition at line 362 of file Water97FluidProperties.C.

363 {
364  const auto [rho, T] = rho_T_from_v_e(v, e);
365  return mu_from_rho_T_template(rho, T);
366 }
std::pair< T, T > rho_T_from_v_e(const T &v, const T &e) const
Computes the density (first member of the pair) and temperature (second member of the pair) as functi...
T mu_from_rho_T_template(const T &density, const T &temperature) const

◆ p_from_v_e() [1/2]

Real Water97FluidProperties::p_from_v_e ( Real  v,
Real  e 
) const
override

Definition at line 139 of file Water97FluidProperties.C.

Referenced by p_T_from_v_e(), and rho_T_from_v_e().

140 {
141  return p_from_v_e_template(v, e);
142 }
T p_from_v_e_template(const T &v, const T &e) const

◆ p_from_v_e() [2/2]

ADReal Water97FluidProperties::p_from_v_e ( const ADReal v,
const ADReal e 
) const
override

Definition at line 145 of file Water97FluidProperties.C.

146 {
147  return p_from_v_e_template(v, e);
148 }
T p_from_v_e_template(const T &v, const T &e) const

◆ p_from_v_e_template()

template<typename T >
T Water97FluidProperties::p_from_v_e_template ( const T v,
const T e 
) const

Definition at line 2424 of file Water97FluidProperties.h.

Referenced by p_from_v_e().

2425 {
2426  const auto rho = 1 / v;
2427  // For NewtonSolve
2428  // y = e
2429  // x = rho
2430  // z = p
2431  auto lambda = [this](const T & rho, const T & p, T & e, T & de_drho, T & de_dp)
2432  { e_from_p_rho(p, rho, e, de_dp, de_drho); };
2434  rho, e, _p_initial_guess, _tolerance, lambda, name() + "::p_from_v_e")
2435  .first;
2436 }
virtual const std::string & name() const
std::pair< T, T > NewtonSolve(const T &x, const T &y, const Real z_initial_guess, const Real tolerance, const Functor &func, const std::string &caller_name, const unsigned int max_its=100)
NewtonSolve does a 1D Newton Solve to solve the equation y = f(x, z) for variable z...
const Real _tolerance
Newton&#39;s method may be used to convert between variable sets.
virtual Real e_from_p_rho(Real p, Real rho) const override
const Real _p_initial_guess
Initial guess for pressure (or pressure used to compute the initial guess)

◆ p_T_from_h_s()

template<typename T >
void SinglePhaseFluidProperties::p_T_from_h_s ( const T h,
const T s,
Real  p0,
Real  T0,
T pressure,
T temperature,
bool &  conversion_succeeded 
) const
inherited

Determines (p,T) from (h,s) using Newton Solve in 2D Useful for conversion between different sets of state variables.

Parameters
[in]hspecific enthalpy (J / kg)
[in]sspecific entropy (J/K*kg)
[in]p0initial guess for pressure (Pa / kg)
[in]T0initial guess for temperature (K)
[out]fluidpressure (Pa / kg)
[out]Temperature(K)

Definition at line 575 of file SinglePhaseFluidProperties.h.

Referenced by TabulatedFluidProperties::T_from_h_s().

582 {
583  auto h_lambda = [&](const T & pressure, const T & temperature, T & new_h, T & dh_dp, T & dh_dT)
584  { h_from_p_T(pressure, temperature, new_h, dh_dp, dh_dT); };
585  auto s_lambda = [&](const T & pressure, const T & temperature, T & new_s, T & ds_dp, T & ds_dT)
586  { s_from_p_T(pressure, temperature, new_s, ds_dp, ds_dT); };
587  try
588  {
590  h, s, p0, T0, pressure, temperature, _tolerance, _tolerance, h_lambda, s_lambda);
591  conversion_succeeded = true;
592  }
593  catch (MooseException &)
594  {
595  conversion_succeeded = false;
596  }
597 
598  if (!conversion_succeeded)
599  mooseDoOnce(mooseWarning("Conversion from (h, s)=(", h, ", ", s, ") to (p, T) failed"));
600 }
static const std::string temperature
Definition: NS.h:59
void mooseWarning(Args &&... args) const
const Real _tolerance
Newton&#39;s method may be used to convert between variable sets.
e e e e s T T T T T rho v v T e h
void NewtonSolve2D(const T &f, const T &g, const Real x0, const Real y0, T &x_final, T &y_final, const Real f_tol, const Real g_tol, const Functor1 &func1, const Functor2 &func2, const unsigned int max_its=100)
NewtonSolve2D does a 2D Newton Solve to solve for the x and y such that: f = func1(x, y) and g = func2(x, y).
static const std::string pressure
Definition: NS.h:56

◆ p_T_from_v_e() [1/2]

template<typename CppType >
void SinglePhaseFluidProperties::p_T_from_v_e ( const CppType &  v,
const CppType &  e,
Real  p0,
Real  T0,
CppType &  p,
CppType &  T,
bool &  conversion_succeeded 
) const
inherited

Determines (p,T) from (v,e) using Newton Solve in 2D Useful for conversion between different sets of state variables.

Parameters
[in]vspecific volume (m^3 / kg)
[in]especific internal energy (J / kg)
[in]p0initial guess for pressure (Pa / kg)
[in]T0initial guess for temperature (K)
[out]fluidpressure (Pa / kg)
[out]Temperature(K)

Definition at line 511 of file SinglePhaseFluidProperties.h.

Referenced by TabulatedBicubicFluidProperties::constructInterpolation(), TemperaturePressureFunctionFluidProperties::cp_from_v_e(), TemperaturePressureFunctionFluidProperties::cv_from_v_e(), TabulatedFluidProperties::g_from_v_e(), TemperaturePressureFunctionFluidProperties::k_from_v_e(), TemperaturePressureFunctionFluidProperties::mu_from_v_e(), and TemperaturePressureFunctionFluidProperties::T_from_v_e().

518 {
519  auto v_lambda = [&](const CppType & pressure,
520  const CppType & temperature,
521  CppType & new_v,
522  CppType & dv_dp,
523  CppType & dv_dT) { v_from_p_T(pressure, temperature, new_v, dv_dp, dv_dT); };
524  auto e_lambda = [&](const CppType & pressure,
525  const CppType & temperature,
526  CppType & new_e,
527  CppType & de_dp,
528  CppType & de_dT) { e_from_p_T(pressure, temperature, new_e, de_dp, de_dT); };
529  try
530  {
532  v, e, p0, T0, p, T, _tolerance, _tolerance, v_lambda, e_lambda);
533  conversion_succeeded = true;
534  }
535  catch (MooseException &)
536  {
537  conversion_succeeded = false;
538  }
539 
540  if (!conversion_succeeded)
541  mooseDoOnce(mooseWarning("Conversion from (v, e)=(", v, ", ", e, ") to (p, T) failed"));
542 }
static const std::string temperature
Definition: NS.h:59
void mooseWarning(Args &&... args) const
const Real _tolerance
Newton&#39;s method may be used to convert between variable sets.
void NewtonSolve2D(const T &f, const T &g, const Real x0, const Real y0, T &x_final, T &y_final, const Real f_tol, const Real g_tol, const Functor1 &func1, const Functor2 &func2, const unsigned int max_its=100)
NewtonSolve2D does a 2D Newton Solve to solve for the x and y such that: f = func1(x, y) and g = func2(x, y).
static const std::string pressure
Definition: NS.h:56

◆ p_T_from_v_e() [2/2]

template<typename T >
std::pair< T, T > Water97FluidProperties::p_T_from_v_e ( const T v,
const T e 
) const

Computes the pressure (first member of the pair) and temperature (second member of the pair) as functions of specific volume and specific internal energy.

Definition at line 2190 of file Water97FluidProperties.h.

Referenced by c_from_v_e(), cp_from_v_e(), cv_from_v_e(), k_from_v_e_template(), and T_from_v_e().

2191 {
2192  const auto rho = 1 / v;
2193  const auto p = p_from_v_e(v, e);
2194  return {p, T_drhodT_from_p_rho(p, rho).first};
2195 }
Real p_from_v_e(Real v, Real e) const override
std::pair< T, T > T_drhodT_from_p_rho(const T &p, const T &rho) const
Computes the temperature (first member of the pair) and the derivative of density (second member of t...

◆ p_T_from_v_h() [1/3]

template<typename T >
void SinglePhaseFluidProperties::p_T_from_v_h ( const T v,
const T h,
Real  p0,
Real  T0,
T pressure,
T temperature,
bool &  conversion_succeeded 
) const
inherited

Determines (p,T) from (v,h) using Newton Solve in 2D Useful for conversion between different sets of state variables.

Parameters
[in]vspecific volume (m^3 / kg)
[in]hspecific enthalpy (J / kg)
[in]p0initial guess for pressure (Pa / kg)
[in]T0initial guess for temperature (K)
[out]fluidpressure (Pa / kg)
[out]Temperature(K)

Definition at line 546 of file SinglePhaseFluidProperties.h.

Referenced by TabulatedBicubicFluidProperties::constructInterpolation().

553 {
554  auto v_lambda = [&](const T & pressure, const T & temperature, T & new_v, T & dv_dp, T & dv_dT)
555  { v_from_p_T(pressure, temperature, new_v, dv_dp, dv_dT); };
556  auto h_lambda = [&](const T & pressure, const T & temperature, T & new_h, T & dh_dp, T & dh_dT)
557  { h_from_p_T(pressure, temperature, new_h, dh_dp, dh_dT); };
558  try
559  {
561  v, h, p0, T0, pressure, temperature, _tolerance, _tolerance, v_lambda, h_lambda);
562  conversion_succeeded = true;
563  }
564  catch (MooseException &)
565  {
566  conversion_succeeded = false;
567  }
568 
569  if (!conversion_succeeded)
570  mooseDoOnce(mooseWarning("Conversion from (v, h)=(", v, ", ", h, ") to (p, T) failed"));
571 }
static const std::string temperature
Definition: NS.h:59
void mooseWarning(Args &&... args) const
const Real _tolerance
Newton&#39;s method may be used to convert between variable sets.
e e e e s T T T T T rho v v T e h
void NewtonSolve2D(const T &f, const T &g, const Real x0, const Real y0, T &x_final, T &y_final, const Real f_tol, const Real g_tol, const Functor1 &func1, const Functor2 &func2, const unsigned int max_its=100)
NewtonSolve2D does a 2D Newton Solve to solve for the x and y such that: f = func1(x, y) and g = func2(x, y).
static const std::string pressure
Definition: NS.h:56

◆ p_T_from_v_h() [2/3]

template<typename T >
std::pair< T, T > Water97FluidProperties::p_T_from_v_h ( const T v,
const T h 
) const

Computes the pressure (first member of the pair) and temperature (second member of the pair) as functions of specific volume and specific enthalpy.

Definition at line 2489 of file Water97FluidProperties.h.

Referenced by e_from_v_h().

2490 {
2492  bool conversion_succeeded;
2493  p_T_from_v_h(
2494  v, h, _p_initial_guess, _T_initial_guess, pressure, temperature, conversion_succeeded);
2495  return {std::move(pressure), std::move(temperature)};
2496 }
static const std::string temperature
Definition: NS.h:59
std::pair< T, T > p_T_from_v_h(const T &v, const T &h) const
Computes the pressure (first member of the pair) and temperature (second member of the pair) as funct...
e e e e s T T T T T rho v v T e h
static const std::string pressure
Definition: NS.h:56
const Real _p_initial_guess
Initial guess for pressure (or pressure used to compute the initial guess)
const Real _T_initial_guess
Initial guess for temperature (or temperature used to compute the initial guess)

◆ p_T_from_v_h() [3/3]

template<typename T >
void SinglePhaseFluidProperties::p_T_from_v_h ( typename T  )

Determines (p,T) from (v,h) using Newton Solve in 2D Useful for conversion between different sets of state variables.

Parameters
[in]vspecific volume (m^3 / kg)
[in]hspecific enthalpy (J / kg)
[in]p0initial guess for pressure (Pa / kg)
[in]T0initial guess for temperature (K)
[out]fluidpressure (Pa / kg)
[out]Temperature(K)

Definition at line 546 of file SinglePhaseFluidProperties.h.

553 {
554  auto v_lambda = [&](const T & pressure, const T & temperature, T & new_v, T & dv_dp, T & dv_dT)
555  { v_from_p_T(pressure, temperature, new_v, dv_dp, dv_dT); };
556  auto h_lambda = [&](const T & pressure, const T & temperature, T & new_h, T & dh_dp, T & dh_dT)
557  { h_from_p_T(pressure, temperature, new_h, dh_dp, dh_dT); };
558  try
559  {
561  v, h, p0, T0, pressure, temperature, _tolerance, _tolerance, v_lambda, h_lambda);
562  conversion_succeeded = true;
563  }
564  catch (MooseException &)
565  {
566  conversion_succeeded = false;
567  }
568 
569  if (!conversion_succeeded)
570  mooseDoOnce(mooseWarning("Conversion from (v, h)=(", v, ", ", h, ") to (p, T) failed"));
571 }
static const std::string temperature
Definition: NS.h:59
virtual Real h_from_p_T(Real pressure, Real temperature) const override
void mooseWarning(Args &&... args) const
const Real _tolerance
Newton&#39;s method may be used to convert between variable sets.
e e e e s T T T T T rho v v T e h
void NewtonSolve2D(const T &f, const T &g, const Real x0, const Real y0, T &x_final, T &y_final, const Real f_tol, const Real g_tol, const Functor1 &func1, const Functor2 &func2, const unsigned int max_its=100)
NewtonSolve2D does a 2D Newton Solve to solve for the x and y such that: f = func1(x, y) and g = func2(x, y).
virtual Real v_from_p_T(Real pressure, Real temperature) const override
static const std::string pressure
Definition: NS.h:56

◆ phi3()

template<typename T >
T Water97FluidProperties::phi3 ( const T delta,
const T tau 
) const
protected

Helmholtz free energy in Region 3.

From Eq. (28) From Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam, IAPWS 2007.

Parameters
deltareduced density (-)
taureduced temperature (-)
Returns
Helmholtz free energy (-)

Definition at line 1731 of file Water97FluidProperties.h.

1732 {
1733  T sum = 0.0;
1734  for (std::size_t i = 1; i < _n3.size(); ++i)
1735  sum += _n3[i] * MathUtils::pow(delta, _I3[i]) * MathUtils::pow(tau, _J3[i]);
1736 
1737  return _n3[0] * std::log(delta) + sum;
1738 }
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
const std::array< int, 40 > _J3
const std::array< int, 40 > _I3
T pow(T x, int e)
const std::array< Real, 40 > _n3
Constants for region 3.

◆ propfunc() [1/12]

SinglePhaseFluidProperties::propfunc ( p  ,
v  ,
 
)
inherited

Compute a fluid property given for the state defined by two given properties.

For all functions, the first two arguments are the given properties that define the fluid state. For the two-argument variants, the desired property is the return value. The five-argument variants also provide partial derivatives dx/da and dx/db where x is the desired property being computed, a is the first given property, and b is the second given property. The desired property, dx/da, and dx/db are stored into the 3rd, 4th, and 5th arguments respectively.

Properties/parameters used in these function are listed below with their units:

p pressure [Pa] T temperature [K] e specific internal energy [J/kg] v specific volume [m^3/kg] rho density [kg/m^3] h specific enthalpy [J/kg] s specific entropy [J/(kg*K)] mu viscosity [Pa*s] k thermal conductivity [W/(m*K)] c speed of sound [m/s] cp constant-pressure specific heat [J/K] cv constant-volume specific heat [J/K] beta volumetric thermal expansion coefficient [1/K] g Gibbs free energy [J] pp_sat partial pressure at saturation [Pa] gamma Adiabatic ratio (cp/cv) [-]

As an example:

// calculate pressure given specific vol and energy: auto pressure = your_fluid_properties_object.p_from_v_e(specific_vol, specific_energy);

// or use the derivative variant: Real dp_dv = 0; // derivative will be stored into here Real dp_de = 0; // derivative will be stored into here your_fluid_properties_object.p_from_v_e(specific_vol, specific_energy, pressure, dp_dv, dp_de);

Automatic differentiation (AD) support is provided through x_from_a_b(ADReal a, ADReal b) and x_from_a_b(ADReal a, ADReal b, ADReal x, ADReal dx_da, ADReal dx_db) versions of the functions where a and b must be ADReal/DualNumber's calculated using all AD-supporting values:

auto v = 1/rho; // rho must be an AD non-linear variable. auto e = rhoE/rho - vel_energy; // rhoE and vel_energy must be AD variables/numbers also. auto pressure = your_fluid_properties_object.p_from_v_e(v, e); // pressure now contains partial derivatives w.r.t. all degrees of freedom

◆ propfunc() [2/12]

e SinglePhaseFluidProperties::propfunc ( c  ,
v  ,
 
)
inherited

◆ propfunc() [3/12]

e e SinglePhaseFluidProperties::propfunc ( cv  ,
v  ,
 
)
inherited

◆ propfunc() [4/12]

e e e SinglePhaseFluidProperties::propfunc ( ,
v  ,
 
)
inherited

◆ propfunc() [5/12]

e e e e SinglePhaseFluidProperties::propfunc ( ,
h  ,
p   
)
inherited

◆ propfunc() [6/12]

e e e e s SinglePhaseFluidProperties::propfunc ( ,
v  ,
h   
)
inherited

◆ propfunc() [7/12]

e e e e s T SinglePhaseFluidProperties::propfunc ( pp_sat  ,
p  ,
T   
)
inherited

◆ propfunc() [8/12]

e e e e s T T SinglePhaseFluidProperties::propfunc ( ,
rho  ,
T   
)
inherited

◆ propfunc() [9/12]

e e e e s T T T T T SinglePhaseFluidProperties::propfunc ( rho  ,
p  ,
T   
)
inherited

◆ propfunc() [10/12]

e e e e s T T T T T rho SinglePhaseFluidProperties::propfunc ( ,
T  ,
v   
)
inherited

◆ propfunc() [11/12]

e e e e s T T T T T rho v SinglePhaseFluidProperties::propfunc ( h  ,
T  ,
v   
)
inherited

◆ propfunc() [12/12]

e e e e s T T T T T rho v v SinglePhaseFluidProperties::propfunc ( cv  ,
T  ,
v   
)
inherited

◆ propfuncWithDefault() [1/7]

e e e e s T T T SinglePhaseFluidProperties::propfuncWithDefault ( cp  ,
p  ,
T   
)
inherited

◆ propfuncWithDefault() [2/7]

e e e e s T T T T SinglePhaseFluidProperties::propfuncWithDefault ( mu  ,
p  ,
T   
)
inherited

◆ propfuncWithDefault() [3/7]

e e e e s T T T T T rho v v T SinglePhaseFluidProperties::propfuncWithDefault ( h  ,
v  ,
 
)
inherited

◆ propfuncWithDefault() [4/7]

e e e e s T T T T T rho v v T e SinglePhaseFluidProperties::propfuncWithDefault ( p  ,
h  ,
 
)
inherited

◆ propfuncWithDefault() [5/7]

e e e e s T T T T T rho v v T e p SinglePhaseFluidProperties::propfuncWithDefault ( T  ,
p  ,
h   
)
inherited

◆ propfuncWithDefault() [6/7]

e e e e s T T T T T rho v v T e p T SinglePhaseFluidProperties::propfuncWithDefault ( v  ,
p  ,
T   
)
inherited

◆ propfuncWithDefault() [7/7]

e e e e s T T T T T rho v v T e p T T SinglePhaseFluidProperties::propfuncWithDefault ( gamma  ,
v  ,
 
)
inherited

◆ propfuncWithDefinitionOverride()

Water97FluidProperties::propfuncWithDefinitionOverride ( ,
p  ,
T   
)

◆ rho_e_from_p_T()

void SinglePhaseFluidProperties::rho_e_from_p_T ( Real  p,
Real  T,
Real rho,
Real drho_dp,
Real drho_dT,
Real e,
Real de_dp,
Real de_dT 
) const
virtualinherited

Definition at line 434 of file SinglePhaseFluidProperties.C.

442 {
443  rho_from_p_T(p, T, rho, drho_dp, drho_dT);
444  e_from_p_T(p, T, e, de_dp, de_dT);
445 }

◆ rho_from_p_T() [1/4]

Real Water97FluidProperties::rho_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtual

Definition at line 81 of file Water97FluidProperties.C.

Referenced by k_from_p_T_template(), mu_from_p_T(), and rho_mu_from_p_T().

82 {
84 }
T rho_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56

◆ rho_from_p_T() [2/4]

ADReal Water97FluidProperties::rho_from_p_T ( const ADReal pressure,
const ADReal temperature 
) const
overridevirtual

Definition at line 87 of file Water97FluidProperties.C.

88 {
90 }
T rho_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56

◆ rho_from_p_T() [3/4]

void Water97FluidProperties::rho_from_p_T ( Real  pressure,
Real  temperature,
Real rho,
Real drho_dp,
Real drho_dT 
) const
overridevirtual

Definition at line 93 of file Water97FluidProperties.C.

95 {
96  rho_from_p_T_template(pressure, temperature, rho, drho_dp, drho_dT);
97 }
T rho_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56

◆ rho_from_p_T() [4/4]

void Water97FluidProperties::rho_from_p_T ( const ADReal pressure,
const ADReal temperature,
ADReal rho,
ADReal drho_dp,
ADReal drho_dT 
) const
overridevirtual

Definition at line 100 of file Water97FluidProperties.C.

105 {
106  rho_from_p_T_template(pressure, temperature, rho, drho_dp, drho_dT);
107 }
T rho_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56

◆ rho_from_p_T_template() [1/2]

template<typename T >
T Water97FluidProperties::rho_from_p_T_template ( const T pressure,
const T temperature 
) const

Definition at line 2557 of file Water97FluidProperties.h.

Referenced by mu_from_p_T_template(), rho_from_p_T(), rho_from_p_T_template(), T_drhodT_from_p_rho(), and v_from_p_T_template().

2558 {
2559  T density, pi, tau;
2560 
2561  // Determine which region the point is in
2562  unsigned int region =
2564 
2565  switch (region)
2566  {
2567  case 1:
2568  pi = pressure / _p_star[0];
2569  tau = _T_star[0] / temperature;
2570  density = pressure / (pi * _Rw * temperature * dgamma1_dpi(pi, tau));
2571  break;
2572 
2573  case 2:
2574  pi = pressure / _p_star[1];
2575  tau = _T_star[1] / temperature;
2576  density = pressure / (pi * _Rw * temperature * dgamma2_dpi(pi, tau));
2577  break;
2578 
2579  case 3:
2581  break;
2582 
2583  case 5:
2584  pi = pressure / _p_star[4];
2585  tau = _T_star[4] / temperature;
2586  density = pressure / (pi * _Rw * temperature * dgamma5_dpi(pi, tau));
2587  break;
2588 
2589  default:
2590  mooseError("inRegion() has given an incorrect region");
2591  }
2592  return density;
2593 }
unsigned int inRegion(Real pressure, Real temperature) const
Determines the phase region that the given pressure and temperature values lie in.
static const std::string density
Definition: NS.h:33
auto raw_value(const Eigen::Map< T > &in)
static const std::string temperature
Definition: NS.h:59
const std::array< Real, 5 > _p_star
Pressure scale for each region.
const std::array< Real, 5 > _T_star
Temperature scale for each region.
T dgamma2_dpi(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 2 wrt pi.
T dgamma1_dpi(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 1 wrt pi.
T dgamma5_dpi(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 5 wrt pi.
T densityRegion3(const T &pressure, const T &temperature) const
Density function for Region 3 - supercritical water and steam.
static const std::string pressure
Definition: NS.h:56
void mooseError(Args &&... args) const
const Real _Rw
Specific gas constant for H2O (universal gas constant / molar mass of water - J/kg/K) ...
const Real pi

◆ rho_from_p_T_template() [2/2]

template<typename T >
void Water97FluidProperties::rho_from_p_T_template ( const T pressure,
const T temperature,
T rho,
T drho_dp,
T drho_dt 
) const

Definition at line 2005 of file Water97FluidProperties.h.

2007 {
2008  auto functor = [this](const auto & pressure, const auto & temperature)
2009  { return this->rho_from_p_T_template(pressure, temperature); };
2010 
2011  xyDerivatives(pressure, temperature, rho, drho_dp, drho_dT, functor);
2012 }
T rho_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static void xyDerivatives(const T x, const T &y, T &z, T &dz_dx, T &dz_dy, const Functor &z_from_x_y)
Computes the dependent variable z and its derivatives with respect to the independent variables x and...
static const std::string pressure
Definition: NS.h:56

◆ rho_mu_from_p_T() [1/3]

void Water97FluidProperties::rho_mu_from_p_T ( Real  p,
Real  T,
Real rho,
Real mu 
) const
overridevirtual

Combined methods.

These methods are particularly useful for the PorousFlow module, where density and viscosity are typically both computed everywhere. The combined methods allow the most efficient means of calculating both properties, especially where rho(p, T) and mu(rho, T). In this case, an extra density calculation would be required to calculate mu(p, T). All property names are described above.

Reimplemented from SinglePhaseFluidProperties.

Definition at line 369 of file Water97FluidProperties.C.

373 {
375  mu = this->mu_from_rho_T(rho, temperature);
376 }
static const std::string temperature
Definition: NS.h:59
static const std::string mu
Definition: NS.h:123
static const std::string pressure
Definition: NS.h:56
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
virtual Real mu_from_rho_T(Real density, Real temperature) const override

◆ rho_mu_from_p_T() [2/3]

void Water97FluidProperties::rho_mu_from_p_T ( Real  pressure,
Real  temperature,
Real rho,
Real drho_dp,
Real drho_dT,
Real mu,
Real dmu_dp,
Real dmu_dT 
) const
overridevirtual

Reimplemented from SinglePhaseFluidProperties.

Definition at line 379 of file Water97FluidProperties.C.

387 {
388  this->rho_from_p_T(pressure, temperature, rho, drho_dp, drho_dT);
389  Real dmu_drho;
390  this->mu_from_rho_T(rho, temperature, drho_dT, mu, dmu_drho, dmu_dT);
391  dmu_dp = dmu_drho * drho_dp;
392 }
static const std::string temperature
Definition: NS.h:59
static const std::string mu
Definition: NS.h:123
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
virtual Real mu_from_rho_T(Real density, Real temperature) const override

◆ rho_mu_from_p_T() [3/3]

void SinglePhaseFluidProperties::rho_mu_from_p_T ( const ADReal p,
const ADReal T,
ADReal rho,
ADReal mu 
) const
virtualinherited

Definition at line 469 of file SinglePhaseFluidProperties.C.

473 {
474  rho = rho_from_p_T(p, T);
475  mu = mu_from_p_T(p, T);
476 }
static const std::string mu
Definition: NS.h:123

◆ rho_T_from_v_e()

template<typename T >
std::pair< T, T > Water97FluidProperties::rho_T_from_v_e ( const T v,
const T e 
) const

Computes the density (first member of the pair) and temperature (second member of the pair) as functions of specific volume and specific internal energy.

Definition at line 2199 of file Water97FluidProperties.h.

Referenced by mu_from_v_e().

2200 {
2201  const auto rho = 1 / v;
2202  const auto p = p_from_v_e(v, e);
2203  return {rho, T_drhodT_from_p_rho(p, rho).first};
2204 }
Real p_from_v_e(Real v, Real e) const override
std::pair< T, T > T_drhodT_from_p_rho(const T &p, const T &rho) const
Computes the temperature (first member of the pair) and the derivative of density (second member of t...

◆ s_from_h_p() [1/3]

Real Water97FluidProperties::s_from_h_p ( Real  enthalpy,
Real  pressure 
) const
overridevirtual

Definition at line 450 of file Water97FluidProperties.C.

451 {
452  Real T = T_from_p_h(pressure, enthalpy);
453  return s_from_p_T(pressure, T);
454 }
virtual Real T_from_p_h(Real pressure, Real enthalpy) const override
Backwards equation T(p, h) From Revised Release on the IAPWS Industrial Formulation 1997 for the Ther...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56

◆ s_from_h_p() [2/3]

ADReal Water97FluidProperties::s_from_h_p ( const ADReal enthalpy,
const ADReal pressure 
) const
overridevirtual

Definition at line 457 of file Water97FluidProperties.C.

458 {
460  return s_from_p_T_template(pressure, temperature);
461 }
static const std::string temperature
Definition: NS.h:59
DualNumber< Real, DNDerivativeType, true > ADReal
ADReal T_from_p_h_ad(const ADReal &pressure, const ADReal &enthalpy) const
AD version of backwards equation T(p, h) (used internally) From Revised Release on the IAPWS Industri...
static const std::string pressure
Definition: NS.h:56

◆ s_from_h_p() [3/3]

void Water97FluidProperties::s_from_h_p ( Real  enthalpy,
Real  pressure,
Real s,
Real ds_dh,
Real ds_dp 
) const
overridevirtual

Definition at line 464 of file Water97FluidProperties.C.

466 {
467  ADReal p = pressure;
468  Moose::derivInsert(p.derivatives(), 0, 1.0);
469 
470  ADReal h = enthalpy;
471  Moose::derivInsert(h.derivatives(), 1, 1.0);
472 
473  ADReal T = T_from_p_h_ad(p, h);
474  ADReal entropy = s_from_p_T_template(p, T);
475 
476  ds_dh = entropy.derivatives()[1];
477  ds_dp = entropy.derivatives()[0];
478  s = entropy.value();
479 }
DualNumber< Real, DNDerivativeType, true > ADReal
e e e e s T T T T T rho v v T e h
ADReal T_from_p_h_ad(const ADReal &pressure, const ADReal &enthalpy) const
AD version of backwards equation T(p, h) (used internally) From Revised Release on the IAPWS Industri...
static const std::string pressure
Definition: NS.h:56
void derivInsert(SemiDynamicSparseNumberArray< Real, libMesh::dof_id_type, NWrapper< N >> &derivs, libMesh::dof_id_type index, Real value)

◆ subdomainSetup()

virtual void FluidProperties::subdomainSetup ( )
inlinefinalvirtualinherited

Reimplemented from ThreadedGeneralUserObject.

Definition at line 38 of file FluidProperties.h.

38 {}

◆ subregion2ph()

unsigned int Water97FluidProperties::subregion2ph ( Real  pressure,
Real  enthalpy 
) const
protected

Provides the correct subregion index for a (P,h) point in region 2.

From Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam

Parameters
pressurewater pressure (Pa)
enthalpywater enthalpy (J/kg)
Returns
subregion index

Definition at line 666 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

667 {
668  unsigned int subregion;
669 
670  if (pressure <= 4.0e6)
671  subregion = 1;
672  else if (pressure > 4.0e6 && pressure < 6.5467e6)
673  subregion = 2;
674  else
675  {
676  if (enthalpy >= b2bc(pressure))
677  subregion = 2;
678  else
679  subregion = 3;
680  }
681 
682  return subregion;
683 }
Real b2bc(Real pressure) const
Boundary between subregions b and c in region 2.
static const std::string pressure
Definition: NS.h:56

◆ subregion3()

unsigned int Water97FluidProperties::subregion3 ( Real  pressure,
Real  temperature 
) const

Provides the correct subregion index for a (P,T) point in region 3.

From Revised Supplementary Release on Backward Equations for Specific Volume as a Function of Pressure and Temperature v(p,T) for Region 3 of the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam

Parameters
pressurewater pressure (Pa)
temperaturewater temperature (K)
Returns
subregion index

Definition at line 990 of file Water97FluidProperties.C.

Referenced by densityRegion3().

991 {
992  Real pMPa = pressure / 1.0e6;
993  const Real P3cd = 19.00881189173929;
994  unsigned int subregion = 0;
995 
996  if (pMPa > 40.0 && pMPa <= 100.0)
997  {
998  if (temperature <= tempXY(pressure, AB))
999  subregion = 0;
1000  else // (temperature > tempXY(pressure, AB))
1001  subregion = 1;
1002  }
1003  else if (pMPa > 25.0 && pMPa <= 40.0)
1004  {
1005  if (temperature <= tempXY(pressure, CD))
1006  subregion = 2;
1007  else if (temperature > tempXY(pressure, CD) && temperature <= tempXY(pressure, AB))
1008  subregion = 3;
1009  else if (temperature > tempXY(pressure, AB) && temperature <= tempXY(pressure, EF))
1010  subregion = 4;
1011  else // (temperature > tempXY(pressure, EF))
1012  subregion = 5;
1013  }
1014  else if (pMPa > 23.5 && pMPa <= 25.0)
1015  {
1016  if (temperature <= tempXY(pressure, CD))
1017  subregion = 2;
1018  else if (temperature > tempXY(pressure, CD) && temperature <= tempXY(pressure, GH))
1019  subregion = 6;
1020  else if (temperature > tempXY(pressure, GH) && temperature <= tempXY(pressure, EF))
1021  subregion = 7;
1022  else if (temperature > tempXY(pressure, EF) && temperature <= tempXY(pressure, IJ))
1023  subregion = 8;
1024  else if (temperature > tempXY(pressure, IJ) && temperature <= tempXY(pressure, JK))
1025  subregion = 9;
1026  else // (temperature > tempXY(pressure, JK))
1027  subregion = 10;
1028  }
1029  else if (pMPa > 23.0 && pMPa <= 23.5)
1030  {
1031  if (temperature <= tempXY(pressure, CD))
1032  subregion = 2;
1033  else if (temperature > tempXY(pressure, CD) && temperature <= tempXY(pressure, GH))
1034  subregion = 11;
1035  else if (temperature > tempXY(pressure, GH) && temperature <= tempXY(pressure, EF))
1036  subregion = 7;
1037  else if (temperature > tempXY(pressure, EF) && temperature <= tempXY(pressure, IJ))
1038  subregion = 8;
1039  else if (temperature > tempXY(pressure, IJ) && temperature <= tempXY(pressure, JK))
1040  subregion = 9;
1041  else // (temperature > tempXY(pressure, JK))
1042  subregion = 10;
1043  }
1044  else if (pMPa > 22.5 && pMPa <= 23.0)
1045  {
1046  if (temperature <= tempXY(pressure, CD))
1047  subregion = 2;
1048  else if (temperature > tempXY(pressure, CD) && temperature <= tempXY(pressure, GH))
1049  subregion = 11;
1050  else if (temperature > tempXY(pressure, GH) && temperature <= tempXY(pressure, MN))
1051  subregion = 12;
1052  else if (temperature > tempXY(pressure, MN) && temperature <= tempXY(pressure, EF))
1053  subregion = 13;
1054  else if (temperature > tempXY(pressure, EF) && temperature <= tempXY(pressure, OP))
1055  subregion = 14;
1056  else if (temperature > tempXY(pressure, OP) && temperature <= tempXY(pressure, IJ))
1057  subregion = 15;
1058  else if (temperature > tempXY(pressure, IJ) && temperature <= tempXY(pressure, JK))
1059  subregion = 9;
1060  else // (temperature > tempXY(pressure, JK))
1061  subregion = 10;
1062  }
1063  else if (pMPa > vaporPressure(643.15) * 1.0e-6 &&
1064  pMPa <= 22.5) // vaporPressure(643.15) = 21.04 MPa
1065  {
1066  if (temperature <= tempXY(pressure, CD))
1067  subregion = 2;
1068  else if (temperature > tempXY(pressure, CD) && temperature <= tempXY(pressure, QU))
1069  subregion = 16;
1070  else if (temperature > tempXY(pressure, QU) && temperature <= tempXY(pressure, RX))
1071  {
1072  if (pMPa > 22.11 && pMPa <= 22.5)
1073  {
1074  if (temperature <= tempXY(pressure, UV))
1075  subregion = 20;
1076  else if (temperature > tempXY(pressure, UV) && temperature <= tempXY(pressure, EF))
1077  subregion = 21;
1078  else if (temperature > tempXY(pressure, EF) && temperature <= tempXY(pressure, WX))
1079  subregion = 22;
1080  else // (temperature > tempXY(pressure, WX) && temperature <= tempXY(pressure, RX))
1081  subregion = 23;
1082  }
1083  else if (pMPa > 22.064 && pMPa <= 22.11)
1084  {
1085  if (temperature <= tempXY(pressure, UV))
1086  subregion = 20;
1087  else if (temperature > tempXY(pressure, UV) && temperature <= tempXY(pressure, EF))
1088  subregion = 24;
1089  else if (temperature > tempXY(pressure, EF) && temperature <= tempXY(pressure, WX))
1090  subregion = 25;
1091  else // (temperature > tempXY(pressure, WX) && temperature <= tempXY(pressure, RX))
1092  subregion = 23;
1093  }
1094  else if (temperature <= vaporTemperature(pressure))
1095  {
1096  if (pMPa > 21.93161551 && pMPa <= 22.064)
1098  subregion = 20;
1099  else
1100  subregion = 24;
1101  else // (pMPa > vaporPressure(643.15) * 1.0e-6 && pMPa <= 21.93161551)
1102  subregion = 20;
1103  }
1105  {
1106  if (pMPa > 21.90096265 && pMPa <= 22.064)
1107  {
1108  if (temperature <= tempXY(pressure, WX))
1109  subregion = 25;
1110  else
1111  subregion = 23;
1112  }
1113  else
1114  subregion = 23;
1115  }
1116  }
1117  else if (temperature > tempXY(pressure, RX) && temperature <= tempXY(pressure, JK))
1118  subregion = 17;
1119  else
1120  subregion = 10;
1121  }
1122  else if (pMPa > 20.5 &&
1123  pMPa <= vaporPressure(643.15) * 1.0e-6) // vaporPressure(643.15) = 21.04 MPa
1124  {
1125  if (temperature <= tempXY(pressure, CD))
1126  subregion = 2;
1128  subregion = 16;
1130  subregion = 17;
1131  else // (temperature > tempXY(pressure, JK))
1132  subregion = 10;
1133  }
1134  else if (pMPa > P3cd && pMPa <= 20.5) // P3cd = 19.00881189173929
1135  {
1136  if (temperature <= tempXY(pressure, CD))
1137  subregion = 2;
1139  subregion = 18;
1140  else
1141  subregion = 19;
1142  }
1143  else if (pMPa > vaporPressure(623.15) * 1.0e-6 && pMPa <= P3cd)
1144  {
1146  subregion = 2;
1147  else
1148  subregion = 19;
1149  }
1150  else if (pMPa > 22.11 && pMPa <= 22.5)
1151  {
1153  subregion = 20;
1154  else if (temperature > tempXY(pressure, UV) && temperature <= tempXY(pressure, EF))
1155  subregion = 21;
1156  else if (temperature > tempXY(pressure, EF) && temperature <= tempXY(pressure, WX))
1157  subregion = 22;
1158  else // (temperature > tempXY(pressure, WX) && temperature <= tempXY(pressure, RX))
1159  subregion = 23;
1160  }
1161  else if (pMPa > 22.064 && pMPa <= 22.11)
1162  {
1164  subregion = 20;
1165  else if (temperature > tempXY(pressure, UV) && temperature <= tempXY(pressure, EF))
1166  subregion = 24;
1167  else if (temperature > tempXY(pressure, EF) && temperature <= tempXY(pressure, WX))
1168  subregion = 25;
1169  else // (temperature > tempXY(pressure, WX) && temperature <= tempXY(pressure, RX))
1170  subregion = 23;
1171  }
1172  else
1173  mooseError("subregion3(): Shouldn't have got here!");
1174 
1175  return subregion;
1176 }
T tempXY(const T &pressure, subregionEnum xy) const
Boundaries between subregions in region 3.
Real vaporTemperature(Real pressure) const override
Saturation temperature as a function of pressure.
static const std::string temperature
Definition: NS.h:59
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56
virtual Real vaporPressure(Real temperature) const override
Vapor pressure.
void mooseError(Args &&... args) const

◆ subregion3ph()

unsigned int Water97FluidProperties::subregion3ph ( Real  pressure,
Real  enthalpy 
) const
protected

Provides the correct subregion index for a (P,h) point in region 3.

From Revised Supplementary Release on Backward Equations for the Functions T(p,h), v(p,h) and T(p,s), v(p,s) for Region 3 of the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam

Parameters
pressurewater pressure (Pa)
enthalpywater enthalpy (J/kg)
Returns
subregion index

Definition at line 686 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

687 {
688  unsigned int subregion;
689 
690  if (enthalpy <= b3ab(pressure))
691  subregion = 1;
692  else
693  subregion = 2;
694 
695  return subregion;
696 }
Real b3ab(Real pressure) const
Boundary between subregions a and b in region 3.
static const std::string pressure
Definition: NS.h:56

◆ subregionVolume()

template<typename T >
T Water97FluidProperties::subregionVolume ( const T pi,
const T theta,
Real  a,
Real  b,
Real  c,
Real  d,
Real  e,
unsigned int  sid 
) const

Specific volume in all subregions of region 3 EXCEPT subregion n (13).

Parameters
piscaled water pressure
thetascaled water temperature
ato e constants
sidsubregion ID of the subregion
Returns
volume water specific volume (m^3/kg)

Definition at line 2161 of file Water97FluidProperties.h.

Referenced by densityRegion3().

2163 {
2164  T sum = 0.0;
2165 
2166  for (std::size_t i = 0; i < _n3s[sid].size(); ++i)
2167  sum += _n3s[sid][i] * MathUtils::pow(std::pow(pi - a, c), _I3s[sid][i]) *
2168  MathUtils::pow(std::pow(theta - b, d), _J3s[sid][i]);
2169 
2170  return std::pow(sum, e);
2171 }
const std::vector< std::vector< Real > > _n3s
Constants for all 26 subregions in region 3.
const std::vector< std::vector< int > > _I3s
const std::vector< std::vector< int > > _J3s
T pow(T x, int e)
MooseUnits pow(const MooseUnits &, int)

◆ T_drhodT_from_p_rho()

template<typename T >
std::pair< T, T > Water97FluidProperties::T_drhodT_from_p_rho ( const T p,
const T rho 
) const
private

Computes the temperature (first member of the pair) and the derivative of density (second member of the pair) with respect to temperature as a function of pressure and density.

Definition at line 2175 of file Water97FluidProperties.h.

Referenced by e_from_p_rho_template(), p_T_from_v_e(), and rho_T_from_v_e().

2176 {
2177  // For NewtonSolve
2178  // y = rho
2179  // x = p
2180  // z = T
2181  auto lambda =
2182  [this](const T & p, const T & temperature, T & rho, T & drho_dp, T & drho_dtemperature)
2183  { rho_from_p_T_template(p, temperature, rho, drho_dp, drho_dtemperature); };
2185  p, rho, _T_initial_guess, _tolerance, lambda, name() + "::T_drhodT_from_p_rho");
2186 }
T rho_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
virtual const std::string & name() const
std::pair< T, T > NewtonSolve(const T &x, const T &y, const Real z_initial_guess, const Real tolerance, const Functor &func, const std::string &caller_name, const unsigned int max_its=100)
NewtonSolve does a 1D Newton Solve to solve the equation y = f(x, z) for variable z...
const Real _tolerance
Newton&#39;s method may be used to convert between variable sets.
const Real _T_initial_guess
Initial guess for temperature (or temperature used to compute the initial guess)

◆ T_from_p_h() [1/3]

Real Water97FluidProperties::T_from_p_h ( Real  pressure,
Real  enthalpy 
) const
overridevirtual

Backwards equation T(p, h) From Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam.

Parameters
pressurewater pressure (Pa)
enthalpywater enthalpy (J/kg)
Returns
temperature water temperature (K)

Definition at line 712 of file Water97FluidProperties.C.

Referenced by s_from_h_p().

713 {
714  const ADReal p = pressure;
715  const ADReal h = enthalpy;
716 
717  return T_from_p_h_ad(p, h).value();
718 }
DualNumber< Real, DNDerivativeType, true > ADReal
e e e e s T T T T T rho v v T e h
ADReal T_from_p_h_ad(const ADReal &pressure, const ADReal &enthalpy) const
AD version of backwards equation T(p, h) (used internally) From Revised Release on the IAPWS Industri...
static const std::string pressure
Definition: NS.h:56

◆ T_from_p_h() [2/3]

void Water97FluidProperties::T_from_p_h ( Real  p,
Real  h,
Real T,
Real dT_dp,
Real dT_dh 
) const
overridevirtual

Definition at line 721 of file Water97FluidProperties.C.

723 {
724  ADReal p = pressure;
725  Moose::derivInsert(p.derivatives(), 0, 1.0);
726  ADReal h = enthalpy;
727  Moose::derivInsert(h.derivatives(), 1, 1.0);
728 
729  const ADReal T = T_from_p_h_ad(p, h);
730 
731  temperature = T.value();
732  dT_dp = T.derivatives()[0];
733  dT_dh = T.derivatives()[1];
734 }
static const std::string temperature
Definition: NS.h:59
DualNumber< Real, DNDerivativeType, true > ADReal
e e e e s T T T T T rho v v T e h
ADReal T_from_p_h_ad(const ADReal &pressure, const ADReal &enthalpy) const
AD version of backwards equation T(p, h) (used internally) From Revised Release on the IAPWS Industri...
static const std::string pressure
Definition: NS.h:56
void derivInsert(SemiDynamicSparseNumberArray< Real, libMesh::dof_id_type, NWrapper< N >> &derivs, libMesh::dof_id_type index, Real value)

◆ T_from_p_h() [3/3]

ADReal Water97FluidProperties::T_from_p_h ( const ADReal pressure,
const ADReal enthalpy 
) const
overridevirtual

Definition at line 737 of file Water97FluidProperties.C.

738 {
739  return T_from_p_h_ad(pressure, enthalpy);
740 }
ADReal T_from_p_h_ad(const ADReal &pressure, const ADReal &enthalpy) const
AD version of backwards equation T(p, h) (used internally) From Revised Release on the IAPWS Industri...
static const std::string pressure
Definition: NS.h:56

◆ T_from_p_h_ad()

ADReal Water97FluidProperties::T_from_p_h_ad ( const ADReal pressure,
const ADReal enthalpy 
) const
protected

AD version of backwards equation T(p, h) (used internally) From Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam.

Parameters
pressurewater pressure (Pa)
enthalpywater enthalpy (J/kg)
Returns
temperature water temperature (K)

Definition at line 743 of file Water97FluidProperties.C.

Referenced by s_from_h_p(), and T_from_p_h().

744 {
745  ADReal temperature = 0.0;
746 
747  // Determine which region the point is in
748  const unsigned int region = inRegionPH(pressure.value(), enthalpy.value());
749 
750  switch (region)
751  {
752  case 1:
754  break;
755 
756  case 2:
757  {
758  // First, determine which subregion the point is in:
759  const unsigned int subregion = subregion2ph(pressure.value(), enthalpy.value());
760 
761  if (subregion == 1)
763  else if (subregion == 2)
765  else
767  break;
768  }
769 
770  case 3:
771  {
772  // First, determine which subregion the point is in:
773  const unsigned int subregion = subregion3ph(pressure.value(), enthalpy.value());
774 
775  if (subregion == 1)
777  else
779  break;
780  }
781 
782  case 5:
783  mooseError("temperature_from_ph() not implemented for region 5");
784  break;
785 
786  default:
787  mooseError("inRegionPH() has given an incorrect region");
788  }
789 
790  return temperature;
791 }
ADReal temperature_from_ph3b(const ADReal &pressure, const ADReal &enthalpy) const
Backwards equation T(p, h) in Region 3b Eq.
ADReal temperature_from_ph3a(const ADReal &pressure, const ADReal &enthalpy) const
Backwards equation T(p, h) in Region 3a Eq.
ADReal temperature_from_ph2b(const ADReal &pressure, const ADReal &enthalpy) const
Backwards equation T(p, h) in Region 2b Eq.
static const std::string temperature
Definition: NS.h:59
DualNumber< Real, DNDerivativeType, true > ADReal
unsigned int subregion2ph(Real pressure, Real enthalpy) const
Provides the correct subregion index for a (P,h) point in region 2.
ADReal temperature_from_ph2a(const ADReal &pressure, const ADReal &enthalpy) const
Backwards equation T(p, h) in Region 2a Eq.
ADReal temperature_from_ph1(const ADReal &pressure, const ADReal &enthalpy) const
Backwards equation T(p, h) in Region 1 Eq.
unsigned int subregion3ph(Real pressure, Real enthalpy) const
Provides the correct subregion index for a (P,h) point in region 3.
static const std::string pressure
Definition: NS.h:56
void mooseError(Args &&... args) const
unsigned int inRegionPH(Real pressure, Real enthalpy) const
Determines the phase region that the given pressure and enthaply values lie in.
ADReal temperature_from_ph2c(const ADReal &pressure, const ADReal &enthalpy) const
Backwards equation T(p, h) in Region 2c Eq.

◆ T_from_v_e() [1/2]

Real Water97FluidProperties::T_from_v_e ( Real  v,
Real  e 
) const
override

Definition at line 213 of file Water97FluidProperties.C.

214 {
215  return p_T_from_v_e(v, e).second;
216 }
std::pair< T, T > p_T_from_v_e(const T &v, const T &e) const
Computes the pressure (first member of the pair) and temperature (second member of the pair) as funct...

◆ T_from_v_e() [2/2]

ADReal Water97FluidProperties::T_from_v_e ( const ADReal v,
const ADReal e 
) const
override

Definition at line 219 of file Water97FluidProperties.C.

220 {
221  return p_T_from_v_e(v, e).second;
222 }
std::pair< T, T > p_T_from_v_e(const T &v, const T &e) const
Computes the pressure (first member of the pair) and temperature (second member of the pair) as funct...

◆ temperature_from_ph1()

ADReal Water97FluidProperties::temperature_from_ph1 ( const ADReal pressure,
const ADReal enthalpy 
) const
protected

Backwards equation T(p, h) in Region 1 Eq.

(11) from Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam

Parameters
pressurewater pressure (Pa)
enthalpywater enthalpy (J/kg)
Returns
temperature water temperature (K)

Definition at line 794 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

795 {
796  const ADReal pi = pressure / 1.0e6;
797  const ADReal eta = enthalpy / 2500.0e3;
798  ADReal sum = 0.0;
799 
800  for (std::size_t i = 0; i < _nph1.size(); ++i)
801  sum += _nph1[i] * std::pow(pi, _Iph1[i]) * std::pow(eta + 1.0, _Jph1[i]);
802 
803  return sum;
804 }
const std::array< int, 20 > _Iph1
DualNumber< Real, DNDerivativeType, true > ADReal
const std::array< int, 20 > _Jph1
const std::array< Real, 20 > _nph1
static const std::string pressure
Definition: NS.h:56
MooseUnits pow(const MooseUnits &, int)
const Real pi

◆ temperature_from_ph2a()

ADReal Water97FluidProperties::temperature_from_ph2a ( const ADReal pressure,
const ADReal enthalpy 
) const
protected

Backwards equation T(p, h) in Region 2a Eq.

(22) from Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam

Parameters
pressurewater pressure (Pa)
enthalpywater enthalpy (J/kg)
Returns
temperature water temperature (K)

Definition at line 807 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

809 {
810  const ADReal pi = pressure / 1.0e6;
811  const ADReal eta = enthalpy / 2000.0e3;
812  ADReal sum = 0.0;
813 
814  // Factor out the negative in std::pow(eta - 2.1, _Jph2a[i]) to avoid fpe in dbg (see #13163)
815  const Real sgn = MathUtils::sign(eta.value() - 2.1);
816 
817  for (std::size_t i = 0; i < _nph2a.size(); ++i)
818  sum += _nph2a[i] * std::pow(pi, _Iph2a[i]) * std::pow(std::abs(eta - 2.1), _Jph2a[i]) *
819  std::pow(sgn, _Jph2a[i]);
820 
821  return sum;
822 }
const std::array< Real, 36 > _nph2a
const std::array< int, 36 > _Jph2a
int sgn(T val)
The sign function.
Definition: Numerics.h:41
DualNumber< Real, DNDerivativeType, true > ADReal
const std::array< int, 36 > _Iph2a
T sign(T x)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56
MooseUnits pow(const MooseUnits &, int)
const Real pi

◆ temperature_from_ph2b()

ADReal Water97FluidProperties::temperature_from_ph2b ( const ADReal pressure,
const ADReal enthalpy 
) const
protected

Backwards equation T(p, h) in Region 2b Eq.

(23) from Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam

Parameters
pressurewater pressure (Pa)
enthalpywater enthalpy (J/kg)
Returns
temperature water temperature (K)

Definition at line 825 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

827 {
828  const ADReal pi = pressure / 1.0e6;
829  const ADReal eta = enthalpy / 2000.0e3;
830  ADReal sum = 0.0;
831 
832  // Factor out the negatives in std::pow(pi - 2.0, _Iph2b[i])* std::pow(eta - 2.6, _Jph2b[i])
833  // to avoid fpe in dbg (see #13163)
834  const Real sgn0 = MathUtils::sign(pi.value() - 2.0);
835  const Real sgn1 = MathUtils::sign(eta.value() - 2.6);
836 
837  for (std::size_t i = 0; i < _nph2b.size(); ++i)
838  sum += _nph2b[i] * std::pow(std::abs(pi - 2.0), _Iph2b[i]) * std::pow(sgn0, _Iph2b[i]) *
839  std::pow(std::abs(eta - 2.6), _Jph2b[i]) * std::pow(sgn1, _Jph2b[i]);
840 
841  return sum;
842 }
const std::array< Real, 38 > _nph2b
DualNumber< Real, DNDerivativeType, true > ADReal
const std::array< int, 38 > _Jph2b
T sign(T x)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::array< int, 38 > _Iph2b
static const std::string pressure
Definition: NS.h:56
MooseUnits pow(const MooseUnits &, int)
const Real pi

◆ temperature_from_ph2c()

ADReal Water97FluidProperties::temperature_from_ph2c ( const ADReal pressure,
const ADReal enthalpy 
) const
protected

Backwards equation T(p, h) in Region 2c Eq.

(24) from Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam

Parameters
pressurewater pressure (Pa)
enthalpywater enthalpy (J/kg)
Returns
temperature water temperature (K)

Definition at line 845 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

847 {
848  const ADReal pi = pressure / 1.0e6;
849  const ADReal eta = enthalpy / 2000.0e3;
850  ADReal sum = 0.0;
851 
852  // Factor out the negative in std::pow(eta - 1.8, _Jph2c[i]) to avoid fpe in dbg (see #13163)
853  const Real sgn = MathUtils::sign(eta.value() - 1.8);
854 
855  for (std::size_t i = 0; i < _nph2c.size(); ++i)
856  sum += _nph2c[i] * std::pow(pi + 25.0, _Iph2c[i]) * std::pow(std::abs(eta - 1.8), _Jph2c[i]) *
857  std::pow(sgn, _Jph2c[i]);
858 
859  return sum;
860 }
const std::array< int, 23 > _Jph2c
int sgn(T val)
The sign function.
Definition: Numerics.h:41
DualNumber< Real, DNDerivativeType, true > ADReal
const std::array< int, 23 > _Iph2c
T sign(T x)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56
const std::array< Real, 23 > _nph2c
MooseUnits pow(const MooseUnits &, int)
const Real pi

◆ temperature_from_ph3a()

ADReal Water97FluidProperties::temperature_from_ph3a ( const ADReal pressure,
const ADReal enthalpy 
) const
protected

Backwards equation T(p, h) in Region 3a Eq.

(2) from Revised Supplementary Release on Backward Equations for the Functions T(p,h), v(p,h) and T(p,s), v(p,s) for Region 3 of the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam

Parameters
pressurewater pressure (Pa)
enthalpywater enthalpy (J/kg)
Returns
temperature water temperature (K)

Definition at line 878 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

880 {
881  const ADReal pi = pressure / 100.0e6;
882  const ADReal eta = enthalpy / 2300.0e3;
883  ADReal sum = 0.0;
884 
885  for (std::size_t i = 0; i < _nph3a.size(); ++i)
886  sum += _nph3a[i] * std::pow(pi + 0.24, _Iph3a[i]) * std::pow(eta - 0.615, _Jph3a[i]);
887 
888  return sum * 760.0;
889 }
DualNumber< Real, DNDerivativeType, true > ADReal
const std::array< int, 31 > _Jph3a
const std::array< int, 31 > _Iph3a
const std::array< Real, 31 > _nph3a
static const std::string pressure
Definition: NS.h:56
MooseUnits pow(const MooseUnits &, int)
const Real pi

◆ temperature_from_ph3b()

ADReal Water97FluidProperties::temperature_from_ph3b ( const ADReal pressure,
const ADReal enthalpy 
) const
protected

Backwards equation T(p, h) in Region 3b Eq.

(3) from Revised Supplementary Release on Backward Equations for the Functions T(p,h), v(p,h) and T(p,s), v(p,s) for Region 3 of the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam

Parameters
pressurewater pressure (Pa)
enthalpywater enthalpy (J/kg)
Returns
temperature water temperature (K)

Definition at line 892 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

894 {
895  const ADReal pi = pressure / 100.0e6;
896  const ADReal eta = enthalpy / 2800.0e3;
897  ADReal sum = 0.0;
898 
899  for (std::size_t i = 0; i < _nph3b.size(); ++i)
900  sum += _nph3b[i] * std::pow(pi + 0.298, _Iph3b[i]) * std::pow(eta - 0.72, _Jph3b[i]);
901 
902  return sum * 860.0;
903 }
const std::array< int, 33 > _Jph3b
const std::array< Real, 33 > _nph3b
const std::array< int, 33 > _Iph3b
DualNumber< Real, DNDerivativeType, true > ADReal
static const std::string pressure
Definition: NS.h:56
MooseUnits pow(const MooseUnits &, int)
const Real pi

◆ tempXY()

template<typename T >
T Water97FluidProperties::tempXY ( const T pressure,
subregionEnum  xy 
) const
protected

Boundaries between subregions in region 3.

From Revised Supplementary Release on Backward Equations for Specific Volume as a Function of Pressure and Temperature v(p,T) for Region 3 of the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam

Parameters
pressurewater pressure (Pa)
xystring to select the boundary between two subregions
Returns
temperature (K) along the boundary

Definition at line 1901 of file Water97FluidProperties.h.

Referenced by subregion3().

1902 {
1903  T pi = pressure / 1.0e6;
1904 
1905  // Choose the constants based on the string xy
1906  unsigned int row;
1907 
1908  switch (xy)
1909  {
1910  case AB:
1911  row = 0;
1912  break;
1913  case CD:
1914  row = 1;
1915  break;
1916  case GH:
1917  row = 2;
1918  break;
1919  case IJ:
1920  row = 3;
1921  break;
1922  case JK:
1923  row = 4;
1924  break;
1925  case MN:
1926  row = 5;
1927  break;
1928  case OP:
1929  row = 6;
1930  break;
1931  case QU:
1932  row = 7;
1933  break;
1934  case RX:
1935  row = 8;
1936  break;
1937  case UV:
1938  row = 9;
1939  break;
1940  case WX:
1941  row = 10;
1942  break;
1943  default:
1944  row = 0;
1945  }
1946 
1947  T sum = 0.0;
1948 
1949  if (xy == AB || xy == OP || xy == WX)
1950  for (std::size_t i = 0; i < _tempXY_n[row].size(); ++i)
1951  sum += _tempXY_n[row][i] * MathUtils::pow(std::log(pi), _tempXY_I[row][i]);
1952  else if (xy == EF)
1953  sum += 3.727888004 * (pi - _p_critical / 1.0e6) + _T_critical;
1954  else
1955  for (std::size_t i = 0; i < _tempXY_n[row].size(); ++i)
1956  sum += _tempXY_n[row][i] * MathUtils::pow(pi, _tempXY_I[row][i]);
1957 
1958  return sum;
1959 }
const Real _T_critical
Critical temperature (K)
const Real _p_critical
Critical pressure (Pa)
const std::vector< std::vector< Real > > _tempXY_n
static const std::string pressure
Definition: NS.h:56
T pow(T x, int e)
const Real pi
const std::vector< std::vector< int > > _tempXY_I
Constnats for the tempXY() method.

◆ threadJoin()

virtual void FluidProperties::threadJoin ( const UserObject )
inlinefinalvirtualinherited

Reimplemented from ThreadedGeneralUserObject.

Definition at line 37 of file FluidProperties.h.

37 {}

◆ triplePointPressure()

Real Water97FluidProperties::triplePointPressure ( ) const
overridevirtual

Triple point pressure.

Returns
triple point pressure (Pa)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 69 of file Water97FluidProperties.C.

70 {
71  return _p_triple;
72 }
const Real _p_triple
Triple point pressure (Pa)

◆ triplePointTemperature()

Real Water97FluidProperties::triplePointTemperature ( ) const
overridevirtual

Triple point temperature.

Returns
triple point temperature (K)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 75 of file Water97FluidProperties.C.

76 {
77  return _T_triple;
78 }
const Real _T_triple
Triple point temperature (K)

◆ v_e_from_p_T() [1/2]

template<typename CppType >
void SinglePhaseFluidProperties::v_e_from_p_T ( const CppType &  p,
const CppType &  T,
CppType &  v,
CppType &  e 
) const
inherited

Definition at line 604 of file SinglePhaseFluidProperties.h.

608 {
609  const CppType rho = rho_from_p_T(p, T);
610  v = 1.0 / rho;
611  try
612  {
613  // more likely to not involve a Newton search
614  e = e_from_p_T(p, T);
615  }
616  catch (...)
617  {
618  e = e_from_p_rho(p, rho);
619  }
620 }

◆ v_e_from_p_T() [2/2]

template<typename CppType >
void SinglePhaseFluidProperties::v_e_from_p_T ( const CppType &  p,
const CppType &  T,
CppType &  v,
CppType &  dv_dp,
CppType &  dv_dT,
CppType &  e,
CppType &  de_dp,
CppType &  de_dT 
) const
inherited

Definition at line 624 of file SinglePhaseFluidProperties.h.

632 {
633  CppType rho, drho_dp, drho_dT;
634  rho_from_p_T(p, T, rho, drho_dp, drho_dT);
635 
636  v = 1.0 / rho;
637  const CppType dv_drho = -1.0 / (rho * rho);
638  dv_dp = dv_drho * drho_dp;
639  dv_dT = dv_drho * drho_dT;
640 
641  CppType de_dp_partial, de_drho;
642  e_from_p_rho(p, rho, e, de_dp_partial, de_drho);
643  de_dp = de_dp_partial + de_drho * drho_dp;
644  de_dT = de_drho * drho_dT;
645 }

◆ v_e_spndl_from_T()

void SinglePhaseFluidProperties::v_e_spndl_from_T ( Real  T,
Real v,
Real e 
) const
virtualinherited

Specific internal energy from temperature and specific volume.

Parameters
[in]Ttemperature
[in]vspecific volume

Reimplemented in IdealGasFluidProperties, CaloricallyImperfectGas, and StiffenedGasFluidProperties.

Definition at line 485 of file SinglePhaseFluidProperties.C.

486 {
487  mooseError(__PRETTY_FUNCTION__, " not implemented.");
488 }
void mooseError(Args &&... args) const

◆ v_from_p_T() [1/4]

Real Water97FluidProperties::v_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtual

Definition at line 110 of file Water97FluidProperties.C.

111 {
113 }
T v_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56

◆ v_from_p_T() [2/4]

ADReal Water97FluidProperties::v_from_p_T ( const ADReal pressure,
const ADReal temperature 
) const
overridevirtual

Definition at line 116 of file Water97FluidProperties.C.

117 {
119 }
T v_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56

◆ v_from_p_T() [3/4]

void Water97FluidProperties::v_from_p_T ( Real  pressure,
Real  temperature,
Real v,
Real dv_dp,
Real dv_dT 
) const
overridevirtual

Definition at line 122 of file Water97FluidProperties.C.

124 {
125  v_from_p_T_template(pressure, temperature, v, dv_dp, dv_dT);
126 }
T v_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56

◆ v_from_p_T() [4/4]

void Water97FluidProperties::v_from_p_T ( const ADReal pressure,
const ADReal temperature,
ADReal v,
ADReal dv_dp,
ADReal dv_dT 
) const
overridevirtual

Definition at line 129 of file Water97FluidProperties.C.

134 {
135  v_from_p_T_template(pressure, temperature, v, dv_dp, dv_dT);
136 }
T v_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56

◆ v_from_p_T_template() [1/2]

template<typename T >
T Water97FluidProperties::v_from_p_T_template ( const T pressure,
const T temperature 
) const

Definition at line 2016 of file Water97FluidProperties.h.

Referenced by v_from_p_T(), and v_from_p_T_template().

2017 {
2019 }
T rho_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static const std::string pressure
Definition: NS.h:56

◆ v_from_p_T_template() [2/2]

template<typename T >
void Water97FluidProperties::v_from_p_T_template ( const T pressure,
const T temperature,
T v,
T dv_dp,
T dv_dt 
) const

Definition at line 2023 of file Water97FluidProperties.h.

2025 {
2026  auto functor = [this](const auto & pressure, const auto & temperature)
2027  { return this->v_from_p_T_template(pressure, temperature); };
2028 
2029  xyDerivatives(pressure, temperature, v, dv_dp, dv_dT, functor);
2030 }
T v_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:59
static void xyDerivatives(const T x, const T &y, T &z, T &dz_dx, T &dz_dy, const Functor &z_from_x_y)
Computes the dependent variable z and its derivatives with respect to the independent variables x and...
static const std::string pressure
Definition: NS.h:56

◆ validParams()

InputParameters Water97FluidProperties::validParams ( )
static

Definition at line 17 of file Water97FluidProperties.C.

18 {
20  params.addClassDescription("Fluid properties for water and steam (H2O) using IAPWS-IF97");
21  return params;
22 }
static InputParameters validParams()
void addClassDescription(const std::string &doc_string)

◆ vaporPressure() [1/3]

Real Water97FluidProperties::vaporPressure ( Real  T) const
overridevirtual

Vapor pressure.

Used to delineate liquid and gas phases. Valid for temperatures between the triple point temperature and the critical temperature

Parameters
Tfluid temperature (K)
[out]saturationpressure (Pa)
[out]derivativeof saturation pressure wrt temperature (Pa/K)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 521 of file Water97FluidProperties.C.

Referenced by inRegion(), inRegionPH(), and subregion3().

522 {
523  // Check whether the input temperature is within the region of validity of this equation.
524  // Valid for 273.15 K <= t <= 647.096 K
525  if (temperature < 273.15 || temperature > _T_critical)
526  mooseException(name(),
527  ": vaporPressure(): Temperature ",
528  temperature,
529  " is outside range 273.15 K <= T "
530  "<= 647.096 K");
531 
532  Real theta, theta2, a, b, c, p;
533  theta = temperature + _n4[8] / (temperature - _n4[9]);
534  theta2 = theta * theta;
535  a = theta2 + _n4[0] * theta + _n4[1];
536  b = _n4[2] * theta2 + _n4[3] * theta + _n4[4];
537  c = _n4[5] * theta2 + _n4[6] * theta + _n4[7];
538  p = Utility::pow<4>(2.0 * c / (-b + std::sqrt(b * b - 4.0 * a * c)));
539 
540  return p * 1.e6;
541 }
const Real _T_critical
Critical temperature (K)
static const std::string temperature
Definition: NS.h:59
virtual const std::string & name() const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::array< Real, 10 > _n4
Constants for region 4 (the saturation curve up to the critical point)

◆ vaporPressure() [2/3]

void Water97FluidProperties::vaporPressure ( Real  temperature,
Real psat,
Real dpsat_dT 
) const
inlineoverridevirtual

Reimplemented from SinglePhaseFluidProperties.

Definition at line 1998 of file Water97FluidProperties.h.

1999 {
2000  vaporPressureTemplate(temperature, psat, dpsat_dT);
2001 }
void vaporPressureTemplate(const T &temperature, T &psat, T &dpsat_dT) const
static const std::string temperature
Definition: NS.h:59

◆ vaporPressure() [3/3]

ADReal SinglePhaseFluidProperties::vaporPressure ( const ADReal T) const
virtualinherited

Definition at line 389 of file SinglePhaseFluidProperties.C.

390 {
391  Real p = 0.0;
392  Real temperature = T.value();
393  Real dpdT = 0.0;
394 
395  vaporPressure(temperature, p, dpdT);
396 
397  ADReal result = p;
398  result.derivatives() = T.derivatives() * dpdT;
399 
400  return result;
401 }
static const std::string temperature
Definition: NS.h:59
DualNumber< Real, DNDerivativeType, true > ADReal
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real vaporPressure(Real T) const
Vapor pressure.

◆ vaporPressureTemplate()

template<typename T >
void Water97FluidProperties::vaporPressureTemplate ( const T temperature,
T psat,
T dpsat_dT 
) const

Definition at line 1963 of file Water97FluidProperties.h.

Referenced by vaporPressure().

1964 {
1965  // Check whether the input temperature is within the region of validity of this equation.
1966  // Valid for 273.15 K <= t <= 647.096 K
1967  if (temperature < 273.15 || temperature > _T_critical)
1968  mooseException(name(),
1969  ": vaporPressure(): Temperature is outside range 273.15 K <= T <= 647.096 K");
1970 
1971  T theta, dtheta_dT, theta2, a, b, c, da_dtheta, db_dtheta, dc_dtheta;
1972  theta = temperature + _n4[8] / (temperature - _n4[9]);
1973  dtheta_dT = 1.0 - _n4[8] / (temperature - _n4[9]) / (temperature - _n4[9]);
1974  theta2 = theta * theta;
1975 
1976  a = theta2 + _n4[0] * theta + _n4[1];
1977  b = _n4[2] * theta2 + _n4[3] * theta + _n4[4];
1978  c = _n4[5] * theta2 + _n4[6] * theta + _n4[7];
1979 
1980  da_dtheta = 2.0 * theta + _n4[0];
1981  db_dtheta = 2.0 * _n4[2] * theta + _n4[3];
1982  dc_dtheta = 2.0 * _n4[5] * theta + _n4[6];
1983 
1984  T denominator = -b + std::sqrt(b * b - 4.0 * a * c);
1985 
1986  psat = Utility::pow<4>(2.0 * c / denominator) * 1.0e6;
1987 
1988  // The derivative wrt temperature is given by the chain rule
1989  T dpsat = 4.0 * Utility::pow<3>(2.0 * c / denominator);
1990  dpsat *= (2.0 * dc_dtheta / denominator -
1991  2.0 * c / denominator / denominator *
1992  (-db_dtheta + std::pow(b * b - 4.0 * a * c, -0.5) *
1993  (b * db_dtheta - 2.0 * da_dtheta * c - 2.0 * a * dc_dtheta)));
1994  dpsat_dT = dpsat * dtheta_dT * 1.0e6;
1995 }
const Real _T_critical
Critical temperature (K)
static const std::string temperature
Definition: NS.h:59
virtual const std::string & name() const
MooseUnits pow(const MooseUnits &, int)
const std::array< Real, 10 > _n4
Constants for region 4 (the saturation curve up to the critical point)

◆ vaporTemperature() [1/3]

Real Water97FluidProperties::vaporTemperature ( Real  pressure) const
overridevirtual

Saturation temperature as a function of pressure.

Eq. (31) from Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam

Valid for 611.213 Pa <= p <= 22.064 MPa

Parameters
pressurewater pressure (Pa)
Returns
saturation temperature (K)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 564 of file Water97FluidProperties.C.

Referenced by inRegionPH(), and subregion3().

565 {
566  const ADReal p = pressure;
567 
568  return vaporTemperature_ad(p).value();
569 }
ADReal vaporTemperature_ad(const ADReal &pressure) const
AD version of saturation temperature as a function of pressure (used internally)
DualNumber< Real, DNDerivativeType, true > ADReal
static const std::string pressure
Definition: NS.h:56

◆ vaporTemperature() [2/3]

void Water97FluidProperties::vaporTemperature ( Real  pressure,
Real Tsat,
Real dTsat_dp 
) const
overridevirtual

Reimplemented from SinglePhaseFluidProperties.

Definition at line 572 of file Water97FluidProperties.C.

573 {
574  ADReal p = pressure;
575  Moose::derivInsert(p.derivatives(), 0, 1.0);
576 
577  const ADReal T = vaporTemperature_ad(p);
578 
579  Tsat = T.value();
580  dTsat_dp = T.derivatives()[0];
581 }
ADReal vaporTemperature_ad(const ADReal &pressure) const
AD version of saturation temperature as a function of pressure (used internally)
DualNumber< Real, DNDerivativeType, true > ADReal
static const std::string pressure
Definition: NS.h:56
void derivInsert(SemiDynamicSparseNumberArray< Real, libMesh::dof_id_type, NWrapper< N >> &derivs, libMesh::dof_id_type index, Real value)

◆ vaporTemperature() [3/3]

ADReal SinglePhaseFluidProperties::vaporTemperature ( const ADReal p) const
virtualinherited

Definition at line 419 of file SinglePhaseFluidProperties.C.

420 {
421  Real T = 0.0;
422  Real pressure = p.value();
423  Real dTdp = 0.0;
424 
425  vaporTemperature(pressure, T, dTdp);
426 
427  ADReal result = T;
428  result.derivatives() = p.derivatives() * dTdp;
429 
430  return result;
431 }
DualNumber< Real, DNDerivativeType, true > ADReal
virtual Real vaporTemperature(Real p) const
Vapor temperature.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56

◆ vaporTemperature_ad()

ADReal Water97FluidProperties::vaporTemperature_ad ( const ADReal pressure) const
protected

AD version of saturation temperature as a function of pressure (used internally)

Eq. (31) from Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam

Valid for 611.213 Pa <= p <= 22.064 MPa

Parameters
pressurewater pressure (Pa)
Returns
saturation temperature (K)

Definition at line 544 of file Water97FluidProperties.C.

Referenced by vaporTemperature().

545 {
546  // Check whether the input pressure is within the region of validity of this equation.
547  // Valid for 611.213 Pa <= p <= 22.064 MPa
548  if (pressure.value() < 611.23 || pressure.value() > _p_critical)
549  mooseException(name() + ": vaporTemperature(): Pressure ",
550  pressure.value(),
551  " is outside range 611.213 Pa <= p <= 22.064 MPa");
552 
553  const ADReal beta = std::pow(pressure / 1.e6, 0.25);
554  const ADReal beta2 = beta * beta;
555  const ADReal e = beta2 + _n4[2] * beta + _n4[5];
556  const ADReal f = _n4[0] * beta2 + _n4[3] * beta + _n4[6];
557  const ADReal g = _n4[1] * beta2 + _n4[4] * beta + _n4[7];
558  const ADReal d = 2.0 * g / (-f - std::sqrt(f * f - 4.0 * e * g));
559 
560  return (_n4[9] + d - std::sqrt((_n4[9] + d) * (_n4[9] + d) - 4.0 * (_n4[8] + _n4[9] * d))) / 2.0;
561 }
const Real _p_critical
Critical pressure (Pa)
DualNumber< Real, DNDerivativeType, true > ADReal
virtual const std::string & name() const
Real f(Real x)
Test function for Brents method.
static const std::string pressure
Definition: NS.h:56
MooseUnits pow(const MooseUnits &, int)
const std::array< Real, 10 > _n4
Constants for region 4 (the saturation curve up to the critical point)

◆ xyDerivatives()

template<typename T , typename Functor >
void SinglePhaseFluidProperties::xyDerivatives ( const T  x,
const T y,
T z,
T dz_dx,
T dz_dy,
const Functor z_from_x_y 
)
staticprotectedinherited

Computes the dependent variable z and its derivatives with respect to the independent variables x and y using the simple two parameter z_from_x_y functor.

The derivatives are computed using a compound automatic differentiation type

Definition at line 490 of file SinglePhaseFluidProperties.h.

Referenced by e_from_p_rho_template(), h_from_p_T_template(), rho_from_p_T_template(), and v_from_p_T_template().

492 {
494  const auto [zero, one] = makeZeroAndOne(x);
495 
496  CompoundType x_c(x, zero);
497  auto & x_cd = x_c.derivatives();
498  x_cd[0] = one;
499  CompoundType y_c(y, zero);
500  auto & y_cd = y_c.derivatives();
501  y_cd[1] = one;
502 
503  const auto z_c = z_from_x_y(x_c, y_c);
504  z = z_c.value();
505  dz_dx = z_c.derivatives()[0];
506  dz_dy = z_c.derivatives()[1];
507 }
static std::pair< T, T > makeZeroAndOne(const T &)
Given a type example, this method returns zero and unity representations of that type (first and seco...
const std::vector< double > y
const Number zero
const std::vector< double > x

Member Data Documentation

◆ _allow_imperfect_jacobians

const bool FluidProperties::_allow_imperfect_jacobians
protectedinherited

Flag to set unimplemented Jacobian entries to zero.

Definition at line 47 of file FluidProperties.h.

Referenced by VaporMixtureFluidProperties::imperfectJacobianMessage(), and SinglePhaseFluidProperties::unimplementedDerivativeMethod().

◆ _I1

const std::array<int, 34> Water97FluidProperties::_I1
protected
Initial value:
{{0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2,
2, 2, 3, 3, 3, 4, 4, 4, 5, 8, 8, 21, 23, 29, 30, 31, 32}}

Definition at line 856 of file Water97FluidProperties.h.

Referenced by d2gamma1_dpi2(), d2gamma1_dpitau(), d2gamma1_dtau2(), dgamma1_dpi(), dgamma1_dtau(), and gamma1().

◆ _I2

const std::array<int, 43> Water97FluidProperties::_I2
protected
Initial value:
{{1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3,
4, 4, 4, 5, 6, 6, 6, 7, 7, 7, 8, 8, 9, 10, 10,
10, 16, 16, 18, 20, 20, 20, 21, 22, 23, 24, 24, 24}}

Definition at line 901 of file Water97FluidProperties.h.

Referenced by d2gamma2_dpi2(), d2gamma2_dpitau(), d2gamma2_dtau2(), dgamma2_dpi(), dgamma2_dtau(), and gamma2().

◆ _I3

const std::array<int, 40> Water97FluidProperties::_I3
protected
Initial value:
{{0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3,
3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 8, 9, 9, 10, 10, 11}}

Definition at line 980 of file Water97FluidProperties.h.

Referenced by d2phi3_ddelta2(), d2phi3_ddeltatau(), d2phi3_dtau2(), dphi3_ddelta(), dphi3_dtau(), and phi3().

◆ _I3s

const std::vector<std::vector<int> > Water97FluidProperties::_I3s
protected

Definition at line 1266 of file Water97FluidProperties.h.

Referenced by densityRegion3(), and subregionVolume().

◆ _I5

const std::array<int, 6> Water97FluidProperties::_I5 {{1, 1, 1, 2, 2, 3}}
protected

◆ _Iph1

const std::array<int, 20> Water97FluidProperties::_Iph1 {{0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 4, 5, 6}}
protected

Definition at line 870 of file Water97FluidProperties.h.

Referenced by temperature_from_ph1().

◆ _Iph2a

const std::array<int, 36> Water97FluidProperties::_Iph2a
protected
Initial value:
{{0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
2, 2, 2, 2, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7}}

Definition at line 920 of file Water97FluidProperties.h.

Referenced by temperature_from_ph2a().

◆ _Iph2b

const std::array<int, 38> Water97FluidProperties::_Iph2b
protected
Initial value:
{{0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,
2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 7, 7, 9, 9}}

Definition at line 939 of file Water97FluidProperties.h.

Referenced by temperature_from_ph2b().

◆ _Iph2c

const std::array<int, 23> Water97FluidProperties::_Iph2c
protected
Initial value:
{
{-7, -7, -6, -6, -5, -5, -2, -2, -1, -1, 0, 0, 1, 1, 2, 6, 6, 6, 6, 6, 6, 6, 6}}

Definition at line 954 of file Water97FluidProperties.h.

Referenced by temperature_from_ph2c().

◆ _Iph3a

const std::array<int, 31> Water97FluidProperties::_Iph3a
protected
Initial value:
{{-12, -12, -12, -12, -12, -12, -12, -12, -10, -10, -10,
-8, -8, -8, -8, -5, -3, -2, -2, -2, -1, -1,
0, 0, 1, 3, 3, 4, 4, 10, 12}}

Definition at line 1379 of file Water97FluidProperties.h.

Referenced by temperature_from_ph3a().

◆ _Iph3b

const std::array<int, 33> Water97FluidProperties::_Iph3b
protected
Initial value:
{{-12, -12, -10, -10, -10, -10, -10, -8, -8, -8, -8,
-8, -6, -6, -6, -4, -4, -3, -2, -2, -1, -1,
-1, -1, -1, -1, 0, 0, 1, 3, 5, 6, 8}}

Definition at line 1397 of file Water97FluidProperties.h.

Referenced by temperature_from_ph3b().

◆ _J02

const std::array<int, 9> Water97FluidProperties::_J02 {{0, 1, -5, -4, -3, -2, -1, 2, 3}}
protected

Definition at line 899 of file Water97FluidProperties.h.

Referenced by d2gamma2_dtau2(), dgamma2_dtau(), and gamma2().

◆ _J05

const std::array<int, 6> Water97FluidProperties::_J05 {{0, 1, -3, -2, -1, 2}}
protected

Constants for region 5.

Definition at line 1417 of file Water97FluidProperties.h.

Referenced by d2gamma5_dtau2(), dgamma5_dtau(), and gamma5().

◆ _J1

const std::array<int, 34> Water97FluidProperties::_J1
protected
Initial value:
{{-2, -1, 0, 1, 2, 3, 4, 5, -9, -7, -1, 0,
1, 3, -3, 0, 1, 3, 17, -4, 0, 6, -5, -2,
10, -8, -11, -6, -29, -31, -38, -39, -40, -41}}

Definition at line 859 of file Water97FluidProperties.h.

Referenced by d2gamma1_dpi2(), d2gamma1_dpitau(), d2gamma1_dtau2(), dgamma1_dpi(), dgamma1_dtau(), and gamma1().

◆ _J2

const std::array<int, 43> Water97FluidProperties::_J2
protected
Initial value:
{{0, 1, 2, 3, 6, 1, 2, 4, 7, 36, 0, 1, 3, 6, 35,
1, 2, 3, 7, 3, 16, 35, 0, 11, 25, 8, 36, 13, 4, 10,
14, 29, 50, 57, 20, 35, 48, 21, 53, 39, 26, 40, 58}}

Definition at line 905 of file Water97FluidProperties.h.

Referenced by d2gamma2_dpi2(), d2gamma2_dpitau(), d2gamma2_dtau2(), dgamma2_dpi(), dgamma2_dtau(), and gamma2().

◆ _J3

const std::array<int, 40> Water97FluidProperties::_J3
protected
Initial value:
{{0, 0, 1, 2, 7, 10, 12, 23, 2, 6, 15, 17, 0, 2,
6, 7, 22, 26, 0, 2, 4, 16, 26, 0, 2, 4, 26, 1,
3, 26, 0, 2, 26, 2, 26, 2, 26, 0, 1, 26}}

Definition at line 983 of file Water97FluidProperties.h.

Referenced by d2phi3_ddelta2(), d2phi3_ddeltatau(), d2phi3_dtau2(), dphi3_ddelta(), dphi3_dtau(), and phi3().

◆ _J3s

const std::vector<std::vector<int> > Water97FluidProperties::_J3s
protected

Definition at line 1318 of file Water97FluidProperties.h.

Referenced by densityRegion3(), and subregionVolume().

◆ _J5

const std::array<int, 6> Water97FluidProperties::_J5 {{1, 2, 3, 3, 9, 7}}
protected

◆ _Jph1

const std::array<int, 20> Water97FluidProperties::_Jph1
protected
Initial value:
{
{0, 1, 2, 6, 22, 32, 0, 1, 2, 3, 4, 10, 32, 10, 32, 10, 32, 32, 32, 32}}

Definition at line 872 of file Water97FluidProperties.h.

Referenced by temperature_from_ph1().

◆ _Jph2a

const std::array<int, 36> Water97FluidProperties::_Jph2a
protected
Initial value:
{{0, 1, 2, 3, 7, 20, 0, 1, 2, 3, 7, 9,
11, 18, 44, 0, 2, 7, 36, 38, 40, 42, 44, 24,
44, 12, 32, 44, 32, 36, 42, 34, 44, 28}}

Definition at line 923 of file Water97FluidProperties.h.

Referenced by temperature_from_ph2a().

◆ _Jph2b

const std::array<int, 38> Water97FluidProperties::_Jph2b
protected
Initial value:
{{0, 1, 2, 12, 18, 24, 28, 40, 0, 2, 6, 12, 18,
24, 28, 40, 2, 8, 18, 40, 1, 2, 12, 24, 2, 12,
18, 24, 28, 40, 18, 24, 40, 28, 2, 28, 1, 40}}

Definition at line 942 of file Water97FluidProperties.h.

Referenced by temperature_from_ph2b().

◆ _Jph2c

const std::array<int, 23> Water97FluidProperties::_Jph2c
protected
Initial value:
{
{0, 4, 0, 2, 0, 2, 0, 1, 0, 2, 0, 1, 4, 8, 4, 0, 1, 4, 10, 12, 16, 20, 22}}

Definition at line 957 of file Water97FluidProperties.h.

Referenced by temperature_from_ph2c().

◆ _Jph3a

const std::array<int, 31> Water97FluidProperties::_Jph3a
protected
Initial value:
{{0, 1, 2, 6, 14, 16, 20, 22, 1, 5, 12, 0, 2, 4, 10, 2,
0, 1, 3, 4, 0, 2, 0, 1, 1, 0, 1, 0, 3, 4, 5}}

Definition at line 1383 of file Water97FluidProperties.h.

Referenced by temperature_from_ph3a().

◆ _Jph3b

const std::array<int, 33> Water97FluidProperties::_Jph3b
protected
Initial value:
{{0, 1, 0, 1, 5, 10, 12, 0, 1, 2, 4, 10, 0, 1, 2, 0, 1,
5, 0, 4, 2, 4, 6, 10, 14, 16, 0, 2, 1, 1, 1, 1, 1}}

Definition at line 1401 of file Water97FluidProperties.h.

Referenced by temperature_from_ph3b().

◆ _k_a

std::array<Real, 4> Water97FluidProperties::_k_a {{0.0102811, 0.0299621, 0.0156146, -0.00422464}}
protected

Constants for thermal conductivity.

Definition at line 1496 of file Water97FluidProperties.h.

Referenced by k_from_rho_T_template().

◆ _max_newton_its

const unsigned int SinglePhaseFluidProperties::_max_newton_its
protectedinherited

◆ _Mh2o

const Real Water97FluidProperties::_Mh2o
protected

Water molar mass (kg/mol)

Definition at line 822 of file Water97FluidProperties.h.

Referenced by molarMass().

◆ _mu_H0

const std::array<Real, 4> Water97FluidProperties::_mu_H0 {{1.67752, 2.20462, 0.6366564, -0.241605}}
protected

Constants from Release on the IAPWS Formulation 2008 for the Viscosity of Ordinary Water Substance.

Definition at line 1486 of file Water97FluidProperties.h.

Referenced by mu_from_rho_T(), and mu_from_rho_T_template().

◆ _mu_Hij

const std::array<std::array<Real, 7>, 6> Water97FluidProperties::_mu_Hij
protected
Initial value:
{
{{{5.20094e-1, 2.22531e-1, -2.81378e-1, 1.61913e-1, -3.25372e-2, 0.0, 0.0}},
{{8.50895e-2, 9.99115e-1, -9.06851e-1, 2.57399e-1, 0.0, 0.0, 0.0}},
{{-1.08374, 1.88797, -7.72479e-1, 0.0, 0.0, 0.0, 0.0}},
{{-2.89555e-1, 1.26613, -4.89837e-1, 0.0, 6.98452e-2, 0.0, -4.35673e-3}},
{{0.0, 0.0, -2.57040e-1, 0.0, 0.0, 8.72102e-3, 0.0}},
{{0.0, 1.20573e-1, 0.0, 0.0, 0.0, 0.0, -5.93264e-4}}}}

Definition at line 1487 of file Water97FluidProperties.h.

Referenced by mu_from_rho_T(), and mu_from_rho_T_template().

◆ _n02

const std::array<Real, 9> Water97FluidProperties::_n02
protected
Initial value:
{{-0.96927686500217e1,
0.10086655968018e2,
-0.56087911283020e-2,
0.71452738081455e-1,
-0.40710498223928e0,
0.14240819171444e1,
-0.43839511319450e1,
-0.28408632460772e0,
0.21268463753307e-1}}

Constants for region 2.

Definition at line 876 of file Water97FluidProperties.h.

Referenced by d2gamma2_dtau2(), dgamma2_dtau(), and gamma2().

◆ _n05

const std::array<Real, 6> Water97FluidProperties::_n05
protected
Initial value:
{{-0.13179983674201e2,
0.68540841634434e1,
-0.24805148933466e-1,
0.36901534980333,
-0.31161318213925e1,
-0.32961626538917}}

Definition at line 1418 of file Water97FluidProperties.h.

Referenced by d2gamma5_dtau2(), dgamma5_dtau(), and gamma5().

◆ _n1

const std::array<Real, 34> Water97FluidProperties::_n1
protected
Initial value:
{
{0.14632971213167e0, -0.84548187169114e0, -0.37563603672040e1, 0.33855169168385e1,
-0.95791963387872e0, 0.15772038513228e0, -0.16616417199501e-1, 0.81214629983568e-3,
0.28319080123804e-3, -0.60706301565874e-3, -0.18990068218419e-1, -0.32529748770505e-1,
-0.21841717175414e-1, -0.52838357969930e-4, -0.47184321073267e-3, -0.30001780793026e-3,
0.47661393906987e-4, -0.44141845330846e-5, -0.72694996297594e-15, -0.31679644845054e-4,
-0.28270797985312e-5, -0.85205128120103e-9, -0.22425281908000e-5, -0.65171222895601e-6,
-0.14341729937924e-12, -0.40516996860117e-6, -0.12734301741641e-8, -0.17424871230634e-9,
-0.68762131295531e-18, 0.14478307828521e-19, 0.26335781662795e-22, -0.11947622640071e-22,
0.18228094581404e-23, -0.93537087292458e-25}}

Reference constants used in to calculate thermophysical properties of water.

Taken from Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam and from Revised Supplementary Release on Backward Equations for Specific Volume as a Function of Pressure and Temperature v(p,T) for Region 3 of the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and SteamConstants for region 1

Definition at line 845 of file Water97FluidProperties.h.

Referenced by d2gamma1_dpi2(), d2gamma1_dpitau(), d2gamma1_dtau2(), dgamma1_dpi(), dgamma1_dtau(), and gamma1().

◆ _n2

const std::array<Real, 43> Water97FluidProperties::_n2
protected
Initial value:
{
{-0.17731742473213e-2, -0.17834862292358e-1, -0.45996013696365e-1, -0.57581259083432e-1,
-0.50325278727930e-1, -0.33032641670203e-4, -0.18948987516315e-3, -0.39392777243355e-2,
-0.43797295650573e-1, -0.26674547914087e-4, 0.20481737692309e-7, 0.43870667284435e-6,
-0.32277677238570e-4, -0.15033924542148e-2, -0.40668253562649e-1, -0.78847309559367e-9,
0.12790717852285e-7, 0.48225372718507e-6, 0.22922076337661e-5, -0.16714766451061e-10,
-0.21171472321355e-2, -0.23895741934104e2, -0.59059564324270e-17, -0.12621808899101e-5,
-0.38946842435739e-1, 0.11256211360459e-10, -0.82311340897998e1, 0.19809712802088e-7,
0.10406965210174e-18, -0.10234747095929e-12, -0.10018179379511e-8, -0.80882908646985e-10,
0.10693031879409e0, -0.33662250574171e0, 0.89185845355421e-24, 0.30629316876232e-12,
-0.42002467698208e-5, -0.59056029685639e-25, 0.37826947613457e-5, -0.12768608934681e-14,
0.73087610595061e-28, 0.55414715350778e-16, -0.94369707241210e-6}}

Definition at line 886 of file Water97FluidProperties.h.

Referenced by d2gamma2_dpi2(), d2gamma2_dpitau(), d2gamma2_dtau2(), dgamma2_dpi(), dgamma2_dtau(), and gamma2().

◆ _n23

const std::array<Real, 5> Water97FluidProperties::_n23
protected
Initial value:
{{0.34805185628969e3,
-0.11671859879975e1,
0.10192970039326e-2,
0.57254459862746e3,
0.13918839778870e2}}

Constants for the boundary between regions 2 and 3.

Definition at line 961 of file Water97FluidProperties.h.

Referenced by b23p(), and b23T().

◆ _n3

const std::array<Real, 40> Water97FluidProperties::_n3
protected
Initial value:
{
{0.10658070028513e1, -0.15732845290239e2, 0.20944396974307e2, -0.76867707878716e1,
0.26185947787954e1, -0.28080781148620e1, 0.12053369696517e1, -0.84566812812502e-2,
-0.12654315477714e1, -0.11524407806681e1, 0.88521043984318e0, -0.64207765181607e0,
0.38493460186671e0, -0.85214708824206e0, 0.48972281541877e1, -0.30502617256965e1,
0.39420536879154e-1, 0.12558408424308e0, -0.27999329698710e0, 0.13899799569460e1,
-0.20189915023570e1, -0.82147637173963e-2, -0.47596035734923e0, 0.43984074473500e-1,
-0.44476435428739e0, 0.90572070719733e0, 0.70522450087967e0, 0.10770512626332e0,
-0.32913623258954e0, -0.50871062041158e0, -0.22175400873096e-1, 0.94260751665092e-1,
0.16436278447961e0, -0.13503372241348e-1, -0.14834345352472e-1, 0.57922953628084e-3,
0.32308904703711e-2, 0.80964802996215e-4, -0.16557679795037e-3, -0.44923899061815e-4}}

Constants for region 3.

Definition at line 968 of file Water97FluidProperties.h.

Referenced by d2phi3_ddelta2(), d2phi3_ddeltatau(), d2phi3_dtau2(), dphi3_ddelta(), dphi3_dtau(), and phi3().

◆ _n3s

const std::vector<std::vector<Real> > Water97FluidProperties::_n3s
protected

Constants for all 26 subregions in region 3.

Definition at line 1019 of file Water97FluidProperties.h.

Referenced by densityRegion3(), and subregionVolume().

◆ _n4

const std::array<Real, 10> Water97FluidProperties::_n4
protected
Initial value:
{{0.11670521452767e4,
-0.72421316703206e6,
-0.17073846940092e2,
0.12020824702470e5,
-0.32325550322333e7,
0.14915108613530e2,
-0.48232657361591e4,
0.40511340542057e6,
-0.238555575678490,
0.65017534844798e3}}

Constants for region 4 (the saturation curve up to the critical point)

Definition at line 1405 of file Water97FluidProperties.h.

Referenced by vaporPressure(), vaporPressureTemplate(), and vaporTemperature_ad().

◆ _n5

const std::array<Real, 6> Water97FluidProperties::_n5
protected
Initial value:
{{0.15736404855259e-2,
0.90153761673944e-3,
-0.50270077677648e-2,
0.22440037409485e-5,
-0.41163275453471e-5,
0.37919454822955e-7}}

Definition at line 1427 of file Water97FluidProperties.h.

Referenced by d2gamma5_dpi2(), d2gamma5_dpitau(), d2gamma5_dtau2(), dgamma5_dpi(), dgamma5_dtau(), and gamma5().

◆ _nph1

const std::array<Real, 20> Water97FluidProperties::_nph1
protected
Initial value:
{
{-0.23872489924521e3, 0.40421188637945e3, 0.11349746881718e3, -0.58457616048039e1,
-0.15285482413140e-3, -0.10866707695377e-5, -0.13391744872602e2, 0.43211039183559e2,
-0.54010067170506e2, 0.30535892203916e2, -0.65964749423638e1, 0.93965400878363e-2,
0.11573647505340e-6, -0.25858641282073e-4, -0.40644363084799e-8, 0.66456186191635e-7,
0.80670734103027e-10, -0.93477771213947e-12, 0.58265442020601e-14, -0.15020185953503e-16}}

Definition at line 863 of file Water97FluidProperties.h.

Referenced by temperature_from_ph1().

◆ _nph2a

const std::array<Real, 36> Water97FluidProperties::_nph2a
protected
Initial value:
{
{0.10898952318288e4, 0.84951654495535e3, -0.10781748091826e3, 0.33153654801263e2,
-0.74232016790248e1, 0.11765048724356e2, 0.18445749355790e1, -0.41792700549624e1,
0.62478196935812e1, -0.17344563108114e2, -0.20058176862096e3, 0.27196065473796e3,
-0.45511318285818e3, 0.30919688604755e4, 0.25226640357872e6, -0.61707422868339e-2,
-0.31078046629583, 0.11670873077107e2, 0.12812798404046e9, -0.98554909623276e9,
0.28224546973002e10, -0.35948971410703e10, 0.17227349913197e10, -0.13551334240775e5,
0.12848734664650e8, 0.13865724283226e1, 0.23598832556514e6, -0.13105236545054e8,
0.73999835474766e4, -0.55196697030060e6, 0.37154085996233e7, 0.19127729239660e5,
-0.41535164835634e6, -0.62459855192507e2}}

Definition at line 909 of file Water97FluidProperties.h.

Referenced by temperature_from_ph2a().

◆ _nph2b

const std::array<Real, 38> Water97FluidProperties::_nph2b
protected
Initial value:
{
{0.14895041079516e4, 0.74307798314034e3, -0.97708318797837e2, 0.24742464705674e1,
-0.63281320016026, 0.11385952129658e1, -0.47811863648625, 0.85208123431544e-2,
0.93747147377932, 0.33593118604916e1, 0.33809355601454e1, 0.16844539671904,
0.73875745236695, -0.47128737436186, 0.15020273139707, -0.21764114219750e-2,
-0.21810755324761e-1, -0.10829784403677, -0.46333324635812e-1, 0.71280351959551e-4,
0.11032831789999e-3, 0.18955248387902e-3, 0.30891541160537e-2, 0.13555504554949e-2,
0.28640237477456e-6, -0.10779857357512e-4, -0.76462712454814e-4, 0.14052392818316e-4,
-0.31083814331434e-4, -0.10302738212103e-5, 0.28217281635040e-6, 0.12704902271945e-5,
0.73803353468292e-7, -0.11030139238909e-7, -0.81456365207833e-13, -0.25180545682962e-10,
-0.17565233969407e-17, 0.86934156344163e-14}}

Definition at line 927 of file Water97FluidProperties.h.

Referenced by temperature_from_ph2b().

◆ _nph2c

const std::array<Real, 23> Water97FluidProperties::_nph2c
protected
Initial value:
{
{-0.32368398555242e13, 0.73263350902181e13, 0.35825089945447e12, -0.58340131851590e12,
-0.10783068217470e11, 0.20825544563171e11, 0.61074783564516e6, 0.85977722535580e6,
-0.25745723604170e5, 0.31081088422714e5, 0.12082315865936e4, 0.48219755109255e3,
0.37966001272486e1, -0.10842984880077e2, -0.45364172676660e-1, 0.14559115658698e-12,
0.11261597407230e-11, -0.17804982240686e-10, 0.12324579690832e-6, -0.11606921130984e-5,
0.27846367088554e-4, -0.59270038474176e-3, 0.12918582991878e-2}}

Definition at line 946 of file Water97FluidProperties.h.

Referenced by temperature_from_ph2c().

◆ _nph3a

const std::array<Real, 31> Water97FluidProperties::_nph3a
protected
Initial value:
{
{-0.133645667811215e-6, 0.455912656802978e-5, -0.146294640700979e-4, 0.639341312970080e-2,
0.372783927268847e3, -0.718654377460447e4, 0.573494752103400e6, -0.267569329111439e7,
-0.334066283302614e-4, -0.245479214069597e-1, 0.478087847764996e2, 0.764664131818904e-5,
0.128350627676972e-2, 0.171219081377331e-1, -0.851007304583213e1, -0.136513461629781e-1,
-0.384460997596657e-5, 0.337423807911655e-2, -0.551624873066791, 0.729202277107470,
-0.992522757376041e-2, -.119308831407288, .793929190615421, .454270731799386,
.20999859125991, -0.642109823904738e-2, -0.235155868604540e-1, 0.252233108341612e-2,
-0.764885133368119e-2, 0.136176427574291e-1, -0.133027883575669e-1}}

Definition at line 1369 of file Water97FluidProperties.h.

Referenced by temperature_from_ph3a().

◆ _nph3b

const std::array<Real, 33> Water97FluidProperties::_nph3b
protected
Initial value:
{
{0.323254573644920e-4, -0.127575556587181e-3, -0.475851877356068e-3, 0.156183014181602e-2,
0.105724860113781, -0.858514221132534e2, 0.724140095480911e3, 0.296475810273257e-2,
-0.592721983365988e-2, -0.126305422818666e-1, -0.115716196364853, 0.849000969739595e2,
-0.108602260086615e-1, 0.154304475328851e-1, 0.750455441524466e-1, 0.252520973612982e-1,
-0.602507901232996e-1, -0.307622221350501e1, -0.574011959864879e-1, 0.503471360939849e1,
-0.925081888584834, 0.391733882917546e1, -0.773146007130190e2, 0.949308762098587e4,
-0.141043719679409e7, 0.849166230819026e7, 0.861095729446704, 0.323346442811720,
0.873281936020439, -0.436653048526683, 0.286596714529479, -0.131778331276228,
0.676682064330275e-2}}

Definition at line 1386 of file Water97FluidProperties.h.

Referenced by temperature_from_ph3b().

◆ _p_critical

const Real Water97FluidProperties::_p_critical
protected

Critical pressure (Pa)

Definition at line 826 of file Water97FluidProperties.h.

Referenced by criticalPressure(), tempXY(), and vaporTemperature_ad().

◆ _p_initial_guess

const Real SinglePhaseFluidProperties::_p_initial_guess
protectedinherited

◆ _p_star

const std::array<Real, 5> Water97FluidProperties::_p_star {{16.53e6, 1.0e6, 1.0e6, 1.0e6, 1.0e6}}
protected

◆ _p_triple

const Real Water97FluidProperties::_p_triple
protected

Triple point pressure (Pa)

Definition at line 832 of file Water97FluidProperties.h.

Referenced by triplePointPressure().

◆ _par3

const std::array<std::array<Real, 8>, 26> Water97FluidProperties::_par3
protected
Initial value:
{
{{{0.0024, 100.0, 760.0, 0.085, 0.817, 1.0, 1.0, 1.0}},
{{0.0041, 100.0, 860.0, 0.280, 0.779, 1.0, 1.0, 1.0}},
{{0.0022, 40.0, 690.0, 0.259, 0.903, 1.0, 1.0, 1.0}},
{{0.0029, 40.0, 690.0, 0.559, 0.939, 1.0, 1.0, 4.0}},
{{0.0032, 40.0, 710.0, 0.587, 0.918, 1.0, 1.0, 1.0}},
{{0.0064, 40.0, 730.0, 0.587, 0.891, 0.5, 1.0, 4.0}},
{{0.0027, 25.0, 660.0, 0.872, 0.971, 1.0, 1.0, 4.0}},
{{0.0032, 25.0, 660.0, 0.898, 0.983, 1.0, 1.0, 4.0}},
{{0.0041, 25.0, 660.0, 0.910, 0.984, 0.5, 1.0, 4.0}},
{{0.0054, 25.0, 670.0, 0.875, 0.964, 0.5, 1.0, 4.0}},
{{0.0077, 25.0, 680.0, 0.802, 0.935, 1.0, 1.0, 1.0}},
{{0.0026, 24.0, 650.0, 0.908, 0.989, 1.0, 1.0, 4.0}},
{{0.0028, 23.0, 650.0, 1.000, 0.997, 1.0, 0.25, 1.0}},
{{0.0031, 23.0, 650.0, 0.976, 0.997, 0.0, 0.0, 0.0}},
{{0.0034, 23.0, 650.0, 0.974, 0.996, 0.5, 1.0, 1.0}},
{{0.0041, 23.0, 650.0, 0.972, 0.997, 0.5, 1.0, 1.0}},
{{0.0022, 23.0, 650.0, 0.848, 0.983, 1.0, 1.0, 4.0}},
{{0.0054, 23.0, 650.0, 0.874, 0.982, 1.0, 1.0, 1.0}},
{{0.0022, 21.0, 640.0, 0.886, 0.990, 1.0, 1.0, 4.0}},
{{0.0088, 20.0, 650.0, 0.803, 1.020, 1.0, 1.0, 1.0}},
{{0.0026, 23.0, 650.0, 0.902, 0.988, 1.0, 1.0, 1.0}},
{{0.0031, 23.0, 650.0, 0.960, 0.995, 1.0, 1.0, 1.0}},
{{0.0039, 23.0, 650.0, 0.959, 0.995, 1.0, 1.0, 4.0}},
{{0.0049, 23.0, 650.0, 0.910, 0.988, 1.0, 1.0, 1.0}},
{{0.0031, 22.0, 650.0, 0.996, 0.994, 1.0, 1.0, 4.0}},
{{0.0038, 22.0, 650.0, 0.993, 0.994, 1.0, 1.0, 4.0}}}}

Definition at line 987 of file Water97FluidProperties.h.

Referenced by densityRegion3().

◆ _par3N

const std::array<unsigned int, 26> Water97FluidProperties::_par3N
protected
Initial value:
{{30, 32, 35, 38, 29, 42, 38, 29, 42, 29, 34, 43, 40,
39, 24, 27, 24, 27, 29, 33, 38, 39, 35, 36, 20, 23}}

Definition at line 1015 of file Water97FluidProperties.h.

Referenced by densityRegion3().

◆ _R

const Real FluidProperties::_R = 8.3144598
staticinherited

◆ _rho_critical

const Real Water97FluidProperties::_rho_critical
protected

◆ _Rw

const Real Water97FluidProperties::_Rw
protected

Specific gas constant for H2O (universal gas constant / molar mass of water - J/kg/K)

Definition at line 824 of file Water97FluidProperties.h.

Referenced by c_from_p_T_template(), cp_from_p_T_template(), cv_from_p_T_template(), e_from_p_T_template(), h_from_p_T_template(), and rho_from_p_T_template().

◆ _T_c2k

const Real FluidProperties::_T_c2k
protectedinherited

◆ _T_critical

const Real Water97FluidProperties::_T_critical
protected

◆ _T_initial_guess

const Real SinglePhaseFluidProperties::_T_initial_guess
protectedinherited

◆ _T_star

const std::array<Real, 5> Water97FluidProperties::_T_star {{1386.0, 540.0, _T_critical, 1.0, 1000.0}}
protected

◆ _T_triple

const Real Water97FluidProperties::_T_triple
protected

Triple point temperature (K)

Definition at line 834 of file Water97FluidProperties.h.

Referenced by triplePointTemperature().

◆ _tempXY_I

const std::vector<std::vector<int> > Water97FluidProperties::_tempXY_I
protected
Initial value:
{{0, 1, 2, -1, -2},
{0, 1, 2, 3},
{0, 1, 2, 3, 4},
{0, 1, 2, 3, 4},
{0, 1, 2, 3, 4},
{0, 1, 2, 3},
{0, 1, 2, -1, -2},
{0, 1, 2, 3},
{0, 1, 2, 3},
{0, 1, 2, 3, 4},
{0, 1, 2, -1, -2}}

Constnats for the tempXY() method.

Definition at line 1435 of file Water97FluidProperties.h.

Referenced by tempXY().

◆ _tempXY_n

const std::vector<std::vector<Real> > Water97FluidProperties::_tempXY_n
protected

Definition at line 1447 of file Water97FluidProperties.h.

Referenced by tempXY().

◆ _tolerance

const Real SinglePhaseFluidProperties::_tolerance
protectedinherited

◆ h

e e e e s T T T T T rho v v T e SinglePhaseFluidProperties::h
inherited

Definition at line 212 of file SinglePhaseFluidProperties.h.

Referenced by SodiumSaturationFluidProperties::e_from_p_T(), NaKFluidProperties::e_from_p_T(), NaClFluidProperties::e_from_p_T(), LeadBismuthFluidProperties::e_from_p_T(), LeadLithiumFluidProperties::e_from_p_T(), LeadFluidProperties::e_from_p_T(), TemperaturePressureFunctionFluidProperties::e_from_p_T(), LinearFluidProperties::e_from_v_h(), CaloricallyImperfectGas::e_from_v_h(), StiffenedGasFluidProperties::e_from_v_h(), IdealGasFluidProperties::e_from_v_h(), e_from_v_h(), TabulatedFluidProperties::e_from_v_h(), SimpleFluidProperties::e_from_v_h(), TabulatedFluidProperties::g_from_v_e(), SodiumSaturationFluidProperties::h_from_p_T(), HelmholtzFluidProperties::h_from_p_T(), LinearFluidProperties::h_from_p_T(), StiffenedGasFluidProperties::h_from_p_T(), NaKFluidProperties::h_from_p_T(), LeadLithiumFluidProperties::h_from_p_T(), LeadBismuthFluidProperties::h_from_p_T(), TabulatedFluidProperties::h_from_p_T(), LeadFluidProperties::h_from_p_T(), CaloricallyImperfectGas::h_from_p_T(), NaClFluidProperties::h_from_p_T(), IdealGasFluidProperties::h_from_p_T(), SimpleFluidProperties::h_from_p_T(), TemperaturePressureFunctionFluidProperties::h_from_p_T(), h_from_p_T(), FlibeFluidProperties::h_from_p_T(), FlinakFluidProperties::h_from_p_T(), HeliumFluidProperties::h_from_p_T(), h_from_p_T_template(), StiffenedGasFluidProperties::h_from_T_v(), CaloricallyImperfectGas::h_from_T_v(), IdealGasFluidProperties::h_from_T_v(), LeadBismuthFluidProperties::h_from_v_e(), LeadLithiumFluidProperties::h_from_v_e(), LeadFluidProperties::h_from_v_e(), StiffenedGasFluidProperties::p_from_h_s(), CaloricallyImperfectGas::p_from_h_s(), IdealGasFluidProperties::p_from_h_s(), LeadLithiumFluidProperties::p_from_v_e(), LeadFluidProperties::p_from_v_e(), LeadBismuthFluidProperties::p_from_v_e(), SimpleFluidProperties::p_from_v_h(), SinglePhaseFluidProperties::p_T_from_h_s(), SinglePhaseFluidProperties::p_T_from_v_h(), p_T_from_v_h(), StiffenedGasFluidProperties::s_from_h_p(), CaloricallyImperfectGas::s_from_h_p(), IdealGasFluidProperties::s_from_h_p(), TabulatedFluidProperties::s_from_h_p(), s_from_h_p(), CaloricallyImperfectGas::T_from_h(), TabulatedFluidProperties::T_from_h_s(), LeadLithiumFluidProperties::T_from_p_h(), LeadBismuthFluidProperties::T_from_p_h(), LeadFluidProperties::T_from_p_h(), TemperaturePressureFunctionFluidProperties::T_from_p_h(), CaloricallyImperfectGas::T_from_p_h(), FlibeFluidProperties::T_from_p_h(), FlinakFluidProperties::T_from_p_h(), HeliumFluidProperties::T_from_p_h(), IdealGasFluidProperties::T_from_p_h(), SimpleFluidProperties::T_from_p_h(), T_from_p_h(), and SimpleFluidProperties::T_from_v_h().

◆ p [1/10]

e e e e SinglePhaseFluidProperties::p
inherited

Definition at line 190 of file SinglePhaseFluidProperties.h.

Referenced by LinearFluidProperties::beta_from_p_T(), CaloricallyImperfectGas::c_from_p_T(), c_from_p_T(), StiffenedGasFluidProperties::c_from_v_e(), HeliumFluidProperties::c_from_v_e(), c_from_v_e(), TabulatedFluidProperties::c_from_v_e(), LeadLithiumFluidProperties::cp_from_p_T(), LeadBismuthFluidProperties::cp_from_p_T(), LeadFluidProperties::cp_from_p_T(), IdealGasFluidProperties::cp_from_p_T(), TemperaturePressureFunctionFluidProperties::cp_from_p_T(), TemperaturePressureFunctionFluidProperties::cp_from_v_e(), TabulatedFluidProperties::cp_from_v_e(), cp_from_v_e(), LeadFluidProperties::cv_from_p_T(), LeadLithiumFluidProperties::cv_from_p_T(), LeadBismuthFluidProperties::cv_from_p_T(), IdealGasFluidProperties::cv_from_p_T(), LeadLithiumFluidProperties::cv_from_v_e(), LeadBismuthFluidProperties::cv_from_v_e(), LeadFluidProperties::cv_from_v_e(), TemperaturePressureFunctionFluidProperties::cv_from_v_e(), TabulatedFluidProperties::cv_from_v_e(), cv_from_v_e(), TestSinglePhaseFluidProperties::e_from_p_rho(), LinearTestFluidProperties::e_from_p_rho(), LinearFluidProperties::e_from_p_rho(), LeadLithiumFluidProperties::e_from_p_rho(), LeadBismuthFluidProperties::e_from_p_rho(), IdealGasFluidProperties::e_from_p_rho(), LeadFluidProperties::e_from_p_rho(), e_from_p_rho(), SimpleFluidProperties::e_from_p_rho(), TemperaturePressureFunctionFluidProperties::e_from_p_rho(), FlibeFluidProperties::e_from_p_rho(), FlinakFluidProperties::e_from_p_rho(), HeliumFluidProperties::e_from_p_rho(), e_from_p_rho_template(), LinearFluidProperties::e_from_p_T(), StiffenedGasFluidProperties::e_from_p_T(), LeadLithiumFluidProperties::e_from_p_T(), LeadBismuthFluidProperties::e_from_p_T(), LeadFluidProperties::e_from_p_T(), CaloricallyImperfectGas::e_from_p_T(), IdealGasFluidProperties::e_from_p_T(), e_from_v_h(), TabulatedFluidProperties::e_from_v_h(), SimpleFluidProperties::e_from_v_h(), StiffenedGasFluidProperties::g_from_v_e(), CaloricallyImperfectGas::g_from_v_e(), IdealGasFluidProperties::g_from_v_e(), TabulatedFluidProperties::g_from_v_e(), CaloricallyImperfectGas::gamma_from_p_T(), TabulatedFluidProperties::generateTabulatedData(), LinearFluidProperties::h_from_p_T(), StiffenedGasFluidProperties::h_from_p_T(), LeadLithiumFluidProperties::h_from_p_T(), LeadBismuthFluidProperties::h_from_p_T(), LeadFluidProperties::h_from_p_T(), CaloricallyImperfectGas::h_from_p_T(), IdealGasFluidProperties::h_from_p_T(), henryConstant(), LeadBismuthFluidProperties::k_from_p_T(), LeadLithiumFluidProperties::k_from_p_T(), LeadFluidProperties::k_from_p_T(), CaloricallyImperfectGas::k_from_p_T(), IdealGasFluidProperties::k_from_p_T(), CaloricallyImperfectGas::k_from_v_e(), TemperaturePressureFunctionFluidProperties::k_from_v_e(), TabulatedFluidProperties::k_from_v_e(), k_from_v_e_template(), LeadBismuthFluidProperties::mu_from_p_T(), LeadLithiumFluidProperties::mu_from_p_T(), LeadFluidProperties::mu_from_p_T(), CaloricallyImperfectGas::mu_from_v_e(), TemperaturePressureFunctionFluidProperties::mu_from_v_e(), TabulatedFluidProperties::mu_from_v_e(), StiffenedGasFluidProperties::p_from_h_s(), CaloricallyImperfectGas::p_from_h_s(), IdealGasFluidProperties::p_from_h_s(), StiffenedGasFluidProperties::p_from_T_v(), CaloricallyImperfectGas::p_from_T_v(), IdealGasFluidProperties::p_from_T_v(), LinearFluidProperties::p_from_v_e(), LeadLithiumFluidProperties::p_from_v_e(), LeadFluidProperties::p_from_v_e(), LeadBismuthFluidProperties::p_from_v_e(), LinearTestFluidProperties::p_from_v_e(), CaloricallyImperfectGas::p_from_v_e(), IdealGasFluidProperties::p_from_v_e(), FlibeFluidProperties::p_from_v_e(), FlinakFluidProperties::p_from_v_e(), HeliumFluidProperties::p_from_v_e(), TemperaturePressureFunctionFluidProperties::p_from_v_e(), SimpleFluidProperties::p_from_v_e(), TabulatedFluidProperties::p_from_v_e(), p_from_v_e_template(), SimpleFluidProperties::p_from_v_h(), SinglePhaseFluidProperties::p_T_from_v_e(), p_T_from_v_e(), SinglePhaseFluidProperties::rho_e_from_p_T(), StiffenedGasFluidProperties::rho_from_p_s(), TabulatedFluidProperties::rho_from_p_s(), CaloricallyImperfectGas::rho_from_p_s(), IdealGasFluidProperties::rho_from_p_s(), TestSinglePhaseFluidProperties::rho_from_p_T(), LinearTestFluidProperties::rho_from_p_T(), TabulatedFluidProperties::rho_from_p_T(), LinearFluidProperties::rho_from_p_T(), CaloricallyImperfectGas::rho_from_p_T(), LeadBismuthFluidProperties::rho_from_p_T(), LeadLithiumFluidProperties::rho_from_p_T(), LeadFluidProperties::rho_from_p_T(), IdealGasFluidProperties::rho_from_p_T(), SinglePhaseFluidProperties::rho_mu_from_p_T(), rho_T_from_v_e(), StiffenedGasFluidProperties::s_from_h_p(), CaloricallyImperfectGas::s_from_h_p(), IdealGasFluidProperties::s_from_h_p(), s_from_h_p(), CaloricallyImperfectGas::s_from_p_T(), IdealGasFluidProperties::s_from_p_T(), TabulatedFluidProperties::s_from_p_T(), CaloricallyImperfectGas::s_from_T_v(), IdealGasFluidProperties::s_from_T_v(), IdealGasFluidProperties::s_from_v_e(), TabulatedFluidProperties::s_from_v_e(), T_drhodT_from_p_rho(), TabulatedFluidProperties::T_from_h_s(), LeadBismuthFluidProperties::T_from_p_h(), LeadLithiumFluidProperties::T_from_p_h(), LeadFluidProperties::T_from_p_h(), TemperaturePressureFunctionFluidProperties::T_from_p_h(), CaloricallyImperfectGas::T_from_p_h(), SimpleFluidProperties::T_from_p_h(), T_from_p_h(), NaKFluidProperties::T_from_p_rho(), LeadLithiumFluidProperties::T_from_p_rho(), LeadBismuthFluidProperties::T_from_p_rho(), LeadFluidProperties::T_from_p_rho(), TemperaturePressureFunctionFluidProperties::T_from_p_rho(), FlibeFluidProperties::T_from_p_rho(), TabulatedFluidProperties::T_from_p_rho(), FlinakFluidProperties::T_from_p_rho(), SimpleFluidProperties::T_from_p_rho(), TabulatedFluidProperties::T_from_p_s(), TemperaturePressureFunctionFluidProperties::T_from_v_e(), FlibeFluidProperties::T_from_v_e(), FlinakFluidProperties::T_from_v_e(), SinglePhaseFluidProperties::v_e_from_p_T(), LeadBismuthFluidProperties::v_from_p_T(), LeadLithiumFluidProperties::v_from_p_T(), LeadFluidProperties::v_from_p_T(), vaporPressure(), SinglePhaseFluidProperties::vaporPressure(), vaporTemperature(), SinglePhaseFluidProperties::vaporTemperature(), and TabulatedFluidProperties::writeTabulatedData().

◆ p [2/10]

e e e e s SinglePhaseFluidProperties::p
inherited

Definition at line 192 of file SinglePhaseFluidProperties.h.

◆ p [3/10]

e e e e s T T SinglePhaseFluidProperties::p
inherited

Definition at line 196 of file SinglePhaseFluidProperties.h.

◆ p [4/10]

e e e e s T T T SinglePhaseFluidProperties::p
inherited

Definition at line 198 of file SinglePhaseFluidProperties.h.

◆ p [5/10]

e e e e s T T T T SinglePhaseFluidProperties::p
inherited

Definition at line 200 of file SinglePhaseFluidProperties.h.

◆ p [6/10]

e e e e s T T T T T SinglePhaseFluidProperties::p
inherited

Definition at line 202 of file SinglePhaseFluidProperties.h.

◆ p [7/10]

e e e e s T T T T T rho v v SinglePhaseFluidProperties::p
inherited

Definition at line 208 of file SinglePhaseFluidProperties.h.

◆ p [8/10]

e e e e s T T T T T rho v v T e p SinglePhaseFluidProperties::p
inherited

Definition at line 214 of file SinglePhaseFluidProperties.h.

◆ p [9/10]

e e e e s T T T T T rho v v T e p T SinglePhaseFluidProperties::p
inherited

Definition at line 216 of file SinglePhaseFluidProperties.h.

◆ p [10/10]

e e e e s T T T T T rho v v T e p T T SinglePhaseFluidProperties::p
inherited

Definition at line 218 of file SinglePhaseFluidProperties.h.

◆ rho

e e e e s T SinglePhaseFluidProperties::rho
inherited

Definition at line 194 of file SinglePhaseFluidProperties.h.

Referenced by HeliumFluidProperties::beta_from_p_T(), TemperaturePressureFunctionFluidProperties::beta_from_p_T(), FlinakFluidProperties::beta_from_p_T(), StiffenedGasFluidProperties::c2_from_p_rho(), HeliumFluidProperties::c_from_v_e(), TemperaturePressureFunctionFluidProperties::cp_from_p_T(), LeadFluidProperties::cv_from_p_T(), LeadLithiumFluidProperties::cv_from_p_T(), LeadBismuthFluidProperties::cv_from_p_T(), TemperaturePressureFunctionFluidProperties::cv_from_p_T(), TestSinglePhaseFluidProperties::e_from_p_rho(), LinearTestFluidProperties::e_from_p_rho(), LinearFluidProperties::e_from_p_rho(), TabulatedFluidProperties::e_from_p_rho(), LeadLithiumFluidProperties::e_from_p_rho(), LeadBismuthFluidProperties::e_from_p_rho(), IdealGasFluidProperties::e_from_p_rho(), LeadFluidProperties::e_from_p_rho(), e_from_p_rho(), SimpleFluidProperties::e_from_p_rho(), TemperaturePressureFunctionFluidProperties::e_from_p_rho(), FlibeFluidProperties::e_from_p_rho(), FlinakFluidProperties::e_from_p_rho(), HeliumFluidProperties::e_from_p_rho(), e_from_p_rho_template(), NaKFluidProperties::e_from_p_T(), LinearFluidProperties::e_from_p_T(), NaClFluidProperties::e_from_p_T(), SalineMoltenSaltFluidProperties::e_from_p_T(), LinearFluidProperties::h_from_p_T(), TemperaturePressureFunctionFluidProperties::h_from_p_T(), k_from_p_T_template(), CO2FluidProperties::mu_from_p_T(), NitrogenFluidProperties::mu_from_p_T(), NaKFluidProperties::mu_from_p_T(), HydrogenFluidProperties::mu_from_p_T(), mu_from_p_T(), mu_from_p_T_template(), mu_from_v_e(), p_from_v_e_template(), p_T_from_v_e(), SinglePhaseFluidProperties::rho_e_from_p_T(), StiffenedGasFluidProperties::rho_from_p_s(), TabulatedFluidProperties::rho_from_p_s(), IdealGasFluidProperties::rho_from_p_s(), TestSinglePhaseFluidProperties::rho_from_p_T(), LinearTestFluidProperties::rho_from_p_T(), SodiumSaturationFluidProperties::rho_from_p_T(), PBSodiumFluidProperties::rho_from_p_T(), HelmholtzFluidProperties::rho_from_p_T(), TabulatedFluidProperties::rho_from_p_T(), NaKFluidProperties::rho_from_p_T(), LinearFluidProperties::rho_from_p_T(), CO2FluidProperties::rho_from_p_T(), NaClFluidProperties::rho_from_p_T(), LeadBismuthFluidProperties::rho_from_p_T(), LeadLithiumFluidProperties::rho_from_p_T(), CaloricallyImperfectGas::rho_from_p_T(), SalineMoltenSaltFluidProperties::rho_from_p_T(), LeadFluidProperties::rho_from_p_T(), IdealGasFluidProperties::rho_from_p_T(), rho_from_p_T(), SimpleFluidProperties::rho_from_p_T(), TemperaturePressureFunctionFluidProperties::rho_from_p_T(), FlibeFluidProperties::rho_from_p_T(), FlinakFluidProperties::rho_from_p_T(), HeliumFluidProperties::rho_from_p_T(), rho_from_p_T_template(), NitrogenFluidProperties::rho_mu_from_p_T(), HydrogenFluidProperties::rho_mu_from_p_T(), CO2FluidProperties::rho_mu_from_p_T(), rho_mu_from_p_T(), SinglePhaseFluidProperties::rho_mu_from_p_T(), rho_T_from_v_e(), T_drhodT_from_p_rho(), LeadBismuthFluidProperties::T_from_p_rho(), LeadLithiumFluidProperties::T_from_p_rho(), LeadFluidProperties::T_from_p_rho(), TemperaturePressureFunctionFluidProperties::T_from_p_rho(), FlibeFluidProperties::T_from_p_rho(), TabulatedFluidProperties::T_from_p_rho(), FlinakFluidProperties::T_from_p_rho(), SimpleFluidProperties::T_from_p_rho(), SinglePhaseFluidProperties::v_e_from_p_T(), TabulatedFluidProperties::v_from_p_T(), and TemperaturePressureFunctionFluidProperties::v_from_p_T().

◆ T [1/2]

e e e e s T T T T T rho SinglePhaseFluidProperties::T
inherited

Definition at line 204 of file SinglePhaseFluidProperties.h.

Referenced by LinearFluidProperties::beta_from_p_T(), IdealGasFluidProperties::beta_from_p_T(), LeadBismuthFluidProperties::bulk_modulus_from_p_T(), LeadLithiumFluidProperties::bulk_modulus_from_p_T(), LeadFluidProperties::bulk_modulus_from_p_T(), LeadLithiumFluidProperties::c_from_p_T(), CaloricallyImperfectGas::c_from_p_T(), c_from_p_T(), IdealGasFluidProperties::c_from_p_T(), c_from_p_T_template(), IdealGasFluidProperties::c_from_v_e(), LeadBismuthFluidProperties::c_from_v_e(), LeadLithiumFluidProperties::c_from_v_e(), LeadFluidProperties::c_from_v_e(), CaloricallyImperfectGas::c_from_v_e(), HeliumFluidProperties::c_from_v_e(), c_from_v_e(), TabulatedFluidProperties::c_from_v_e(), TabulatedFluidProperties::checkInputVariables(), TabulatedFluidProperties::checkInputVariablesVE(), LeadBismuthFluidProperties::cp_from_p_T(), LeadLithiumFluidProperties::cp_from_p_T(), LeadFluidProperties::cp_from_p_T(), CaloricallyImperfectGas::cp_from_p_T(), IdealGasFluidProperties::cp_from_p_T(), TemperaturePressureFunctionFluidProperties::cp_from_p_T(), cp_from_p_T_template(), CaloricallyImperfectGas::cp_from_T(), CaloricallyImperfectGas::cp_from_v_e(), LeadLithiumFluidProperties::cp_from_v_e(), LeadBismuthFluidProperties::cp_from_v_e(), LeadFluidProperties::cp_from_v_e(), TemperaturePressureFunctionFluidProperties::cp_from_v_e(), TabulatedFluidProperties::cp_from_v_e(), cp_from_v_e(), LeadFluidProperties::cv_from_p_T(), LeadLithiumFluidProperties::cv_from_p_T(), LeadBismuthFluidProperties::cv_from_p_T(), CaloricallyImperfectGas::cv_from_p_T(), IdealGasFluidProperties::cv_from_p_T(), cv_from_p_T_template(), CaloricallyImperfectGas::cv_from_T(), CaloricallyImperfectGas::cv_from_T_v(), CaloricallyImperfectGas::cv_from_v_e(), LeadLithiumFluidProperties::cv_from_v_e(), LeadBismuthFluidProperties::cv_from_v_e(), LeadFluidProperties::cv_from_v_e(), TemperaturePressureFunctionFluidProperties::cv_from_v_e(), TabulatedFluidProperties::cv_from_v_e(), cv_from_v_e(), d2gamma1_dpi2(), d2gamma1_dpitau(), d2gamma1_dtau2(), d2gamma2_dpi2(), d2gamma2_dpitau(), d2gamma2_dtau2(), d2gamma5_dpi2(), d2gamma5_dpitau(), d2gamma5_dtau2(), d2phi3_ddelta2(), d2phi3_ddeltatau(), d2phi3_dtau2(), densityRegion3(), dgamma1_dpi(), dgamma1_dtau(), dgamma2_dpi(), dgamma2_dtau(), dgamma5_dpi(), dgamma5_dtau(), dphi3_ddelta(), dphi3_dtau(), TabulatedFluidProperties::e_from_p_rho(), LeadLithiumFluidProperties::e_from_p_rho(), LeadBismuthFluidProperties::e_from_p_rho(), LeadFluidProperties::e_from_p_rho(), SimpleFluidProperties::e_from_p_rho(), LinearFluidProperties::e_from_p_T(), StiffenedGasFluidProperties::e_from_p_T(), LeadLithiumFluidProperties::e_from_p_T(), LeadBismuthFluidProperties::e_from_p_T(), CaloricallyImperfectGas::e_from_p_T(), LeadFluidProperties::e_from_p_T(), IdealGasFluidProperties::e_from_p_T(), e_from_p_T_template(), CaloricallyImperfectGas::e_from_T(), StiffenedGasFluidProperties::e_from_T_v(), CaloricallyImperfectGas::e_from_T_v(), IdealGasFluidProperties::e_from_T_v(), HeliumFluidProperties::e_from_T_v(), CaloricallyImperfectGas::e_from_v_h(), e_from_v_h(), TabulatedFluidProperties::e_from_v_h(), SimpleFluidProperties::e_from_v_h(), StiffenedGasFluidProperties::g_from_v_e(), CaloricallyImperfectGas::g_from_v_e(), IdealGasFluidProperties::g_from_v_e(), TabulatedFluidProperties::g_from_v_e(), gamma1(), gamma2(), gamma5(), CaloricallyImperfectGas::gamma_from_p_T(), LinearFluidProperties::h_from_p_T(), StiffenedGasFluidProperties::h_from_p_T(), LeadLithiumFluidProperties::h_from_p_T(), LeadBismuthFluidProperties::h_from_p_T(), LeadFluidProperties::h_from_p_T(), CaloricallyImperfectGas::h_from_p_T(), IdealGasFluidProperties::h_from_p_T(), h_from_p_T_template(), CaloricallyImperfectGas::h_from_T(), StiffenedGasFluidProperties::h_from_T_v(), CaloricallyImperfectGas::h_from_T_v(), IdealGasFluidProperties::h_from_T_v(), LeadLithiumFluidProperties::h_from_v_e(), LeadBismuthFluidProperties::h_from_v_e(), LeadFluidProperties::h_from_v_e(), henryConstant(), LeadBismuthFluidProperties::k_from_p_T(), LeadLithiumFluidProperties::k_from_p_T(), LeadFluidProperties::k_from_p_T(), CaloricallyImperfectGas::k_from_p_T(), IdealGasFluidProperties::k_from_p_T(), k_from_p_T_template(), k_from_rho_T_template(), CaloricallyImperfectGas::k_from_v_e(), LeadBismuthFluidProperties::k_from_v_e(), LeadLithiumFluidProperties::k_from_v_e(), LeadFluidProperties::k_from_v_e(), TemperaturePressureFunctionFluidProperties::k_from_v_e(), TabulatedFluidProperties::k_from_v_e(), HeliumFluidProperties::k_from_v_e(), SinglePhaseFluidProperties::makeZeroAndOne(), LeadBismuthFluidProperties::mu_from_p_T(), CaloricallyImperfectGas::mu_from_p_T(), LeadLithiumFluidProperties::mu_from_p_T(), LeadFluidProperties::mu_from_p_T(), IdealGasFluidProperties::mu_from_p_T(), mu_from_p_T_template(), mu_from_rho_T_template(), CaloricallyImperfectGas::mu_from_v_e(), LeadLithiumFluidProperties::mu_from_v_e(), LeadBismuthFluidProperties::mu_from_v_e(), LeadFluidProperties::mu_from_v_e(), TemperaturePressureFunctionFluidProperties::mu_from_v_e(), TabulatedFluidProperties::mu_from_v_e(), mu_from_v_e(), CaloricallyImperfectGas::p_from_h_s(), StiffenedGasFluidProperties::p_from_T_v(), CaloricallyImperfectGas::p_from_T_v(), IdealGasFluidProperties::p_from_T_v(), HeliumFluidProperties::p_from_T_v(), CaloricallyImperfectGas::p_from_v_e(), HeliumFluidProperties::p_from_v_e(), FlibeFluidProperties::p_from_v_e(), FlinakFluidProperties::p_from_v_e(), TemperaturePressureFunctionFluidProperties::p_from_v_e(), p_from_v_e_template(), SimpleFluidProperties::p_from_v_h(), SinglePhaseFluidProperties::p_T_from_h_s(), SinglePhaseFluidProperties::p_T_from_v_e(), SinglePhaseFluidProperties::p_T_from_v_h(), p_T_from_v_h(), phi3(), SinglePhaseFluidProperties::rho_e_from_p_T(), StiffenedGasFluidProperties::rho_from_p_s(), TabulatedFluidProperties::rho_from_p_s(), CaloricallyImperfectGas::rho_from_p_s(), IdealGasFluidProperties::rho_from_p_s(), TestSinglePhaseFluidProperties::rho_from_p_T(), LinearTestFluidProperties::rho_from_p_T(), TabulatedFluidProperties::rho_from_p_T(), LinearFluidProperties::rho_from_p_T(), CaloricallyImperfectGas::rho_from_p_T(), LeadLithiumFluidProperties::rho_from_p_T(), LeadBismuthFluidProperties::rho_from_p_T(), LeadFluidProperties::rho_from_p_T(), IdealGasFluidProperties::rho_from_p_T(), rho_from_p_T_template(), SinglePhaseFluidProperties::rho_mu_from_p_T(), CaloricallyImperfectGas::s_from_h_p(), TabulatedFluidProperties::s_from_h_p(), s_from_h_p(), CaloricallyImperfectGas::s_from_p_T(), IdealGasFluidProperties::s_from_p_T(), TabulatedFluidProperties::s_from_p_T(), StiffenedGasFluidProperties::s_from_T_v(), CaloricallyImperfectGas::s_from_T_v(), IdealGasFluidProperties::s_from_T_v(), CaloricallyImperfectGas::s_from_v_e(), IdealGasFluidProperties::s_from_v_e(), TabulatedFluidProperties::s_from_v_e(), subregionVolume(), T_drhodT_from_p_rho(), TabulatedFluidProperties::T_from_h_s(), LeadLithiumFluidProperties::T_from_p_h(), LeadBismuthFluidProperties::T_from_p_h(), LeadFluidProperties::T_from_p_h(), HelmholtzFluidProperties::T_from_p_h(), TemperaturePressureFunctionFluidProperties::T_from_p_h(), CaloricallyImperfectGas::T_from_p_h(), IdealGasFluidProperties::T_from_p_h(), TabulatedFluidProperties::T_from_p_h(), T_from_p_h(), NaKFluidProperties::T_from_p_rho(), LeadLithiumFluidProperties::T_from_p_rho(), LeadBismuthFluidProperties::T_from_p_rho(), LeadFluidProperties::T_from_p_rho(), TemperaturePressureFunctionFluidProperties::T_from_p_rho(), TabulatedFluidProperties::T_from_p_rho(), SimpleFluidProperties::T_from_p_rho(), TabulatedFluidProperties::T_from_p_s(), LinearFluidProperties::T_from_v_e(), LeadLithiumFluidProperties::T_from_v_e(), LinearTestFluidProperties::T_from_v_e(), LeadBismuthFluidProperties::T_from_v_e(), LeadFluidProperties::T_from_v_e(), CaloricallyImperfectGas::T_from_v_e(), TemperaturePressureFunctionFluidProperties::T_from_v_e(), IdealGasFluidProperties::T_from_v_e(), FlibeFluidProperties::T_from_v_e(), FlinakFluidProperties::T_from_v_e(), HeliumFluidProperties::T_from_v_e(), SimpleFluidProperties::T_from_v_e(), TabulatedFluidProperties::T_from_v_e(), SimpleFluidProperties::T_from_v_h(), tempXY(), SinglePhaseFluidProperties::v_e_from_p_T(), LeadLithiumFluidProperties::v_from_p_T(), LeadBismuthFluidProperties::v_from_p_T(), LeadFluidProperties::v_from_p_T(), SinglePhaseFluidProperties::vaporPressure(), vaporPressureTemplate(), vaporTemperature(), SinglePhaseFluidProperties::vaporTemperature(), and CaloricallyImperfectGas::Z_from_T().

◆ T [2/2]

e e e e s T T T T T rho v SinglePhaseFluidProperties::T
inherited

Definition at line 206 of file SinglePhaseFluidProperties.h.

◆ v [1/5]

SinglePhaseFluidProperties::v
inherited

Definition at line 182 of file SinglePhaseFluidProperties.h.

Referenced by StiffenedGasFluidProperties::c_from_v_e(), LinearFluidProperties::c_from_v_e(), TestSinglePhaseFluidProperties::c_from_v_e(), IdealGasFluidProperties::c_from_v_e(), LeadBismuthFluidProperties::c_from_v_e(), LeadLithiumFluidProperties::c_from_v_e(), LeadFluidProperties::c_from_v_e(), CaloricallyImperfectGas::c_from_v_e(), HeliumFluidProperties::c_from_v_e(), c_from_v_e(), SimpleFluidProperties::c_from_v_e(), TabulatedFluidProperties::c_from_v_e(), TabulatedFluidProperties::checkInputVariablesVE(), LinearFluidProperties::cp_from_v_e(), StiffenedGasFluidProperties::cp_from_v_e(), CaloricallyImperfectGas::cp_from_v_e(), TestSinglePhaseFluidProperties::cp_from_v_e(), LeadBismuthFluidProperties::cp_from_v_e(), LeadLithiumFluidProperties::cp_from_v_e(), LeadFluidProperties::cp_from_v_e(), IdealGasFluidProperties::cp_from_v_e(), SimpleFluidProperties::cp_from_v_e(), TemperaturePressureFunctionFluidProperties::cp_from_v_e(), FlibeFluidProperties::cp_from_v_e(), FlinakFluidProperties::cp_from_v_e(), HeliumFluidProperties::cp_from_v_e(), TabulatedFluidProperties::cp_from_v_e(), cp_from_v_e(), FlibeFluidProperties::cv_from_p_T(), FlinakFluidProperties::cv_from_p_T(), StiffenedGasFluidProperties::cv_from_v_e(), LinearFluidProperties::cv_from_v_e(), TestSinglePhaseFluidProperties::cv_from_v_e(), CaloricallyImperfectGas::cv_from_v_e(), LeadBismuthFluidProperties::cv_from_v_e(), LeadLithiumFluidProperties::cv_from_v_e(), LeadFluidProperties::cv_from_v_e(), IdealGasFluidProperties::cv_from_v_e(), SimpleFluidProperties::cv_from_v_e(), TemperaturePressureFunctionFluidProperties::cv_from_v_e(), FlibeFluidProperties::cv_from_v_e(), FlinakFluidProperties::cv_from_v_e(), TabulatedFluidProperties::cv_from_v_e(), cv_from_v_e(), HeliumFluidProperties::cv_from_v_e(), HeliumFluidProperties::e_from_p_rho(), SodiumSaturationFluidProperties::e_from_p_T(), LeadBismuthFluidProperties::e_from_p_T(), LeadLithiumFluidProperties::e_from_p_T(), LeadFluidProperties::e_from_p_T(), FlibeFluidProperties::e_from_p_T(), FlinakFluidProperties::e_from_p_T(), StiffenedGasFluidProperties::e_from_T_v(), CaloricallyImperfectGas::e_from_T_v(), HeliumFluidProperties::e_from_T_v(), LinearFluidProperties::e_from_v_h(), CaloricallyImperfectGas::e_from_v_h(), StiffenedGasFluidProperties::e_from_v_h(), IdealGasFluidProperties::e_from_v_h(), e_from_v_h(), TabulatedFluidProperties::e_from_v_h(), SimpleFluidProperties::e_from_v_h(), StiffenedGasFluidProperties::g_from_v_e(), CaloricallyImperfectGas::g_from_v_e(), IdealGasFluidProperties::g_from_v_e(), TabulatedFluidProperties::g_from_v_e(), CaloricallyImperfectGas::gamma_from_v_e(), TabulatedFluidProperties::generateVETabulatedData(), LeadBismuthFluidProperties::h_from_v_e(), LeadLithiumFluidProperties::h_from_v_e(), LeadFluidProperties::h_from_v_e(), StiffenedGasFluidProperties::k_from_v_e(), CaloricallyImperfectGas::k_from_v_e(), TestSinglePhaseFluidProperties::k_from_v_e(), LeadBismuthFluidProperties::k_from_v_e(), LeadLithiumFluidProperties::k_from_v_e(), LeadFluidProperties::k_from_v_e(), TemperaturePressureFunctionFluidProperties::k_from_v_e(), TabulatedFluidProperties::k_from_v_e(), FlibeFluidProperties::k_from_v_e(), FlinakFluidProperties::k_from_v_e(), HeliumFluidProperties::k_from_v_e(), k_from_v_e(), k_from_v_e_template(), LinearTestFluidProperties::mu_from_v_e(), TestSinglePhaseFluidProperties::mu_from_v_e(), CaloricallyImperfectGas::mu_from_v_e(), LeadBismuthFluidProperties::mu_from_v_e(), LeadLithiumFluidProperties::mu_from_v_e(), LeadFluidProperties::mu_from_v_e(), TemperaturePressureFunctionFluidProperties::mu_from_v_e(), FlibeFluidProperties::mu_from_v_e(), TabulatedFluidProperties::mu_from_v_e(), FlinakFluidProperties::mu_from_v_e(), mu_from_v_e(), HeliumFluidProperties::mu_from_v_e(), CaloricallyImperfectGas::p_from_h_s(), StiffenedGasFluidProperties::p_from_T_v(), CaloricallyImperfectGas::p_from_T_v(), IdealGasFluidProperties::p_from_T_v(), HeliumFluidProperties::p_from_T_v(), TestConservedVarFluidProperties::p_from_v_e(), LinearFluidProperties::p_from_v_e(), LeadBismuthFluidProperties::p_from_v_e(), LeadFluidProperties::p_from_v_e(), LeadLithiumFluidProperties::p_from_v_e(), LinearTestFluidProperties::p_from_v_e(), CaloricallyImperfectGas::p_from_v_e(), IdealGasFluidProperties::p_from_v_e(), HeliumFluidProperties::p_from_v_e(), FlibeFluidProperties::p_from_v_e(), FlinakFluidProperties::p_from_v_e(), SodiumSaturationFluidProperties::p_from_v_e(), TemperaturePressureFunctionFluidProperties::p_from_v_e(), p_from_v_e(), SimpleFluidProperties::p_from_v_e(), TabulatedFluidProperties::p_from_v_e(), p_from_v_e_template(), SimpleFluidProperties::p_from_v_h(), SinglePhaseFluidProperties::p_T_from_v_e(), p_T_from_v_e(), SinglePhaseFluidProperties::p_T_from_v_h(), p_T_from_v_h(), rho_T_from_v_e(), CaloricallyImperfectGas::s_from_h_p(), CaloricallyImperfectGas::s_from_p_T(), StiffenedGasFluidProperties::s_from_T_v(), CaloricallyImperfectGas::s_from_T_v(), IdealGasFluidProperties::s_from_T_v(), TestSinglePhaseFluidProperties::s_from_v_e(), CaloricallyImperfectGas::s_from_v_e(), IdealGasFluidProperties::s_from_v_e(), TabulatedFluidProperties::s_from_v_e(), LinearFluidProperties::T_from_v_e(), LeadBismuthFluidProperties::T_from_v_e(), LinearTestFluidProperties::T_from_v_e(), LeadLithiumFluidProperties::T_from_v_e(), LeadFluidProperties::T_from_v_e(), CaloricallyImperfectGas::T_from_v_e(), TemperaturePressureFunctionFluidProperties::T_from_v_e(), SodiumSaturationFluidProperties::T_from_v_e(), IdealGasFluidProperties::T_from_v_e(), FlibeFluidProperties::T_from_v_e(), FlinakFluidProperties::T_from_v_e(), HeliumFluidProperties::T_from_v_e(), SimpleFluidProperties::T_from_v_e(), T_from_v_e(), TabulatedFluidProperties::T_from_v_e(), SimpleFluidProperties::T_from_v_h(), SinglePhaseFluidProperties::v_e_from_p_T(), StiffenedGasFluidProperties::v_e_spndl_from_T(), CaloricallyImperfectGas::v_e_spndl_from_T(), IdealGasFluidProperties::v_e_spndl_from_T(), SodiumSaturationFluidProperties::v_from_p_T(), TabulatedFluidProperties::v_from_p_T(), v_from_p_T(), LeadBismuthFluidProperties::v_from_p_T(), LeadLithiumFluidProperties::v_from_p_T(), LeadFluidProperties::v_from_p_T(), TemperaturePressureFunctionFluidProperties::v_from_p_T(), FlibeFluidProperties::v_from_p_T(), FlinakFluidProperties::v_from_p_T(), v_from_p_T_template(), and TabulatedFluidProperties::writeTabulatedData().

◆ v [2/5]

e SinglePhaseFluidProperties::v
inherited

Definition at line 184 of file SinglePhaseFluidProperties.h.

◆ v [3/5]

e e SinglePhaseFluidProperties::v
inherited

Definition at line 186 of file SinglePhaseFluidProperties.h.

◆ v [4/5]

e e e SinglePhaseFluidProperties::v
inherited

Definition at line 188 of file SinglePhaseFluidProperties.h.

◆ v [5/5]

e e e e s T T T T T rho v v T SinglePhaseFluidProperties::v
inherited

Definition at line 210 of file SinglePhaseFluidProperties.h.


The documentation for this class was generated from the following files: