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 inRegionPH (Real pressure, Real enthalpy) const
 Determines the phase region that the given pressure and enthaply 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
 
virtual Real spatialValue (const Point &) const
 
virtual const std::vector< Point > spatialPoints () const
 
void setPrimaryThreadCopy (UserObject *primary)
 
UserObjectprimaryThreadCopy ()
 
SubProblemgetSubProblem () const
 
bool shouldDuplicateInitialExecution () 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)
 
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
 
bool isKokkosObject () const
 
MooseAppgetMooseApp () const
 
const std::string & type () const
 
const std::string & name () const
 
std::string typeAndName () const
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
MooseObjectName uniqueName () const
 
const InputParametersparameters () const
 
const hit::Node * getHitNode () const
 
bool hasBase () const
 
const std::string & getBase () 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 haveParameter (const std::string &name) const
 
bool isParamValid (const std::string &name) const
 
bool isParamSetByUser (const std::string &name) const
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 
void paramError (const std::string &param, Args... args) const
 
void paramWarning (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
 
std::string messagePrefix (const bool hit_prefix=true) const
 
std::string errorPrefix (const std::string &) const
 
void mooseError (Args &&... args) const
 
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
void mooseErrorNonPrefixed (Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseDeprecatedNoTrace (Args &&... args) const
 
void mooseInfo (Args &&... args) const
 
void callMooseError (std::string msg, const bool with_prefix, const hit::Node *node=nullptr, const bool show_trace=true) 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 UserObjectBasegetUserObjectBase (const std::string &param_name, bool is_dependency=true) const
 
const UserObjectBasegetUserObjectBaseByName (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)
 
Moose::Kokkos::MaterialProperty< T, dimension > getKokkosMaterialPropertyByName (const std::string &prop_name_in)
 
Moose::Kokkos::MaterialProperty< T, dimension > getKokkosMaterialPropertyOldByName (const std::string &prop_name)
 
Moose::Kokkos::MaterialProperty< T, dimension > getKokkosMaterialPropertyOlderByName (const std::string &prop_name)
 
Moose::Kokkos::MaterialProperty< T, dimension > getKokkosMaterialProperty (const std::string &name)
 
Moose::Kokkos::MaterialProperty< T, dimension > getKokkosMaterialPropertyOld (const std::string &name)
 
Moose::Kokkos::MaterialProperty< T, dimension > getKokkosMaterialPropertyOlder (const std::string &name)
 
std::pair< const MaterialProperty< T > *, std::set< SubdomainID > > getBlockMaterialProperty (const MaterialPropertyName &name)
 
std::pair< Moose::Kokkos::MaterialProperty< T, dimension >, std::set< SubdomainID > > getKokkosBlockMaterialProperty (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)
 
virtual 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 hasKokkosMaterialProperty (const std::string &name)
 
bool hasKokkosMaterialProperty (const std::string &name)
 
bool hasKokkosMaterialPropertyByName (const std::string &name)
 
bool hasKokkosMaterialPropertyByName (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
 
Moose::Kokkos::Function getKokkosFunction (const std::string &name) const
 
const TgetKokkosFunction (const std::string &name) const
 
Moose::Kokkos::Function getKokkosFunctionByName (const FunctionName &name) const
 
const TgetKokkosFunctionByName (const FunctionName &name) const
 
bool hasKokkosFunction (const std::string &param_name) const
 
bool hasKokkosFunctionByName (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 callMooseError (MooseApp *const app, const InputParameters &params, std::string msg, const bool with_prefix, const hit::Node *node, const bool show_trace=true)
 
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, NameFunc &&name_func)
 
static void cyclicDependencyError (CyclicDependencyException< T2 > &e, const std::string &header)
 

Public Attributes

 usingCombinedWarningSolutionWarnings
 
const ConsoleStream _console
 

Static Public Attributes

static const Real _R = 8.3144598
 Universal gas constant (J/mol/K) More...
 
static const std::string type_param
 
static const std::string name_param
 
static const std::string unique_name_param
 
static const std::string app_param
 
static const std::string moose_base_param
 
static const std::string kokkos_object_param
 
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 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 UserObjectBase &uo) const override
 
void addReporterDependencyHelper (const ReporterName &reporter_name) override
 
void flagInvalidSolutionInternal (const InvalidSolutionID invalid_solution_id) const
 
InvalidSolutionID registerInvalidSolutionInternal (const std::string &message, const bool warning) const
 
const ReporterContextBasegetReporterContextBaseByName (const ReporterName &reporter_name) const
 
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)
 
virtual void getKokkosMaterialPropertyHook (const std::string &, const unsigned int)
 
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)
 

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 bool _verbose_newton
 Whether to output information about newton solves to console. 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...
 
const Moose::CoordinateSystemType_coord_sys
 
const THREAD_ID _tid
 
SubProblem_subproblem
 
FEProblemBase_fe_problem
 
SystemBase_sys
 
Assembly_assembly
 
const bool _duplicate_initial_execution
 
std::set< std::string > _depend_uo
 
const bool & _enabled
 
MooseApp_app
 
Factory_factory
 
ActionFactory_action_factory
 
const std::string & _type
 
const std::string & _name
 
const InputParameters_pars
 
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 bool _is_kokkos_object
 
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)
const InputParameters & parameters() const
SinglePhaseFluidProperties(const InputParameters &parameters)
const Real _T_triple
Triple point temperature (K)
const Real _rho_critical
Critical density (kg/m^3)
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 585 of file Water97FluidProperties.C.

Referenced by b3ab(), and inRegion().

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

Referenced by inRegionPH().

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

◆ 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 705 of file Water97FluidProperties.C.

Referenced by subregion2ph().

706 {
707  // Check whether the input pressure is within the region of validity of this equation.
708  if (pressure < 6.5467e6 || pressure > 100.0e6)
709  mooseException(
710  name(), ": b2bc(): Pressure ", pressure, " is outside range of 6.5467 MPa <= p <= 100 MPa");
711 
712  Real pi = pressure / 1.0e6;
713 
714  return (0.26526571908428e4 + std::sqrt((pi - 0.45257578905948e1) / 0.12809002730136e-3)) * 1.0e3;
715 }
const std::string & name() const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:57
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 903 of file Water97FluidProperties.C.

Referenced by subregion3ph().

904 {
905  // Check whether the input pressure is within the region of validity of this equation.
906  if (pressure < b23p(623.15) || pressure > 100.0e6)
907  mooseException(
908  name(), ": b3ab(): Pressure ", pressure, "is outside range of 16.529 MPa <= p <= 100 MPa");
909 
910  Real pi = pressure / 1.0e6;
911  Real eta = 0.201464004206875e4 + 0.374696550136983e1 * pi - 0.219921901054187e-1 * pi * pi +
912  0.87513168600995e-4 * pi * pi * pi;
913 
914  return eta * 1.0e3;
915 }
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:57
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 2222 of file Water97FluidProperties.h.

Referenced by c_from_p_T().

2223 {
2224  T speed2, pi, tau, delta;
2225 
2226  // Determine which region the point is in
2227  unsigned int region =
2229  switch (region)
2230  {
2231  case 1:
2232  pi = pressure / _p_star[0];
2233  tau = _T_star[0] / temperature;
2234  speed2 = _Rw * temperature * Utility::pow<2>(dgamma1_dpi(pi, tau)) /
2235  (Utility::pow<2>(dgamma1_dpi(pi, tau) - tau * d2gamma1_dpitau(pi, tau)) /
2236  (tau * tau * d2gamma1_dtau2(pi, tau)) -
2237  d2gamma1_dpi2(pi, tau));
2238  break;
2239 
2240  case 2:
2241  pi = pressure / _p_star[1];
2242  tau = _T_star[1] / temperature;
2243  speed2 = _Rw * temperature * Utility::pow<2>(pi * dgamma2_dpi(pi, tau)) /
2244  ((-pi * pi * d2gamma2_dpi2(pi, tau)) +
2245  Utility::pow<2>(pi * dgamma2_dpi(pi, tau) - tau * pi * d2gamma2_dpitau(pi, tau)) /
2246  (tau * tau * d2gamma2_dtau2(pi, tau)));
2247  break;
2248 
2249  case 3:
2250  {
2251  // Calculate density first, then use that in Helmholtz free energy
2252  T density3 = densityRegion3(pressure, temperature);
2253  delta = density3 / _rho_critical;
2254  tau = _T_star[2] / temperature;
2255  speed2 =
2256  _Rw * temperature *
2257  (2.0 * delta * dphi3_ddelta(delta, tau) + delta * delta * d2phi3_ddelta2(delta, tau) -
2258  Utility::pow<2>(delta * dphi3_ddelta(delta, tau) -
2259  delta * tau * d2phi3_ddeltatau(delta, tau)) /
2260  (tau * tau * d2phi3_dtau2(delta, tau)));
2261  break;
2262  }
2263 
2264  case 5:
2265  pi = pressure / _p_star[4];
2266  tau = _T_star[4] / temperature;
2267  speed2 = _Rw * temperature * Utility::pow<2>(pi * dgamma5_dpi(pi, tau)) /
2268  ((-pi * pi * d2gamma5_dpi2(pi, tau)) +
2269  Utility::pow<2>(pi * dgamma5_dpi(pi, tau) - tau * pi * d2gamma5_dpitau(pi, tau)) /
2270  (tau * tau * d2gamma5_dtau2(pi, tau)));
2271  break;
2272 
2273  default:
2274  mooseError("inRegion() has given an incorrect region");
2275  }
2276 
2277  using std::sqrt;
2278  return sqrt(speed2);
2279 }
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:60
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.
CTSub CT_OPERATOR_BINARY CTMul CTCompareLess CTCompareGreater CTCompareEqual _arg template * sqrt(_arg)) *_arg.template D< dtag >()) CT_SIMPLE_UNARY_FUNCTION(tanh
static const std::string pressure
Definition: NS.h:57
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:60
static const std::string pressure
Definition: NS.h:57
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:60
static const std::string pressure
Definition: NS.h:57
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 2283 of file Water97FluidProperties.h.

Referenced by cp_from_p_T().

2284 {
2285  T specific_heat, pi, tau, delta;
2286 
2287  // Determine which region the point is in
2288  unsigned int region =
2290  switch (region)
2291  {
2292  case 1:
2293  pi = pressure / _p_star[0];
2294  tau = _T_star[0] / temperature;
2295  specific_heat = -_Rw * tau * tau * d2gamma1_dtau2(pi, tau);
2296  break;
2297 
2298  case 2:
2299  pi = pressure / _p_star[1];
2300  tau = _T_star[1] / temperature;
2301  specific_heat = -_Rw * tau * tau * d2gamma2_dtau2(pi, tau);
2302  break;
2303 
2304  case 3:
2305  {
2306  // Calculate density first, then use that in Helmholtz free energy
2307  T density3 = densityRegion3(pressure, temperature);
2308  delta = density3 / _rho_critical;
2309  tau = _T_star[2] / temperature;
2310  specific_heat =
2311  _Rw *
2312  (-tau * tau * d2phi3_dtau2(delta, tau) +
2313  (delta * dphi3_ddelta(delta, tau) - delta * tau * d2phi3_ddeltatau(delta, tau)) *
2314  (delta * dphi3_ddelta(delta, tau) - delta * tau * d2phi3_ddeltatau(delta, tau)) /
2315  (2.0 * delta * dphi3_ddelta(delta, tau) +
2316  delta * delta * d2phi3_ddelta2(delta, tau)));
2317  break;
2318  }
2319 
2320  case 5:
2321  pi = pressure / _p_star[4];
2322  tau = _T_star[4] / temperature;
2323  specific_heat = -_Rw * tau * tau * d2gamma5_dtau2(pi, tau);
2324  break;
2325 
2326  default:
2327  mooseError("inRegion() has given an incorrect region");
2328  }
2329  return specific_heat;
2330 }
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:60
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:57
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 320 of file SinglePhaseFluidProperties.C.

321 {
322  return e_from_p_rho(criticalPressure(), criticalDensity());
323 }
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:60
T cv_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string pressure
Definition: NS.h:57

◆ 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:60
T cv_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string pressure
Definition: NS.h:57

◆ 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 2334 of file Water97FluidProperties.h.

Referenced by cv_from_p_T().

2335 {
2336  T specific_heat, pi, tau, delta;
2337 
2338  // Determine which region the point is in
2339  unsigned int region =
2341  switch (region)
2342  {
2343  case 1:
2344  pi = pressure / _p_star[0];
2345  tau = _T_star[0] / temperature;
2346  specific_heat =
2347  _Rw * (-tau * tau * d2gamma1_dtau2(pi, tau) +
2348  Utility::pow<2>(dgamma1_dpi(pi, tau) - tau * d2gamma1_dpitau(pi, tau)) /
2349  d2gamma1_dpi2(pi, tau));
2350  break;
2351 
2352  case 2:
2353  pi = pressure / _p_star[1];
2354  tau = _T_star[1] / temperature;
2355  specific_heat =
2356  _Rw * (-tau * tau * d2gamma2_dtau2(pi, tau) +
2357  Utility::pow<2>(dgamma2_dpi(pi, tau) - tau * d2gamma2_dpitau(pi, tau)) /
2358  d2gamma2_dpi2(pi, tau));
2359  break;
2360 
2361  case 3:
2362  {
2363  // Calculate density first, then use that in Helmholtz free energy
2364  T density3 = densityRegion3(pressure, temperature);
2365  delta = density3 / _rho_critical;
2366  tau = _T_star[2] / temperature;
2367  specific_heat = _Rw * (-tau * tau * d2phi3_dtau2(delta, tau));
2368  break;
2369  }
2370 
2371  case 5:
2372  pi = pressure / _p_star[4];
2373  tau = _T_star[4] / temperature;
2374  specific_heat =
2375  _Rw * (-tau * tau * d2gamma5_dtau2(pi, tau) +
2376  Utility::pow<2>(dgamma5_dpi(pi, tau) - tau * d2gamma5_dpitau(pi, tau)) /
2377  d2gamma5_dpi2(pi, tau));
2378  break;
2379 
2380  default:
2381  mooseError("inRegion() has given an incorrect region");
2382  }
2383  return specific_heat;
2384 }
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:60
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:57
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 1599 of file Water97FluidProperties.h.

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

1600 {
1601  T sum = 0.0;
1602  for (std::size_t i = 0; i < _n1.size(); ++i)
1603  sum += _n1[i] * _I1[i] * (_I1[i] - 1) * MathUtils::pow(7.1 - pi, _I1[i] - 2) *
1604  MathUtils::pow(tau - 1.222, _J1[i]);
1605 
1606  return sum;
1607 }
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 1635 of file Water97FluidProperties.h.

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

1636 {
1637  T dg = 0.0;
1638  for (std::size_t i = 0; i < _n1.size(); ++i)
1639  dg += -_n1[i] * _I1[i] * _J1[i] * MathUtils::pow(7.1 - pi, _I1[i] - 1) *
1640  MathUtils::pow(tau - 1.222, _J1[i] - 1);
1641 
1642  return dg;
1643 }
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 1623 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().

1624 {
1625  T dg = 0.0;
1626  for (std::size_t i = 0; i < _n1.size(); ++i)
1627  dg += _n1[i] * _J1[i] * (_J1[i] - 1) * MathUtils::pow(7.1 - pi, _I1[i]) *
1628  MathUtils::pow(tau - 1.222, _J1[i] - 2);
1629 
1630  return dg;
1631 }
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 1668 of file Water97FluidProperties.h.

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

1669 {
1670  // Ideal gas part of the Gibbs free energy
1671  T dg0 = -1.0 / pi / pi;
1672 
1673  // Residual part of the Gibbs free energy
1674  T dgr = 0.0;
1675  for (std::size_t i = 0; i < _n2.size(); ++i)
1676  dgr += _n2[i] * _I2[i] * (_I2[i] - 1) * MathUtils::pow(pi, _I2[i] - 2) *
1677  MathUtils::pow(tau - 0.5, _J2[i]);
1678 
1679  return dg0 + dgr;
1680 }
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 1719 of file Water97FluidProperties.h.

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

1720 {
1721  // Ideal gas part of the Gibbs free energy
1722  T dg0 = 0.0;
1723 
1724  // Residual part of the Gibbs free energy
1725  T dgr = 0.0;
1726  for (std::size_t i = 0; i < _n2.size(); ++i)
1727  dgr += _n2[i] * _I2[i] * _J2[i] * MathUtils::pow(pi, _I2[i] - 1) *
1728  MathUtils::pow(tau - 0.5, _J2[i] - 1);
1729 
1730  return dg0 + dgr;
1731 }
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 1701 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().

1702 {
1703  // Ideal gas part of the Gibbs free energy
1704  T dg0 = 0.0;
1705  for (std::size_t i = 0; i < _n02.size(); ++i)
1706  dg0 += _n02[i] * _J02[i] * (_J02[i] - 1) * MathUtils::pow(tau, _J02[i] - 2);
1707 
1708  // Residual part of the Gibbs free energy
1709  T dgr = 0.0;
1710  for (std::size_t i = 0; i < _n2.size(); ++i)
1711  dgr += _n2[i] * _J2[i] * (_J2[i] - 1) * MathUtils::pow(pi, _I2[i]) *
1712  MathUtils::pow(tau - 0.5, _J2[i] - 2);
1713 
1714  return dg0 + dgr;
1715 }
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 1842 of file Water97FluidProperties.h.

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

1843 {
1844  // Ideal gas part of the Gibbs free energy
1845  T dg0 = -1.0 / pi / pi;
1846 
1847  // Residual part of the Gibbs free energy
1848  T dgr = 0.0;
1849  for (std::size_t i = 0; i < _n5.size(); ++i)
1850  dgr += _n5[i] * _I5[i] * (_I5[i] - 1) * MathUtils::pow(pi, _I5[i] - 2) *
1851  MathUtils::pow(tau, _J5[i]);
1852 
1853  return dg0 + dgr;
1854 }
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 1893 of file Water97FluidProperties.h.

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

1894 {
1895  // Ideal gas part of the Gibbs free energy
1896  T dg0 = 0.0;
1897 
1898  // Residual part of the Gibbs free energy
1899  T dgr = 0.0;
1900  for (std::size_t i = 0; i < _n5.size(); ++i)
1901  dgr +=
1902  _n5[i] * _I5[i] * _J5[i] * MathUtils::pow(pi, _I5[i] - 1) * MathUtils::pow(tau, _J5[i] - 1);
1903 
1904  return dg0 + dgr;
1905 }
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 1875 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().

1876 {
1877  // Ideal gas part of the Gibbs free energy
1878  T dg0 = 0.0;
1879  for (std::size_t i = 0; i < _n05.size(); ++i)
1880  dg0 += _n05[i] * _J05[i] * (_J05[i] - 1) * MathUtils::pow(tau, _J05[i] - 2);
1881 
1882  // Residual part of the Gibbs free energy
1883  T dgr = 0.0;
1884  for (std::size_t i = 0; i < _n5.size(); ++i)
1885  dgr += _n5[i] * _J5[i] * (_J5[i] - 1) * MathUtils::pow(pi, _I5[i]) *
1886  MathUtils::pow(tau, _J5[i] - 2);
1887 
1888  return dg0 + dgr;
1889 }
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 1759 of file Water97FluidProperties.h.

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

1760 {
1761  T sum = 0.0;
1762  for (std::size_t i = 1; i < _n3.size(); ++i)
1763  sum += _n3[i] * _I3[i] * (_I3[i] - 1) * MathUtils::pow(delta, _I3[i] - 2) *
1764  MathUtils::pow(tau, _J3[i]);
1765 
1766  return -_n3[0] / delta / delta + sum;
1767 }
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 1794 of file Water97FluidProperties.h.

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

1795 {
1796  T sum = 0.0;
1797  for (std::size_t i = 1; i < _n3.size(); ++i)
1798  sum += _n3[i] * _I3[i] * _J3[i] * MathUtils::pow(delta, _I3[i] - 1) *
1799  MathUtils::pow(tau, _J3[i] - 1);
1800 
1801  return sum;
1802 }
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 1782 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().

1783 {
1784  T sum = 0.0;
1785  for (std::size_t i = 1; i < _n3.size(); ++i)
1786  sum += _n3[i] * _J3[i] * (_J3[i] - 1) * MathUtils::pow(delta, _I3[i]) *
1787  MathUtils::pow(tau, _J3[i] - 2);
1788 
1789  return sum;
1790 }
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  using std::exp;
1546 
1547  // Region 3 is subdivided into 26 subregions, each with a given backwards equation
1548  // to directly calculate density from pressure and temperature without the need for
1549  // expensive iterations. Find the subregion id that the point is in:
1550  unsigned int sid =
1552 
1553  T vstar, pi, theta;
1554  Real a, b, c, d, e;
1555  unsigned int N;
1556 
1557  vstar = _par3[sid][0];
1558  pi = pressure / _par3[sid][1] / 1.0e6;
1559  theta = temperature / _par3[sid][2];
1560  a = _par3[sid][3];
1561  b = _par3[sid][4];
1562  c = _par3[sid][5];
1563  d = _par3[sid][6];
1564  e = _par3[sid][7];
1565  N = _par3N[sid];
1566 
1567  T sum = 0.0;
1568  T volume = 0.0;
1569 
1570  // Note that subregion 13 is the only different formulation
1571  if (sid == 13)
1572  {
1573  for (std::size_t i = 0; i < N; ++i)
1574  sum += _n3s[sid][i] * MathUtils::pow(pi - a, _I3s[sid][i]) *
1575  MathUtils::pow(theta - b, _J3s[sid][i]);
1576 
1577  volume = vstar * exp(sum);
1578  }
1579  else
1580  volume = vstar * subregionVolume(pi, theta, a, b, c, d, e, sid);
1581 
1582  // Density is the inverse of volume
1583  return 1.0 / volume;
1584 }
auto exp(const T &)
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:60
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:57
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 1611 of file Water97FluidProperties.h.

Referenced by e_from_p_T_template(), h_from_p_T_template(), and inRegionPH().

1612 {
1613  T g = 0.0;
1614  for (std::size_t i = 0; i < _n1.size(); ++i)
1615  g += _n1[i] * _J1[i] * MathUtils::pow(7.1 - pi, _I1[i]) *
1616  MathUtils::pow(tau - 1.222, _J1[i] - 1);
1617 
1618  return g;
1619 }
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 1684 of file Water97FluidProperties.h.

Referenced by e_from_p_T_template(), h_from_p_T_template(), and inRegionPH().

1685 {
1686  // Ideal gas part of the Gibbs free energy
1687  T dg0 = 0.0;
1688  for (std::size_t i = 0; i < _n02.size(); ++i)
1689  dg0 += _n02[i] * _J02[i] * MathUtils::pow(tau, _J02[i] - 1);
1690 
1691  // Residual part of the Gibbs free energy
1692  T dgr = 0.0;
1693  for (std::size_t i = 0; i < _n2.size(); ++i)
1694  dgr += _n2[i] * _J2[i] * MathUtils::pow(pi, _I2[i]) * MathUtils::pow(tau - 0.5, _J2[i] - 1);
1695 
1696  return dg0 + dgr;
1697 }
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 1827 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().

1828 {
1829  // Ideal gas part of the Gibbs free energy
1830  T dg0 = 1.0 / pi;
1831 
1832  // Residual part of the Gibbs free energy
1833  T dgr = 0.0;
1834  for (std::size_t i = 0; i < _n5.size(); ++i)
1835  dgr += _n5[i] * _I5[i] * MathUtils::pow(pi, _I5[i] - 1) * MathUtils::pow(tau, _J5[i]);
1836 
1837  return dg0 + dgr;
1838 }
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 1858 of file Water97FluidProperties.h.

Referenced by e_from_p_T_template(), and h_from_p_T_template().

1859 {
1860  // Ideal gas part of the Gibbs free energy
1861  T dg0 = 0.0;
1862  for (std::size_t i = 0; i < _n05.size(); ++i)
1863  dg0 += _n05[i] * _J05[i] * MathUtils::pow(tau, _J05[i] - 1);
1864 
1865  // Residual part of the Gibbs free energy
1866  T dgr = 0.0;
1867  for (std::size_t i = 0; i < _n5.size(); ++i)
1868  dgr += _n5[i] * _J5[i] * MathUtils::pow(pi, _I5[i]) * MathUtils::pow(tau, _J5[i] - 1);
1869 
1870  return dg0 + dgr;
1871 }
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 1748 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().

1749 {
1750  T sum = 0.0;
1751  for (std::size_t i = 1; i < _n3.size(); ++i)
1752  sum += _n3[i] * _I3[i] * MathUtils::pow(delta, _I3[i] - 1) * MathUtils::pow(tau, _J3[i]);
1753 
1754  return _n3[0] / delta + sum;
1755 }
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 1771 of file Water97FluidProperties.h.

Referenced by e_from_p_T_template(), and h_from_p_T_template().

1772 {
1773  T sum = 0.0;
1774  for (std::size_t i = 1; i < _n3.size(); ++i)
1775  sum += _n3[i] * _J3[i] * MathUtils::pow(delta, _I3[i]) * MathUtils::pow(tau, _J3[i] - 1);
1776 
1777  return sum;
1778 }
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 2456 of file Water97FluidProperties.h.

Referenced by e_from_p_rho(), and e_from_p_rho_template().

2457 {
2458  const auto temperature = T_drhodT_from_p_rho(p, rho).first;
2460 }
T e_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:60
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 2464 of file Water97FluidProperties.h.

2466 {
2467  auto functor = [this](const auto & p, const auto & rho)
2468  { return this->e_from_p_rho_template(p, rho); };
2469 
2470  xyDerivatives(p, rho, e, de_dp, de_drho, functor);
2471 }
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:60
static const std::string pressure
Definition: NS.h:57

◆ 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:60
static const std::string pressure
Definition: NS.h:57

◆ 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:60
static const std::string pressure
Definition: NS.h:57

◆ 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:60
static const std::string pressure
Definition: NS.h:57

◆ 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 2046 of file Water97FluidProperties.h.

Referenced by e_from_p_rho_template(), and e_from_p_T().

2047 {
2048  T internal_energy, pi, tau;
2049 
2050  // Determine which region the point is in
2051  unsigned int region =
2053  switch (region)
2054  {
2055  case 1:
2056  pi = pressure / _p_star[0];
2057  tau = _T_star[0] / temperature;
2058  internal_energy =
2059  _Rw * temperature * (tau * dgamma1_dtau(pi, tau) - pi * dgamma1_dpi(pi, tau));
2060  break;
2061 
2062  case 2:
2063  pi = pressure / _p_star[1];
2064  tau = _T_star[1] / temperature;
2065  internal_energy =
2066  _Rw * temperature * (tau * dgamma2_dtau(pi, tau) - pi * dgamma2_dpi(pi, tau));
2067  break;
2068 
2069  case 3:
2070  {
2071  // Calculate density first, then use that in Helmholtz free energy
2072  T density3 = densityRegion3(pressure, temperature);
2073  T delta = density3 / _rho_critical;
2074  tau = _T_star[2] / temperature;
2075  internal_energy = _Rw * temperature * tau * dphi3_dtau(delta, tau);
2076  break;
2077  }
2078 
2079  case 5:
2080  pi = pressure / _p_star[4];
2081  tau = _T_star[4] / temperature;
2082  internal_energy =
2083  _Rw * temperature * (tau * dgamma5_dtau(pi, tau) - pi * dgamma5_dpi(pi, tau));
2084  break;
2085 
2086  default:
2087  mooseError("inRegion() has given an incorrect region");
2088  }
2089  // Output in J/kg
2090  return internal_energy;
2091 }
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:60
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:57
void mooseError(Args &&... args) const
static const std::string internal_energy
Definition: NS.h:62
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 2095 of file Water97FluidProperties.h.

2097 {
2098  T pi, tau, dinternal_energy_dp, dinternal_energy_dT;
2099 
2100  // Determine which region the point is in
2101  unsigned int region =
2103  switch (region)
2104  {
2105  case 1:
2106  {
2107  pi = pressure / _p_star[0];
2108  tau = _T_star[0] / temperature;
2109  T dgdp = dgamma1_dpi(pi, tau);
2110  T d2gdpt = d2gamma1_dpitau(pi, tau);
2111  dinternal_energy_dp =
2112  _Rw * temperature * (tau * d2gdpt - dgdp - pi * d2gamma1_dpi2(pi, tau)) / _p_star[0];
2113  dinternal_energy_dT =
2114  _Rw * (pi * tau * d2gdpt - tau * tau * d2gamma1_dtau2(pi, tau) - pi * dgdp);
2115  break;
2116  }
2117 
2118  case 2:
2119  {
2120  pi = pressure / _p_star[1];
2121  tau = _T_star[1] / temperature;
2122  T dgdp = dgamma2_dpi(pi, tau);
2123  T d2gdpt = d2gamma2_dpitau(pi, tau);
2124  dinternal_energy_dp =
2125  _Rw * temperature * (tau * d2gdpt - dgdp - pi * d2gamma2_dpi2(pi, tau)) / _p_star[1];
2126  dinternal_energy_dT =
2127  _Rw * (pi * tau * d2gdpt - tau * tau * d2gamma2_dtau2(pi, tau) - pi * dgdp);
2128  break;
2129  }
2130 
2131  case 3:
2132  {
2133  // Calculate density first, then use that in Helmholtz free energy
2134  T density3 = densityRegion3(pressure, temperature);
2135  T delta = density3 / _rho_critical;
2136  tau = _T_star[2] / temperature;
2137  T dpdd = dphi3_ddelta(delta, tau);
2138  T d2pddt = d2phi3_ddeltatau(delta, tau);
2139  T d2pdd2 = d2phi3_ddelta2(delta, tau);
2140  dinternal_energy_dp =
2141  _T_star[2] * d2pddt / _rho_critical /
2142  (2.0 * temperature * delta * dpdd + temperature * delta * delta * d2pdd2);
2143  dinternal_energy_dT =
2144  -_Rw * (delta * tau * d2pddt * (dpdd - tau * d2pddt) / (2.0 * dpdd + delta * d2pdd2) +
2145  tau * tau * d2phi3_dtau2(delta, tau));
2146  break;
2147  }
2148 
2149  case 5:
2150  {
2151  pi = pressure / _p_star[4];
2152  tau = _T_star[4] / temperature;
2153  T dgdp = dgamma5_dpi(pi, tau);
2154  T d2gdpt = d2gamma5_dpitau(pi, tau);
2155  dinternal_energy_dp =
2156  _Rw * temperature * (tau * d2gdpt - dgdp - pi * d2gamma5_dpi2(pi, tau)) / _p_star[4];
2157  dinternal_energy_dT =
2158  _Rw * (pi * tau * d2gdpt - tau * tau * d2gamma5_dtau2(pi, tau) - pi * dgdp);
2159  break;
2160  }
2161 
2162  default:
2163  mooseError("inRegion has given an incorrect region");
2164  }
2165 
2166  e = this->e_from_p_T(pressure, temperature);
2167  de_dp = dinternal_energy_dp;
2168  de_dT = dinternal_energy_dT;
2169 }
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:60
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:57
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 483 of file SinglePhaseFluidProperties.C.

484 {
485  mooseError(__PRETTY_FUNCTION__, " not implemented.");
486 }
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 1588 of file Water97FluidProperties.h.

1589 {
1590  T sum = 0.0;
1591  for (std::size_t i = 0; i < _n1.size(); ++i)
1592  sum += _n1[i] * MathUtils::pow(7.1 - pi, _I1[i]) * MathUtils::pow(tau - 1.222, _J1[i]);
1593 
1594  return sum;
1595 }
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 1647 of file Water97FluidProperties.h.

1648 {
1649  using std::log;
1650 
1651  // Ideal gas part of the Gibbs free energy
1652  T sum0 = 0.0;
1653  for (std::size_t i = 0; i < _n02.size(); ++i)
1654  sum0 += _n02[i] * MathUtils::pow(tau, _J02[i]);
1655 
1656  T g0 = log(pi) + sum0;
1657 
1658  // Residual part of the Gibbs free energy
1659  T gr = 0.0;
1660  for (std::size_t i = 0; i < _n2.size(); ++i)
1661  gr += _n2[i] * MathUtils::pow(pi, _I2[i]) * MathUtils::pow(tau - 0.5, _J2[i]);
1662 
1663  return g0 + gr;
1664 }
const std::array< Real, 43 > _n2
const std::array< int, 9 > _J02
const std::array< int, 43 > _J2
auto log(const T &)
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 1806 of file Water97FluidProperties.h.

1807 {
1808  using std::log;
1809 
1810  // Ideal gas part of the Gibbs free energy
1811  T sum0 = 0.0;
1812  for (std::size_t i = 0; i < _n05.size(); ++i)
1813  sum0 += _n05[i] * MathUtils::pow(tau, _J05[i]);
1814 
1815  T g0 = log(pi) + sum0;
1816 
1817  // Residual part of the Gibbs free energy
1818  T gr = 0.0;
1819  for (std::size_t i = 0; i < _n5.size(); ++i)
1820  gr += _n5[i] * MathUtils::pow(pi, _I5[i]) * MathUtils::pow(tau, _J5[i]);
1821 
1822  return g0 + gr;
1823 }
const std::array< int, 6 > _I5
const std::array< int, 6 > _J5
const std::array< int, 6 > _J05
Constants for region 5.
auto log(const T &)
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(), and T_from_p_h_ad().

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

◆ 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:60
static const std::string pressure
Definition: NS.h:57

◆ 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:60
e e e e s T T T T T rho v v T e h
static const std::string pressure
Definition: NS.h:57

◆ 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:60
e e e e s T T T T T rho v v T e h
static const std::string pressure
Definition: NS.h:57

◆ 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 2518 of file Water97FluidProperties.h.

Referenced by h_from_p_T(), and h_from_p_T_template().

2519 {
2520  T enthalpy, pi, tau, delta;
2521 
2522  // Determine which region the point is in
2523  unsigned int region =
2525  switch (region)
2526  {
2527  case 1:
2528  pi = pressure / _p_star[0];
2529  tau = _T_star[0] / temperature;
2530  enthalpy = _Rw * _T_star[0] * dgamma1_dtau(pi, tau);
2531  break;
2532 
2533  case 2:
2534  pi = pressure / _p_star[1];
2535  tau = _T_star[1] / temperature;
2536  enthalpy = _Rw * _T_star[1] * dgamma2_dtau(pi, tau);
2537  break;
2538 
2539  case 3:
2540  {
2541  // Calculate density first, then use that in Helmholtz free energy
2542  T density3 = densityRegion3(pressure, temperature);
2543  delta = density3 / _rho_critical;
2544  tau = _T_star[2] / temperature;
2545  enthalpy =
2546  _Rw * temperature * (tau * dphi3_dtau(delta, tau) + delta * dphi3_ddelta(delta, tau));
2547  break;
2548  }
2549 
2550  case 5:
2551  pi = pressure / _p_star[4];
2552  tau = _T_star[4] / temperature;
2553  enthalpy = _Rw * _T_star[4] * dgamma5_dtau(pi, tau);
2554  break;
2555 
2556  default:
2557  mooseError("Water97FluidProperties::inRegion has given an incorrect region");
2558  }
2559  return enthalpy;
2560 }
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:60
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:57
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 2564 of file Water97FluidProperties.h.

2566 {
2567  auto functor = [this](const auto & pressure, const auto & temperature)
2568  { return this->h_from_p_T_template(pressure, temperature); };
2569 
2570  xyDerivatives(pressure, temperature, h, dh_dp, dh_dT, functor);
2571 }
T h_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:60
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:57

◆ 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 378 of file SinglePhaseFluidProperties.C.

Referenced by TabulatedFluidProperties::henryCoefficients().

379 {
380  mooseError(__PRETTY_FUNCTION__, " not implemented.");
381 }
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 950 of file Water97FluidProperties.C.

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

951 {
952  const Real A = coeffs[0];
953  const Real B = coeffs[1];
954  const Real C = coeffs[2];
955 
956  const Real Tr = temperature / 647.096;
957  const Real tau = 1.0 - Tr;
958 
959  const Real lnkh =
960  A / Tr + B * std::pow(tau, 0.355) / Tr + C * std::pow(Tr, -0.41) * std::exp(tau);
961 
962  // The vapor pressure used in this formulation
963  const std::vector<Real> a{
964  -7.85951783, 1.84408259, -11.7866497, 22.6807411, -15.9618719, 1.80122502};
965  const std::vector<Real> b{1.0, 1.5, 3.0, 3.5, 4.0, 7.5};
966  Real sum = 0.0;
967 
968  for (std::size_t i = 0; i < a.size(); ++i)
969  sum += a[i] * std::pow(tau, b[i]);
970 
971  return 22.064e6 * std::exp(sum / Tr) * std::exp(lnkh);
972 }
static const std::string temperature
Definition: NS.h:60
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
MooseUnits pow(const MooseUnits &, int)
static const std::string C
Definition: NS.h:172

◆ henryConstant() [2/3]

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

Definition at line 975 of file Water97FluidProperties.C.

979 {
980  const Real A = coeffs[0];
981  const Real B = coeffs[1];
982  const Real C = coeffs[2];
983 
984  const Real pc = 22.064e6;
985  const Real Tc = 647.096;
986 
987  const Real Tr = temperature / Tc;
988  const Real tau = 1.0 - Tr;
989 
990  const Real lnkh =
991  A / Tr + B * std::pow(tau, 0.355) / Tr + C * std::pow(Tr, -0.41) * std::exp(tau);
992  const Real dlnkh_dT =
993  (-A / Tr / Tr - B * std::pow(tau, 0.355) / Tr / Tr - 0.355 * B * std::pow(tau, -0.645) / Tr -
994  0.41 * C * std::pow(Tr, -1.41) * std::exp(tau) - C * std::pow(Tr, -0.41) * std::exp(tau)) /
995  Tc;
996 
997  // The vapor pressure used in this formulation
998  const std::vector<Real> a{
999  -7.85951783, 1.84408259, -11.7866497, 22.6807411, -15.9618719, 1.80122502};
1000  const std::vector<Real> b{1.0, 1.5, 3.0, 3.5, 4.0, 7.5};
1001  Real sum = 0.0;
1002  Real dsum = 0.0;
1003 
1004  for (std::size_t i = 0; i < a.size(); ++i)
1005  {
1006  sum += a[i] * std::pow(tau, b[i]);
1007  dsum += a[i] * b[i] * std::pow(tau, b[i] - 1.0);
1008  }
1009 
1010  const Real p = pc * std::exp(sum / Tr);
1011  const Real dp_dT = -p / Tc / Tr * (sum / Tr + dsum);
1012 
1013  // Henry's constant and its derivative wrt temperature
1014  Kh = p * std::exp(lnkh);
1015  dKh_dT = (p * dlnkh_dT + dp_dT) * std::exp(lnkh);
1016 }
static const std::string temperature
Definition: NS.h:60
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
MooseUnits pow(const MooseUnits &, int)
static const std::string C
Definition: NS.h:172

◆ henryConstant() [3/3]

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

Definition at line 1019 of file Water97FluidProperties.C.

1021 {
1022  const Real T = temperature.value();
1023  Real Kh_real = 0.0;
1024  Real dKh_dT_real = 0.0;
1025  henryConstant(T, coeffs, Kh_real, dKh_dT_real);
1026 
1027  ADReal Kh = Kh_real;
1028  Kh.derivatives() = temperature.derivatives() * dKh_dT_real;
1029 
1030  return Kh;
1031 }
static const std::string temperature
Definition: NS.h:60
DualNumber< Real, DNDerivativeType, false > 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 1223 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().

1224 {
1225  // Valid for 273.15 K <= T <= 1073.15 K, p <= 100 MPa
1226  // 1073.15 K <= T <= 2273.15 K, p <= 50 Mpa
1227  if (temperature >= 273.15 && temperature <= 1073.15)
1228  {
1229  if (pressure < vaporPressure(273.15) || pressure > 100.0e6)
1230  mooseException("Pressure ", pressure, " is out of range in ", name(), ": inRegion()");
1231  }
1232  else if (temperature > 1073.15 && temperature <= 2273.15)
1233  {
1234  if (pressure < 0.0 || pressure > 50.0e6)
1235  mooseException("Pressure ", pressure, " is out of range in ", name(), ": inRegion()");
1236  }
1237  else
1238  mooseException("Temperature ", temperature, " is out of range in ", name(), ": inRegion()");
1239 
1240  // Determine the phase region that the (P, T) point lies in
1241  unsigned int region;
1242 
1243  if (temperature >= 273.15 && temperature <= 623.15)
1244  {
1245  if (pressure > vaporPressure(temperature) && pressure <= 100.0e6)
1246  region = 1;
1247  else
1248  region = 2;
1249  }
1250  else if (temperature > 623.15 && temperature <= 863.15)
1251  {
1252  if (pressure <= b23p(temperature))
1253  region = 2;
1254  else
1255  region = 3;
1256  }
1257  else if (temperature > 863.15 && temperature <= 1073.15)
1258  region = 2;
1259  else
1260  region = 5;
1261 
1262  return region;
1263 }
static const std::string temperature
Definition: NS.h:60
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:57
virtual Real vaporPressure(Real temperature) const override
Vapor pressure.

◆ inRegionPH()

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

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 611 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

612 {
613  unsigned int region;
614 
615  // Need to calculate enthalpies at the boundaries to delineate regions
616  Real p273 = vaporPressure(273.15);
617  Real p623 = vaporPressure(623.15);
618 
619  if (enthalpy < h_from_p_T(pressure, 273.15))
620  mooseException("Enthalpy ", enthalpy, " is out of range in ", name(), ": inRegionPH()");
621 
622  if (pressure >= p273 && pressure <= p623)
623  {
624  // Use region 1 definition of h_from_p_T to get the lower bound
625  if (enthalpy <=
626  _Rw * _T_star[0] *
628  region = 1;
629  // Use region 2 definition of h_from_p_T to get the upper bound
630  else if (enthalpy <=
631  _Rw * _T_star[1] *
633  region = 4;
634  else if (enthalpy <= h_from_p_T(pressure, 1073.15))
635  region = 2;
636  else if (enthalpy <= h_from_p_T(pressure, 2273.15))
637  region = 5;
638  else
639  mooseException("Enthalpy ", enthalpy, " is out of range in ", name(), ": inRegionPH()");
640  }
641  else if (pressure > p623 && pressure <= 50.0e6)
642  {
643  if (enthalpy <= h_from_p_T(pressure, 623.15))
644  region = 1;
645  else if (enthalpy <= h_from_p_T(pressure, b23T(pressure)))
646  region = 3;
647  else if (enthalpy <= h_from_p_T(pressure, 1073.15))
648  region = 2;
649  else if (enthalpy <= h_from_p_T(pressure, 2273.15))
650  region = 5;
651  else
652  mooseException("Enthalpy ", enthalpy, " is out of range in ", name(), ": inRegionPH()");
653  }
654  else if (pressure > 50.0e6 && pressure <= 100.0e6)
655  {
656  if (enthalpy <= h_from_p_T(pressure, 623.15))
657  region = 1;
658  else if (enthalpy <= h_from_p_T(pressure, b23T(pressure)))
659  region = 3;
660  else if (enthalpy <= h_from_p_T(pressure, 1073.15))
661  region = 2;
662  else
663  mooseException("Enthalpy ", enthalpy, " is out of range in ", name(), ": inRegionPH()");
664  }
665  else
666  mooseException("Pressure ", pressure, " is out of range in ", name(), ": inRegionPH()");
667 
668  return region;
669 }
T dgamma2_dtau(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 2 wrt tau.
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
const std::array< Real, 5 > _p_star
Pressure scale for each region.
const std::array< Real, 5 > _T_star
Temperature scale for each region.
const std::string & name() const
T dgamma1_dtau(const T &pi, const T &tau) const
Derivative of Gibbs free energy in Region 1 wrt tau.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:57
virtual Real vaporPressure(Real temperature) const override
Vapor pressure.
const Real _Rw
Specific gas constant for H2O (universal gas constant / molar mass of water - J/kg/K) ...

◆ 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:60
static const std::string pressure
Definition: NS.h:57

◆ 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:60
static const std::string pressure
Definition: NS.h:57

◆ 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 2424 of file Water97FluidProperties.h.

Referenced by k_from_p_T(), and k_from_v_e_template().

2425 {
2427  return this->k_from_rho_T_template(rho, temperature);
2428 }
static const std::string temperature
Definition: NS.h:60
T k_from_rho_T_template(const T &density, const T &temperature) const
static const std::string pressure
Definition: NS.h:57
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:34
static const std::string temperature
Definition: NS.h:60
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 2388 of file Water97FluidProperties.h.

Referenced by k_from_p_T_template(), and k_from_rho_T().

2389 {
2390  using std::sqrt, std::exp, std::abs, std::pow;
2391  // Scale the density and temperature. Note that the scales are slightly
2392  // different to the critical values used in IAPWS-IF97
2393  T Tbar = temperature / 647.26;
2394  T rhobar = density / 317.7;
2395 
2396  // Ideal gas component
2397  T sum0 = 0.0;
2398 
2399  for (std::size_t i = 0; i < _k_a.size(); ++i)
2400  sum0 += _k_a[i] * MathUtils::pow(Tbar, i);
2401 
2402  T lambda0 = sqrt(Tbar) * sum0;
2403 
2404  // The contribution due to finite density
2405  T lambda1 =
2406  -0.39707 + 0.400302 * rhobar + 1.06 * exp(-0.171587 * Utility::pow<2>(rhobar + 2.392190));
2407 
2408  // Critical enhancement
2409  T DeltaT = abs(Tbar - 1.0) + 0.00308976;
2410  T Q = 2.0 + 0.0822994 / pow(DeltaT, 0.6);
2411  T S = (Tbar >= 1.0 ? 1.0 / DeltaT : 10.0932 / pow(DeltaT, 0.6));
2412 
2413  T lambda2 =
2414  (0.0701309 / Utility::pow<10>(Tbar) + 0.011852) * pow(rhobar, 1.8) *
2415  exp(0.642857 * (1.0 - pow(rhobar, 2.8))) +
2416  0.00169937 * S * pow(rhobar, Q) * exp((Q / (1.0 + Q)) * (1.0 - pow(rhobar, 1.0 + Q))) -
2417  1.02 * exp(-4.11717 * pow(Tbar, 1.5) - 6.17937 / Utility::pow<5>(rhobar));
2418 
2419  return lambda0 + lambda1 + lambda2;
2420 }
MetaPhysicL::DualNumber< V, D, asd > abs(const MetaPhysicL::DualNumber< V, D, asd > &a)
auto exp(const T &)
static const std::string density
Definition: NS.h:34
static const std::string temperature
Definition: NS.h:60
static const std::string S
Definition: NS.h:167
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
CTSub CT_OPERATOR_BINARY CTMul CTCompareLess CTCompareGreater CTCompareEqual _arg template * sqrt(_arg)) *_arg.template D< dtag >()) CT_SIMPLE_UNARY_FUNCTION(tanh
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 2432 of file Water97FluidProperties.h.

Referenced by k_from_v_e().

2433 {
2434  const auto [p, temperature] = p_T_from_v_e(v, e);
2436 }
T k_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:60
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 478 of file SinglePhaseFluidProperties.h.

Referenced by SinglePhaseFluidProperties::xyDerivatives().

479 {
480  return {T{0, 0}, T{1, 0}};
481 }

◆ makeZeroAndOne() [2/2]

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

Definition at line 485 of file SinglePhaseFluidProperties.h.

486 {
487  return {Real{0}, Real{1}};
488 }
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:60
static const std::string pressure
Definition: NS.h:57
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:60
static const std::string pressure
Definition: NS.h:57
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:60
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:57
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
virtual Real mu_from_rho_T(Real density, Real temperature) const override
const double mu

◆ 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 2615 of file Water97FluidProperties.h.

Referenced by mu_from_p_T().

2616 {
2618  return this->mu_from_rho_T_template(rho, temperature);
2619 }
T rho_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:60
T mu_from_rho_T_template(const T &density, const T &temperature) const
static const std::string pressure
Definition: NS.h:57

◆ 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:34
static const std::string temperature
Definition: NS.h:60
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:34
const std::array< std::array< Real, 7 >, 6 > _mu_Hij
static const std::string temperature
Definition: NS.h:60
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 double mu
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 2475 of file Water97FluidProperties.h.

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

2476 {
2477  using std::sqrt, std::exp;
2478 
2479  const T mu_star = 1.e-6;
2480  const T rhobar = density / _rho_critical;
2481  const T Tbar = temperature / _T_critical;
2482 
2483  // Viscosity in limit of zero density
2484  T sum0 = 0.0;
2485  for (std::size_t i = 0; i < _mu_H0.size(); ++i)
2486  sum0 += _mu_H0[i] / MathUtils::pow(Tbar, i);
2487 
2488  const T mu0 = 100.0 * sqrt(Tbar) / sum0;
2489 
2490  // Residual component due to finite density
2491  T sum1 = 0.0;
2492  for (unsigned int i = 0; i < 6; ++i)
2493  {
2494  const T fact = MathUtils::pow(1.0 / Tbar - 1.0, i);
2495  for (unsigned int j = 0; j < 7; ++j)
2496  sum1 += fact * _mu_Hij[i][j] * MathUtils::pow(rhobar - 1.0, j);
2497  }
2498 
2499  const T mu1 = exp(rhobar * sum1);
2500 
2501  // The water viscosity (in Pa.s) is then given by
2502  return mu_star * mu0 * mu1;
2503 }
const Real _T_critical
Critical temperature (K)
auto exp(const T &)
static const std::string density
Definition: NS.h:34
const std::array< std::array< Real, 7 >, 6 > _mu_Hij
static const std::string temperature
Definition: NS.h:60
const Real _rho_critical
Critical density (kg/m^3)
CTSub CT_OPERATOR_BINARY CTMul CTCompareLess CTCompareGreater CTCompareEqual _arg template * sqrt(_arg)) *_arg.template D< dtag >()) CT_SIMPLE_UNARY_FUNCTION(tanh
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 2440 of file Water97FluidProperties.h.

Referenced by p_from_v_e().

2441 {
2442  const auto rho = 1 / v;
2443  // For NewtonSolve
2444  // y = e
2445  // x = rho
2446  // z = p
2447  auto lambda = [this](const T & rho, const T & p, T & e, T & de_drho, T & de_dp)
2448  { e_from_p_rho(p, rho, e, de_dp, de_drho); };
2450  rho, e, _p_initial_guess, _tolerance, lambda, name() + "::p_from_v_e")
2451  .first;
2452 }
const Real _tolerance
Newton&#39;s method may be used to convert between variable sets.
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 &y_from_x_z, const std::string &caller_name, const unsigned int max_its=100, const bool verbose=false)
NewtonSolve does a 1D Newton Solve to solve the equation y = f(x, z) for variable z...
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 599 of file SinglePhaseFluidProperties.h.

Referenced by TabulatedFluidProperties::T_from_h_s().

606 {
607  auto h_lambda = [&](const T & pressure, const T & temperature, T & new_h, T & dh_dp, T & dh_dT)
608  { h_from_p_T(pressure, temperature, new_h, dh_dp, dh_dT); };
609  auto s_lambda = [&](const T & pressure, const T & temperature, T & new_s, T & ds_dp, T & ds_dT)
610  { s_from_p_T(pressure, temperature, new_s, ds_dp, ds_dT); };
611  try
612  {
614  s,
615  p0,
616  T0,
617  pressure,
618  temperature,
619  _tolerance,
620  _tolerance,
621  h_lambda,
622  s_lambda,
623  "p_T_from_h_s",
626  conversion_succeeded = true;
627  }
628  catch (MooseException &)
629  {
630  conversion_succeeded = false;
631  }
632 
633  if (!conversion_succeeded)
634  mooseDoOnce(mooseWarning("Conversion from (h, s)=(", h, ", ", s, ") to (p, T) failed"));
635 }
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 &f_from_x_y, const Functor2 &g_from_x_y, const std::string &caller_name="", const unsigned int max_its=100, bool debug=false)
NewtonSolve2D does a 2D Newton Solve to solve for the x and y such that: f = f_from_x_y(x, y) and g = g_from_x_y(x, y).
static const std::string temperature
Definition: NS.h:60
const Real _tolerance
Newton&#39;s method may be used to convert between variable sets.
const bool _verbose_newton
Whether to output information about newton solves to console.
e e e e s T T T T T rho v v T e h
const unsigned int _max_newton_its
Maximum number of iterations for the variable conversion newton solves.
static const std::string pressure
Definition: NS.h:57
void mooseWarning(Args &&... args) const

◆ 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 513 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().

520 {
521  auto v_lambda = [&](const CppType & pressure,
522  const CppType & temperature,
523  CppType & new_v,
524  CppType & dv_dp,
525  CppType & dv_dT) { v_from_p_T(pressure, temperature, new_v, dv_dp, dv_dT); };
526  auto e_lambda = [&](const CppType & pressure,
527  const CppType & temperature,
528  CppType & new_e,
529  CppType & de_dp,
530  CppType & de_dT) { e_from_p_T(pressure, temperature, new_e, de_dp, de_dT); };
531  try
532  {
534  e,
535  p0,
536  T0,
537  p,
538  T,
539  _tolerance,
540  _tolerance,
541  v_lambda,
542  e_lambda,
543  "p_T_from_v_e",
546  conversion_succeeded = true;
547  }
548  catch (MooseException &)
549  {
550  conversion_succeeded = false;
551  }
552 
553  if (!conversion_succeeded)
554  mooseDoOnce(mooseWarning("Conversion from (v, e)=(", v, ", ", e, ") to (p, T) failed"));
555 }
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 &f_from_x_y, const Functor2 &g_from_x_y, const std::string &caller_name="", const unsigned int max_its=100, bool debug=false)
NewtonSolve2D does a 2D Newton Solve to solve for the x and y such that: f = f_from_x_y(x, y) and g = g_from_x_y(x, y).
static const std::string temperature
Definition: NS.h:60
const Real _tolerance
Newton&#39;s method may be used to convert between variable sets.
const bool _verbose_newton
Whether to output information about newton solves to console.
const unsigned int _max_newton_its
Maximum number of iterations for the variable conversion newton solves.
static const std::string pressure
Definition: NS.h:57
void mooseWarning(Args &&... args) const

◆ 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 2204 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().

2205 {
2206  const auto rho = 1 / v;
2207  const auto p = p_from_v_e(v, e);
2208  return {p, T_drhodT_from_p_rho(p, rho).first};
2209 }
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 559 of file SinglePhaseFluidProperties.h.

Referenced by TabulatedBicubicFluidProperties::constructInterpolation().

566 {
567  auto v_lambda = [&](const T & pressure, const T & temperature, T & new_v, T & dv_dp, T & dv_dT)
568  { v_from_p_T(pressure, temperature, new_v, dv_dp, dv_dT); };
569  auto h_lambda = [&](const T & pressure, const T & temperature, T & new_h, T & dh_dp, T & dh_dT)
570  { h_from_p_T(pressure, temperature, new_h, dh_dp, dh_dT); };
571  try
572  {
574  h,
575  p0,
576  T0,
577  pressure,
578  temperature,
579  _tolerance,
580  _tolerance,
581  v_lambda,
582  h_lambda,
583  "p_T_from_v_h",
586  conversion_succeeded = true;
587  }
588  catch (MooseException &)
589  {
590  conversion_succeeded = false;
591  }
592 
593  if (!conversion_succeeded)
594  mooseDoOnce(mooseWarning("Conversion from (v, h)=(", v, ", ", h, ") to (p, T) failed"));
595 }
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 &f_from_x_y, const Functor2 &g_from_x_y, const std::string &caller_name="", const unsigned int max_its=100, bool debug=false)
NewtonSolve2D does a 2D Newton Solve to solve for the x and y such that: f = f_from_x_y(x, y) and g = g_from_x_y(x, y).
static const std::string temperature
Definition: NS.h:60
const Real _tolerance
Newton&#39;s method may be used to convert between variable sets.
const bool _verbose_newton
Whether to output information about newton solves to console.
e e e e s T T T T T rho v v T e h
const unsigned int _max_newton_its
Maximum number of iterations for the variable conversion newton solves.
static const std::string pressure
Definition: NS.h:57
void mooseWarning(Args &&... args) const

◆ 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 2507 of file Water97FluidProperties.h.

Referenced by e_from_v_h().

2508 {
2510  bool conversion_succeeded;
2511  p_T_from_v_h(
2512  v, h, _p_initial_guess, _T_initial_guess, pressure, temperature, conversion_succeeded);
2513  return {std::move(pressure), std::move(temperature)};
2514 }
static const std::string temperature
Definition: NS.h:60
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:57
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 559 of file SinglePhaseFluidProperties.h.

566 {
567  auto v_lambda = [&](const T & pressure, const T & temperature, T & new_v, T & dv_dp, T & dv_dT)
568  { v_from_p_T(pressure, temperature, new_v, dv_dp, dv_dT); };
569  auto h_lambda = [&](const T & pressure, const T & temperature, T & new_h, T & dh_dp, T & dh_dT)
570  { h_from_p_T(pressure, temperature, new_h, dh_dp, dh_dT); };
571  try
572  {
574  h,
575  p0,
576  T0,
577  pressure,
578  temperature,
579  _tolerance,
580  _tolerance,
581  v_lambda,
582  h_lambda,
583  "p_T_from_v_h",
586  conversion_succeeded = true;
587  }
588  catch (MooseException &)
589  {
590  conversion_succeeded = false;
591  }
592 
593  if (!conversion_succeeded)
594  mooseDoOnce(mooseWarning("Conversion from (v, h)=(", v, ", ", h, ") to (p, T) failed"));
595 }
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 &f_from_x_y, const Functor2 &g_from_x_y, const std::string &caller_name="", const unsigned int max_its=100, bool debug=false)
NewtonSolve2D does a 2D Newton Solve to solve for the x and y such that: f = f_from_x_y(x, y) and g = g_from_x_y(x, y).
static const std::string temperature
Definition: NS.h:60
virtual Real h_from_p_T(Real pressure, Real temperature) const override
const Real _tolerance
Newton&#39;s method may be used to convert between variable sets.
const bool _verbose_newton
Whether to output information about newton solves to console.
e e e e s T T T T T rho v v T e h
virtual Real v_from_p_T(Real pressure, Real temperature) const override
const unsigned int _max_newton_its
Maximum number of iterations for the variable conversion newton solves.
static const std::string pressure
Definition: NS.h:57
void mooseWarning(Args &&... args) const

◆ 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 1735 of file Water97FluidProperties.h.

1736 {
1737  using std::log;
1738 
1739  T sum = 0.0;
1740  for (std::size_t i = 1; i < _n3.size(); ++i)
1741  sum += _n3[i] * MathUtils::pow(delta, _I3[i]) * MathUtils::pow(tau, _J3[i]);
1742 
1743  return _n3[0] * log(delta) + sum;
1744 }
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
auto log(const T &)
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 438 of file SinglePhaseFluidProperties.C.

446 {
447  rho_from_p_T(p, T, rho, drho_dp, drho_dT);
448  e_from_p_T(p, T, e, de_dp, de_dT);
449 }

◆ 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:60
static const std::string pressure
Definition: NS.h:57

◆ 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:60
static const std::string pressure
Definition: NS.h:57

◆ 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:60
static const std::string pressure
Definition: NS.h:57

◆ 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:60
static const std::string pressure
Definition: NS.h:57

◆ 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 2575 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().

2576 {
2577  T density, pi, tau;
2578 
2579  // Determine which region the point is in
2580  unsigned int region =
2582 
2583  switch (region)
2584  {
2585  case 1:
2586  pi = pressure / _p_star[0];
2587  tau = _T_star[0] / temperature;
2588  density = pressure / (pi * _Rw * temperature * dgamma1_dpi(pi, tau));
2589  break;
2590 
2591  case 2:
2592  pi = pressure / _p_star[1];
2593  tau = _T_star[1] / temperature;
2594  density = pressure / (pi * _Rw * temperature * dgamma2_dpi(pi, tau));
2595  break;
2596 
2597  case 3:
2599  break;
2600 
2601  case 5:
2602  pi = pressure / _p_star[4];
2603  tau = _T_star[4] / temperature;
2604  density = pressure / (pi * _Rw * temperature * dgamma5_dpi(pi, tau));
2605  break;
2606 
2607  default:
2608  mooseError("inRegion() has given an incorrect region");
2609  }
2610  return density;
2611 }
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:34
auto raw_value(const Eigen::Map< T > &in)
static const std::string temperature
Definition: NS.h:60
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:57
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 2017 of file Water97FluidProperties.h.

2019 {
2020  auto functor = [this](const auto & pressure, const auto & temperature)
2021  { return this->rho_from_p_T_template(pressure, temperature); };
2022 
2023  xyDerivatives(pressure, temperature, rho, drho_dp, drho_dT, functor);
2024 }
T rho_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:60
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:57

◆ 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:60
static const std::string pressure
Definition: NS.h:57
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
virtual Real mu_from_rho_T(Real density, Real temperature) const override
const double mu

◆ 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:60
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:57
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
virtual Real mu_from_rho_T(Real density, Real temperature) const override
const double mu

◆ 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 473 of file SinglePhaseFluidProperties.C.

477 {
478  rho = rho_from_p_T(p, T);
479  mu = mu_from_p_T(p, T);
480 }
const double mu

◆ 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 2213 of file Water97FluidProperties.h.

Referenced by mu_from_v_e().

2214 {
2215  const auto rho = 1 / v;
2216  const auto p = p_from_v_e(v, e);
2217  return {rho, T_drhodT_from_p_rho(p, rho).first};
2218 }
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:57

◆ 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:60
DualNumber< Real, DNDerivativeType, false > 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:57

◆ 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, false > 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:57
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 672 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

673 {
674  unsigned int subregion;
675 
676  if (pressure <= 4.0e6)
677  subregion = 1;
678  else if (pressure > 4.0e6 && pressure < 6.5467e6)
679  subregion = 2;
680  else
681  {
682  if (enthalpy >= b2bc(pressure))
683  subregion = 2;
684  else
685  subregion = 3;
686  }
687 
688  return subregion;
689 }
Real b2bc(Real pressure) const
Boundary between subregions b and c in region 2.
static const std::string pressure
Definition: NS.h:57

◆ 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 1034 of file Water97FluidProperties.C.

Referenced by densityRegion3().

1035 {
1036  Real pMPa = pressure / 1.0e6;
1037  const Real P3cd = 19.00881189173929;
1038  unsigned int subregion = 0;
1039 
1040  if (pMPa > 40.0 && pMPa <= 100.0)
1041  {
1042  if (temperature <= tempXY(pressure, AB))
1043  subregion = 0;
1044  else // (temperature > tempXY(pressure, AB))
1045  subregion = 1;
1046  }
1047  else if (pMPa > 25.0 && pMPa <= 40.0)
1048  {
1049  if (temperature <= tempXY(pressure, CD))
1050  subregion = 2;
1051  else if (temperature > tempXY(pressure, CD) && temperature <= tempXY(pressure, AB))
1052  subregion = 3;
1053  else if (temperature > tempXY(pressure, AB) && temperature <= tempXY(pressure, EF))
1054  subregion = 4;
1055  else // (temperature > tempXY(pressure, EF))
1056  subregion = 5;
1057  }
1058  else if (pMPa > 23.5 && pMPa <= 25.0)
1059  {
1060  if (temperature <= tempXY(pressure, CD))
1061  subregion = 2;
1062  else if (temperature > tempXY(pressure, CD) && temperature <= tempXY(pressure, GH))
1063  subregion = 6;
1064  else if (temperature > tempXY(pressure, GH) && temperature <= tempXY(pressure, EF))
1065  subregion = 7;
1066  else if (temperature > tempXY(pressure, EF) && temperature <= tempXY(pressure, IJ))
1067  subregion = 8;
1068  else if (temperature > tempXY(pressure, IJ) && temperature <= tempXY(pressure, JK))
1069  subregion = 9;
1070  else // (temperature > tempXY(pressure, JK))
1071  subregion = 10;
1072  }
1073  else if (pMPa > 23.0 && pMPa <= 23.5)
1074  {
1075  if (temperature <= tempXY(pressure, CD))
1076  subregion = 2;
1077  else if (temperature > tempXY(pressure, CD) && temperature <= tempXY(pressure, GH))
1078  subregion = 11;
1079  else if (temperature > tempXY(pressure, GH) && temperature <= tempXY(pressure, EF))
1080  subregion = 7;
1081  else if (temperature > tempXY(pressure, EF) && temperature <= tempXY(pressure, IJ))
1082  subregion = 8;
1083  else if (temperature > tempXY(pressure, IJ) && temperature <= tempXY(pressure, JK))
1084  subregion = 9;
1085  else // (temperature > tempXY(pressure, JK))
1086  subregion = 10;
1087  }
1088  else if (pMPa > 22.5 && pMPa <= 23.0)
1089  {
1090  if (temperature <= tempXY(pressure, CD))
1091  subregion = 2;
1092  else if (temperature > tempXY(pressure, CD) && temperature <= tempXY(pressure, GH))
1093  subregion = 11;
1094  else if (temperature > tempXY(pressure, GH) && temperature <= tempXY(pressure, MN))
1095  subregion = 12;
1096  else if (temperature > tempXY(pressure, MN) && temperature <= tempXY(pressure, EF))
1097  subregion = 13;
1098  else if (temperature > tempXY(pressure, EF) && temperature <= tempXY(pressure, OP))
1099  subregion = 14;
1100  else if (temperature > tempXY(pressure, OP) && temperature <= tempXY(pressure, IJ))
1101  subregion = 15;
1102  else if (temperature > tempXY(pressure, IJ) && temperature <= tempXY(pressure, JK))
1103  subregion = 9;
1104  else // (temperature > tempXY(pressure, JK))
1105  subregion = 10;
1106  }
1107  else if (pMPa > vaporPressure(643.15) * 1.0e-6 &&
1108  pMPa <= 22.5) // vaporPressure(643.15) = 21.04 MPa
1109  {
1110  if (temperature <= tempXY(pressure, CD))
1111  subregion = 2;
1112  else if (temperature > tempXY(pressure, CD) && temperature <= tempXY(pressure, QU))
1113  subregion = 16;
1114  else if (temperature > tempXY(pressure, QU) && temperature <= tempXY(pressure, RX))
1115  {
1116  if (pMPa > 22.11 && pMPa <= 22.5)
1117  {
1118  if (temperature <= tempXY(pressure, UV))
1119  subregion = 20;
1120  else if (temperature > tempXY(pressure, UV) && temperature <= tempXY(pressure, EF))
1121  subregion = 21;
1122  else if (temperature > tempXY(pressure, EF) && temperature <= tempXY(pressure, WX))
1123  subregion = 22;
1124  else // (temperature > tempXY(pressure, WX) && temperature <= tempXY(pressure, RX))
1125  subregion = 23;
1126  }
1127  else if (pMPa > 22.064 && pMPa <= 22.11)
1128  {
1129  if (temperature <= tempXY(pressure, UV))
1130  subregion = 20;
1131  else if (temperature > tempXY(pressure, UV) && temperature <= tempXY(pressure, EF))
1132  subregion = 24;
1133  else if (temperature > tempXY(pressure, EF) && temperature <= tempXY(pressure, WX))
1134  subregion = 25;
1135  else // (temperature > tempXY(pressure, WX) && temperature <= tempXY(pressure, RX))
1136  subregion = 23;
1137  }
1138  else if (temperature <= vaporTemperature(pressure))
1139  {
1140  if (pMPa > 21.93161551 && pMPa <= 22.064)
1142  subregion = 20;
1143  else
1144  subregion = 24;
1145  else // (pMPa > vaporPressure(643.15) * 1.0e-6 && pMPa <= 21.93161551)
1146  subregion = 20;
1147  }
1149  {
1150  if (pMPa > 21.90096265 && pMPa <= 22.064)
1151  {
1152  if (temperature <= tempXY(pressure, WX))
1153  subregion = 25;
1154  else
1155  subregion = 23;
1156  }
1157  else
1158  subregion = 23;
1159  }
1160  }
1161  else if (temperature > tempXY(pressure, RX) && temperature <= tempXY(pressure, JK))
1162  subregion = 17;
1163  else
1164  subregion = 10;
1165  }
1166  else if (pMPa > 20.5 &&
1167  pMPa <= vaporPressure(643.15) * 1.0e-6) // vaporPressure(643.15) = 21.04 MPa
1168  {
1169  if (temperature <= tempXY(pressure, CD))
1170  subregion = 2;
1172  subregion = 16;
1174  subregion = 17;
1175  else // (temperature > tempXY(pressure, JK))
1176  subregion = 10;
1177  }
1178  else if (pMPa > P3cd && pMPa <= 20.5) // P3cd = 19.00881189173929
1179  {
1180  if (temperature <= tempXY(pressure, CD))
1181  subregion = 2;
1183  subregion = 18;
1184  else
1185  subregion = 19;
1186  }
1187  else if (pMPa > vaporPressure(623.15) * 1.0e-6 && pMPa <= P3cd)
1188  {
1190  subregion = 2;
1191  else
1192  subregion = 19;
1193  }
1194  else if (pMPa > 22.11 && pMPa <= 22.5)
1195  {
1197  subregion = 20;
1198  else if (temperature > tempXY(pressure, UV) && temperature <= tempXY(pressure, EF))
1199  subregion = 21;
1200  else if (temperature > tempXY(pressure, EF) && temperature <= tempXY(pressure, WX))
1201  subregion = 22;
1202  else // (temperature > tempXY(pressure, WX) && temperature <= tempXY(pressure, RX))
1203  subregion = 23;
1204  }
1205  else if (pMPa > 22.064 && pMPa <= 22.11)
1206  {
1208  subregion = 20;
1209  else if (temperature > tempXY(pressure, UV) && temperature <= tempXY(pressure, EF))
1210  subregion = 24;
1211  else if (temperature > tempXY(pressure, EF) && temperature <= tempXY(pressure, WX))
1212  subregion = 25;
1213  else // (temperature > tempXY(pressure, WX) && temperature <= tempXY(pressure, RX))
1214  subregion = 23;
1215  }
1216  else
1217  mooseError("subregion3(): Shouldn't have got here!");
1218 
1219  return subregion;
1220 }
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:60
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:57
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 692 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

693 {
694  unsigned int subregion;
695 
696  if (enthalpy <= b3ab(pressure))
697  subregion = 1;
698  else
699  subregion = 2;
700 
701  return subregion;
702 }
Real b3ab(Real pressure) const
Boundary between subregions a and b in region 3.
static const std::string pressure
Definition: NS.h:57

◆ 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 2173 of file Water97FluidProperties.h.

Referenced by densityRegion3().

2175 {
2176  using std::pow;
2177 
2178  T sum = 0.0;
2179 
2180  for (std::size_t i = 0; i < _n3s[sid].size(); ++i)
2181  sum += _n3s[sid][i] * MathUtils::pow(pow(pi - a, c), _I3s[sid][i]) *
2182  MathUtils::pow(pow(theta - b, d), _J3s[sid][i]);
2183 
2184  return pow(sum, e);
2185 }
const std::vector< std::vector< Real > > _n3s
Constants for all 26 subregions in region 3.
const std::vector< std::vector< int > > _I3s
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
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 2189 of file Water97FluidProperties.h.

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

2190 {
2191  // For NewtonSolve
2192  // y = rho
2193  // x = p
2194  // z = T
2195  auto lambda =
2196  [this](const T & p, const T & temperature, T & rho, T & drho_dp, T & drho_dtemperature)
2197  { rho_from_p_T_template(p, temperature, rho, drho_dp, drho_dtemperature); };
2199  p, rho, _T_initial_guess, _tolerance, lambda, name() + "::T_drhodT_from_p_rho");
2200 }
T rho_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:60
const Real _tolerance
Newton&#39;s method may be used to convert between variable sets.
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 &y_from_x_z, const std::string &caller_name, const unsigned int max_its=100, const bool verbose=false)
NewtonSolve does a 1D Newton Solve to solve the equation y = f(x, z) for variable z...
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 718 of file Water97FluidProperties.C.

Referenced by s_from_h_p().

719 {
720  const ADReal p = pressure;
721  const ADReal h = enthalpy;
722 
723  return T_from_p_h_ad(p, h).value();
724 }
DualNumber< Real, DNDerivativeType, false > 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:57

◆ 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 727 of file Water97FluidProperties.C.

729 {
730  ADReal p = pressure;
731  Moose::derivInsert(p.derivatives(), 0, 1.0);
732  ADReal h = enthalpy;
733  Moose::derivInsert(h.derivatives(), 1, 1.0);
734 
735  const ADReal T = T_from_p_h_ad(p, h);
736 
737  temperature = T.value();
738  dT_dp = T.derivatives()[0];
739  dT_dh = T.derivatives()[1];
740 }
static const std::string temperature
Definition: NS.h:60
DualNumber< Real, DNDerivativeType, false > 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:57
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 743 of file Water97FluidProperties.C.

744 {
745  return T_from_p_h_ad(pressure, enthalpy);
746 }
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:57

◆ 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 749 of file Water97FluidProperties.C.

Referenced by s_from_h_p(), and T_from_p_h().

750 {
751  ADReal temperature = 0.0;
752 
753  // Determine which region the point is in
754  const unsigned int region = inRegionPH(pressure.value(), enthalpy.value());
755 
756  switch (region)
757  {
758  case 1:
760  break;
761 
762  case 2:
763  {
764  // First, determine which subregion the point is in:
765  const unsigned int subregion = subregion2ph(pressure.value(), enthalpy.value());
766 
767  if (subregion == 1)
769  else if (subregion == 2)
771  else
773  break;
774  }
775 
776  case 3:
777  {
778  // First, determine which subregion the point is in:
779  const unsigned int subregion = subregion3ph(pressure.value(), enthalpy.value());
780 
781  if (subregion == 1)
783  else
785  break;
786  }
787 
788  case 4:
790  break;
791 
792  case 5:
793  {
794  Real T_min = 1073.15;
795  Real T_max = 2273.15;
796  Real T_find = 0.;
797  Real T_error = 1.0;
798 
799  // Bisection solve
800  while (T_error > libMesh::TOLERANCE)
801  {
802  T_find = 0.5 * (T_min + T_max);
803  Real h_find = h_from_p_T(pressure.value(), T_find);
804 
805  if (h_find > enthalpy.value())
806  T_max = T_find;
807  else
808  T_min = T_find;
809 
810  T_error = std::abs((T_max - T_min) / T_find);
811  }
813  mooseDoOnce(
814  mooseWarning("The derivatives for T_from_p_h_ad are currently neglected, set to 0."));
815  temperature = T_find;
816 
817  break;
818  }
819  default:
820  mooseError("inRegionPH() has given an incorrect region");
821  }
822 
823  return temperature;
824 }
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.
const bool _allow_imperfect_jacobians
Flag to set unimplemented Jacobian entries to zero.
ADReal temperature_from_ph2b(const ADReal &pressure, const ADReal &enthalpy) const
Backwards equation T(p, h) in Region 2b Eq.
static constexpr Real TOLERANCE
ADReal vaporTemperature_ad(const ADReal &pressure) const
AD version of saturation temperature as a function of pressure (used internally)
static const std::string temperature
Definition: NS.h:60
virtual Real h_from_p_T(Real pressure, Real temperature) const override
unsigned int subregion2ph(Real pressure, Real enthalpy) const
Provides the correct subregion index for a (P,h) point in region 2.
DualNumber< Real, DNDerivativeType, false > ADReal
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.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:57
void mooseWarning(Args &&... args) const
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 827 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

828 {
829  using std::pow;
830 
831  const ADReal pi = pressure / 1.0e6;
832  const ADReal eta = enthalpy / 2500.0e3;
833  ADReal sum = 0.0;
834 
835  for (std::size_t i = 0; i < _nph1.size(); ++i)
836  sum += _nph1[i] * pow(pi, _Iph1[i]) * pow(eta + 1.0, _Jph1[i]);
837 
838  return sum;
839 }
const std::array< int, 20 > _Iph1
DualNumber< Real, DNDerivativeType, false > ADReal
const std::array< int, 20 > _Jph1
const std::array< Real, 20 > _nph1
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
static const std::string pressure
Definition: NS.h:57
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 842 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

844 {
845  using std::pow, std::abs;
846 
847  const ADReal pi = pressure / 1.0e6;
848  const ADReal eta = enthalpy / 2000.0e3;
849  ADReal sum = 0.0;
850 
851  // Factor out the negative in pow(eta - 2.1, _Jph2a[i]) to avoid fpe in dbg (see #13163)
852  const Real sgn = MathUtils::sign(eta.value() - 2.1);
853 
854  for (std::size_t i = 0; i < _nph2a.size(); ++i)
855  sum += _nph2a[i] * pow(pi, _Iph2a[i]) * pow(abs(eta - 2.1), _Jph2a[i]) * pow(sgn, _Jph2a[i]);
856 
857  return sum;
858 }
MetaPhysicL::DualNumber< V, D, asd > abs(const MetaPhysicL::DualNumber< V, D, asd > &a)
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, false > ADReal
const std::array< int, 36 > _Iph2a
T sign(T x)
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:57
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 861 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

863 {
864  using std::pow, std::abs;
865 
866  const ADReal pi = pressure / 1.0e6;
867  const ADReal eta = enthalpy / 2000.0e3;
868  ADReal sum = 0.0;
869 
870  // Factor out the negatives in pow(pi - 2.0, _Iph2b[i])* pow(eta - 2.6, _Jph2b[i])
871  // to avoid fpe in dbg (see #13163)
872  const Real sgn0 = MathUtils::sign(pi.value() - 2.0);
873  const Real sgn1 = MathUtils::sign(eta.value() - 2.6);
874 
875  for (std::size_t i = 0; i < _nph2b.size(); ++i)
876  sum += _nph2b[i] * pow(abs(pi - 2.0), _Iph2b[i]) * pow(sgn0, _Iph2b[i]) *
877  pow(abs(eta - 2.6), _Jph2b[i]) * pow(sgn1, _Jph2b[i]);
878 
879  return sum;
880 }
MetaPhysicL::DualNumber< V, D, asd > abs(const MetaPhysicL::DualNumber< V, D, asd > &a)
const std::array< Real, 38 > _nph2b
DualNumber< Real, DNDerivativeType, false > ADReal
const std::array< int, 38 > _Jph2b
T sign(T x)
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
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:57
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 883 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

885 {
886  using std::pow, std::abs;
887 
888  const ADReal pi = pressure / 1.0e6;
889  const ADReal eta = enthalpy / 2000.0e3;
890  ADReal sum = 0.0;
891 
892  // Factor out the negative in pow(eta - 1.8, _Jph2c[i]) to avoid fpe in dbg (see #13163)
893  const Real sgn = MathUtils::sign(eta.value() - 1.8);
894 
895  for (std::size_t i = 0; i < _nph2c.size(); ++i)
896  sum += _nph2c[i] * pow(pi + 25.0, _Iph2c[i]) * pow(abs(eta - 1.8), _Jph2c[i]) *
897  pow(sgn, _Jph2c[i]);
898 
899  return sum;
900 }
MetaPhysicL::DualNumber< V, D, asd > abs(const MetaPhysicL::DualNumber< V, D, asd > &a)
const std::array< int, 23 > _Jph2c
int sgn(T val)
The sign function.
Definition: Numerics.h:41
DualNumber< Real, DNDerivativeType, false > ADReal
const std::array< int, 23 > _Iph2c
T sign(T x)
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:57
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 918 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

920 {
921  using std::pow;
922 
923  const ADReal pi = pressure / 100.0e6;
924  const ADReal eta = enthalpy / 2300.0e3;
925  ADReal sum = 0.0;
926 
927  for (std::size_t i = 0; i < _nph3a.size(); ++i)
928  sum += _nph3a[i] * pow(pi + 0.24, _Iph3a[i]) * pow(eta - 0.615, _Jph3a[i]);
929 
930  return sum * 760.0;
931 }
DualNumber< Real, DNDerivativeType, false > ADReal
const std::array< int, 31 > _Jph3a
const std::array< int, 31 > _Iph3a
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
const std::array< Real, 31 > _nph3a
static const std::string pressure
Definition: NS.h:57
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 934 of file Water97FluidProperties.C.

Referenced by T_from_p_h_ad().

936 {
937  using std::pow;
938 
939  const ADReal pi = pressure / 100.0e6;
940  const ADReal eta = enthalpy / 2800.0e3;
941  ADReal sum = 0.0;
942 
943  for (size_t i = 0; i < _nph3b.size(); ++i)
944  sum += _nph3b[i] * pow(pi + 0.298, _Iph3b[i]) * pow(eta - 0.72, _Jph3b[i]);
945 
946  return sum * 860.0;
947 }
const std::array< int, 33 > _Jph3b
const std::array< Real, 33 > _nph3b
const std::array< int, 33 > _Iph3b
DualNumber< Real, DNDerivativeType, false > ADReal
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
static const std::string pressure
Definition: NS.h:57
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 1909 of file Water97FluidProperties.h.

Referenced by subregion3().

1910 {
1911  T pi = pressure / 1.0e6;
1912 
1913  // Choose the constants based on the string xy
1914  unsigned int row;
1915 
1916  switch (xy)
1917  {
1918  case AB:
1919  row = 0;
1920  break;
1921  case CD:
1922  row = 1;
1923  break;
1924  case GH:
1925  row = 2;
1926  break;
1927  case IJ:
1928  row = 3;
1929  break;
1930  case JK:
1931  row = 4;
1932  break;
1933  case MN:
1934  row = 5;
1935  break;
1936  case OP:
1937  row = 6;
1938  break;
1939  case QU:
1940  row = 7;
1941  break;
1942  case RX:
1943  row = 8;
1944  break;
1945  case UV:
1946  row = 9;
1947  break;
1948  case WX:
1949  row = 10;
1950  break;
1951  default:
1952  row = 0;
1953  }
1954 
1955  T sum = 0.0;
1956 
1957  using std::log;
1958 
1959  if (xy == AB || xy == OP || xy == WX)
1960  for (std::size_t i = 0; i < _tempXY_n[row].size(); ++i)
1961  sum += _tempXY_n[row][i] * MathUtils::pow(log(pi), _tempXY_I[row][i]);
1962  else if (xy == EF)
1963  sum += 3.727888004 * (pi - _p_critical / 1.0e6) + _T_critical;
1964  else
1965  for (std::size_t i = 0; i < _tempXY_n[row].size(); ++i)
1966  sum += _tempXY_n[row][i] * MathUtils::pow(pi, _tempXY_I[row][i]);
1967 
1968  return sum;
1969 }
const Real _T_critical
Critical temperature (K)
const Real _p_critical
Critical pressure (Pa)
auto log(const T &)
const std::vector< std::vector< Real > > _tempXY_n
static const std::string pressure
Definition: NS.h:57
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 639 of file SinglePhaseFluidProperties.h.

Referenced by TabulatedFluidProperties::h_from_p_T(), and TabulatedFluidProperties::s_from_p_T().

643 {
644  const CppType rho = rho_from_p_T(p, T);
645  v = 1.0 / rho;
646  try
647  {
648  // more likely to not involve a Newton search
649  e = e_from_p_T(p, T);
650  }
651  catch (...)
652  {
653  e = e_from_p_rho(p, rho);
654  }
655 }

◆ 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 659 of file SinglePhaseFluidProperties.h.

667 {
668  CppType rho, drho_dp, drho_dT;
669  rho_from_p_T(p, T, rho, drho_dp, drho_dT);
670 
671  v = 1.0 / rho;
672  const CppType dv_drho = -1.0 / (rho * rho);
673  dv_dp = dv_drho * drho_dp;
674  dv_dT = dv_drho * drho_dT;
675 
676  CppType de_dp_partial, de_drho;
677  e_from_p_rho(p, rho, e, de_dp_partial, de_drho);
678  de_dp = de_dp_partial + de_drho * drho_dp;
679  de_dT = de_drho * drho_dT;
680 }

◆ 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 489 of file SinglePhaseFluidProperties.C.

490 {
491  mooseError(__PRETTY_FUNCTION__, " not implemented.");
492 }
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:60
static const std::string pressure
Definition: NS.h:57

◆ 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:60
static const std::string pressure
Definition: NS.h:57

◆ 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:60
static const std::string pressure
Definition: NS.h:57

◆ 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:60
static const std::string pressure
Definition: NS.h:57

◆ 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 2028 of file Water97FluidProperties.h.

Referenced by v_from_p_T(), and v_from_p_T_template().

2029 {
2031 }
T rho_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:60
static const std::string pressure
Definition: NS.h:57

◆ 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 2035 of file Water97FluidProperties.h.

2037 {
2038  auto functor = [this](const auto & pressure, const auto & temperature)
2039  { return this->v_from_p_T_template(pressure, temperature); };
2040 
2041  xyDerivatives(pressure, temperature, v, dv_dp, dv_dT, functor);
2042 }
T v_from_p_T_template(const T &pressure, const T &temperature) const
static const std::string temperature
Definition: NS.h:60
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:57

◆ 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:60
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 2010 of file Water97FluidProperties.h.

2011 {
2012  vaporPressureTemplate(temperature, psat, dpsat_dT);
2013 }
void vaporPressureTemplate(const T &temperature, T &psat, T &dpsat_dT) const
static const std::string temperature
Definition: NS.h:60

◆ vaporPressure() [3/3]

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

Definition at line 393 of file SinglePhaseFluidProperties.C.

394 {
395  Real p = 0.0;
396  Real temperature = T.value();
397  Real dpdT = 0.0;
398 
399  vaporPressure(temperature, p, dpdT);
400 
401  ADReal result = p;
402  result.derivatives() = T.derivatives() * dpdT;
403 
404  return result;
405 }
static const std::string temperature
Definition: NS.h:60
DualNumber< Real, DNDerivativeType, false > 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 1973 of file Water97FluidProperties.h.

Referenced by vaporPressure().

1974 {
1975  using std::sqrt, std::pow;
1976 
1977  // Check whether the input temperature is within the region of validity of this equation.
1978  // Valid for 273.15 K <= t <= 647.096 K
1979  if (temperature < 273.15 || temperature > _T_critical)
1980  mooseException(name(),
1981  ": vaporPressure(): Temperature is outside range 273.15 K <= T <= 647.096 K");
1982 
1983  T theta, dtheta_dT, theta2, a, b, c, da_dtheta, db_dtheta, dc_dtheta;
1984  theta = temperature + _n4[8] / (temperature - _n4[9]);
1985  dtheta_dT = 1.0 - _n4[8] / (temperature - _n4[9]) / (temperature - _n4[9]);
1986  theta2 = theta * theta;
1987 
1988  a = theta2 + _n4[0] * theta + _n4[1];
1989  b = _n4[2] * theta2 + _n4[3] * theta + _n4[4];
1990  c = _n4[5] * theta2 + _n4[6] * theta + _n4[7];
1991 
1992  da_dtheta = 2.0 * theta + _n4[0];
1993  db_dtheta = 2.0 * _n4[2] * theta + _n4[3];
1994  dc_dtheta = 2.0 * _n4[5] * theta + _n4[6];
1995 
1996  T denominator = -b + sqrt(b * b - 4.0 * a * c);
1997 
1998  psat = Utility::pow<4>(2.0 * c / denominator) * 1.0e6;
1999 
2000  // The derivative wrt temperature is given by the chain rule
2001  T dpsat = 4.0 * Utility::pow<3>(2.0 * c / denominator);
2002  dpsat *= (2.0 * dc_dtheta / denominator -
2003  2.0 * c / denominator / denominator *
2004  (-db_dtheta + pow(b * b - 4.0 * a * c, -0.5) *
2005  (b * db_dtheta - 2.0 * da_dtheta * c - 2.0 * a * dc_dtheta)));
2006  dpsat_dT = dpsat * dtheta_dT * 1.0e6;
2007 }
const Real _T_critical
Critical temperature (K)
static const std::string temperature
Definition: NS.h:60
const std::string & name() const
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
CTSub CT_OPERATOR_BINARY CTMul CTCompareLess CTCompareGreater CTCompareEqual _arg template * sqrt(_arg)) *_arg.template D< dtag >()) CT_SIMPLE_UNARY_FUNCTION(tanh
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 565 of file Water97FluidProperties.C.

Referenced by inRegionPH(), and subregion3().

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

◆ vaporTemperature() [2/3]

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

Reimplemented from SinglePhaseFluidProperties.

Definition at line 573 of file Water97FluidProperties.C.

574 {
575  ADReal p = pressure;
576  Moose::derivInsert(p.derivatives(), 0, 1.0);
577 
578  const ADReal T = vaporTemperature_ad(p);
579 
580  Tsat = T.value();
581  dTsat_dp = T.derivatives()[0];
582 }
ADReal vaporTemperature_ad(const ADReal &pressure) const
AD version of saturation temperature as a function of pressure (used internally)
DualNumber< Real, DNDerivativeType, false > ADReal
static const std::string pressure
Definition: NS.h:57
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 423 of file SinglePhaseFluidProperties.C.

424 {
425  Real T = 0.0;
426  Real pressure = p.value();
427  Real dTdp = 0.0;
428 
429  vaporTemperature(pressure, T, dTdp);
430 
431  ADReal result = T;
432  result.derivatives() = p.derivatives() * dTdp;
433 
434  return result;
435 }
DualNumber< Real, DNDerivativeType, false > 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:57

◆ 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 T_from_p_h_ad(), and vaporTemperature().

545 {
546  using std::pow, std::sqrt;
547  // Check whether the input pressure is within the region of validity of this equation.
548  // Valid for 611.213 Pa <= p <= 22.064 MPa
549  if (pressure.value() < 611.23 || pressure.value() > _p_critical)
550  mooseException(name() + ": vaporTemperature(): Pressure ",
551  pressure.value(),
552  " is outside range 611.213 Pa <= p <= 22.064 MPa");
553 
554  const ADReal beta = pow(pressure / 1.e6, 0.25);
555  const ADReal beta2 = beta * beta;
556  const ADReal e = beta2 + _n4[2] * beta + _n4[5];
557  const ADReal f = _n4[0] * beta2 + _n4[3] * beta + _n4[6];
558  const ADReal g = _n4[1] * beta2 + _n4[4] * beta + _n4[7];
559  const ADReal d = 2.0 * g / (-f - sqrt(f * f - 4.0 * e * g));
560 
561  return (_n4[9] + d - sqrt((_n4[9] + d) * (_n4[9] + d) - 4.0 * (_n4[8] + _n4[9] * d))) / 2.0;
562 }
const Real _p_critical
Critical pressure (Pa)
DualNumber< Real, DNDerivativeType, false > ADReal
const std::string & name() const
Real f(Real x)
Test function for Brents method.
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
CTSub CT_OPERATOR_BINARY CTMul CTCompareLess CTCompareGreater CTCompareEqual _arg template * sqrt(_arg)) *_arg.template D< dtag >()) CT_SIMPLE_UNARY_FUNCTION(tanh
static const std::string pressure
Definition: NS.h:57
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 492 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().

494 {
496  const auto [zero, one] = makeZeroAndOne(x);
497 
498  CompoundType x_c(x, zero);
499  auto & x_cd = x_c.derivatives();
500  x_cd[0] = one;
501  CompoundType y_c(y, zero);
502  auto & y_cd = y_c.derivatives();
503  y_cd[1] = one;
504 
505  const auto z_c = z_from_x_y(x_c, y_c);
506  z = z_c.value();
507  dz_dx = z_c.derivatives()[0];
508  dz_dy = z_c.derivatives()[1];
509 }
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(), T_from_p_h_ad(), 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(), inRegionPH(), 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

◆ _verbose_newton

const bool SinglePhaseFluidProperties::_verbose_newton
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(), SimpleFluidProperties::e_from_v_h(), TabulatedFluidProperties::e_from_v_h(), HeliumFluidProperties::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(), LeadFluidProperties::h_from_p_T(), CaloricallyImperfectGas::h_from_p_T(), NaClFluidProperties::h_from_p_T(), TabulatedFluidProperties::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(), LeadLithiumFluidProperties::h_from_v_e(), LeadBismuthFluidProperties::h_from_v_e(), LeadFluidProperties::h_from_v_e(), StiffenedGasFluidProperties::p_from_h_s(), CaloricallyImperfectGas::p_from_h_s(), IdealGasFluidProperties::p_from_h_s(), LeadBismuthFluidProperties::p_from_v_e(), LeadLithiumFluidProperties::p_from_v_e(), LeadFluidProperties::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(), LeadBismuthFluidProperties::cp_from_p_T(), LeadLithiumFluidProperties::cp_from_p_T(), LeadFluidProperties::cp_from_p_T(), IdealGasFluidProperties::cp_from_p_T(), TemperaturePressureFunctionFluidProperties::cp_from_p_T(), TemperaturePressureFunctionFluidProperties::cp_from_v_e(), cp_from_v_e(), TabulatedFluidProperties::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(), cv_from_v_e(), TabulatedFluidProperties::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(), SimpleFluidProperties::e_from_v_h(), TabulatedFluidProperties::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(), HeliumFluidProperties::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(), LeadFluidProperties::p_from_v_e(), LeadLithiumFluidProperties::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(), LeadLithiumFluidProperties::v_from_p_T(), LeadBismuthFluidProperties::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(), TabulatedFluidProperties::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(), NaKFluidProperties::rho_from_p_T(), TabulatedFluidProperties::rho_from_p_T(), CO2FluidProperties::rho_from_p_T(), LinearFluidProperties::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(), 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(), 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(), cp_from_v_e(), TabulatedFluidProperties::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(), cv_from_v_e(), TabulatedFluidProperties::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(), SimpleFluidProperties::e_from_v_h(), TabulatedFluidProperties::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(), LeadBismuthFluidProperties::T_from_v_e(), LinearTestFluidProperties::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(), LeadBismuthFluidProperties::v_from_p_T(), LeadLithiumFluidProperties::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(), cp_from_v_e(), TabulatedFluidProperties::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(), cv_from_v_e(), HeliumFluidProperties::cv_from_v_e(), TabulatedFluidProperties::cv_from_v_e(), TabulatedFluidProperties::e_from_p_rho(), HeliumFluidProperties::e_from_p_rho(), SodiumSaturationFluidProperties::e_from_p_T(), TabulatedFluidProperties::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(), SimpleFluidProperties::e_from_v_h(), TabulatedFluidProperties::e_from_v_h(), HeliumFluidProperties::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(), TabulatedFluidProperties::h_from_p_T(), LeadLithiumFluidProperties::h_from_v_e(), LeadBismuthFluidProperties::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(), FlibeFluidProperties::k_from_v_e(), FlinakFluidProperties::k_from_v_e(), TabulatedFluidProperties::k_from_v_e(), k_from_v_e(), HeliumFluidProperties::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(), FlinakFluidProperties::mu_from_v_e(), TabulatedFluidProperties::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(), LeadFluidProperties::p_from_v_e(), LeadBismuthFluidProperties::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(), FlinakFluidProperties::p_from_v_e(), FlibeFluidProperties::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(), TabulatedFluidProperties::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(), LinearTestFluidProperties::T_from_v_e(), LeadLithiumFluidProperties::T_from_v_e(), LeadBismuthFluidProperties::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(), LeadLithiumFluidProperties::v_from_p_T(), LeadBismuthFluidProperties::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: