www.mooseframework.org
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
CO2FluidProperties Class Reference

CO2 fluid properties Most thermophysical properties taken from: Span and Wagner, "A New Equation of State for Carbon Dioxide Covering the Fluid Region from the Triple-Point Temperature to 1100K at Pressures up to 800 MPa", J. More...

#include <CO2FluidProperties.h>

Inheritance diagram for CO2FluidProperties:
[legend]

Public Types

typedef DataFileName DataFileParameterType
 

Public Member Functions

 CO2FluidProperties (const InputParameters &parameters)
 
virtual ~CO2FluidProperties ()
 
virtual Real rho_from_p_T (Real pressure, Real temperature) const override
 
virtual void rho_from_p_T (Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT) const override
 
virtual Real mu_from_p_T (Real pressure, Real temperature) const override
 
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
 
void mu_from_rho_T (Real density, Real temperature, Real ddensity_dT, Real &mu, Real &dmu_drho, Real &dmu_dT) const
 
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 std::string fluidName () const override
 
virtual Real molarMass () const override
 Fluid name. 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...
 
Real meltingPressure (Real temperature) const
 Melting pressure. More...
 
Real sublimationPressure (Real temperature) const
 Sublimation pressure. More...
 
virtual Real vaporPressure (Real temperature) const override
 Vapor pressure. More...
 
virtual void vaporPressure (Real temperature, Real &psat, Real &dpsat_dT) const override
 
Real saturatedLiquidDensity (Real temperature) const
 Saturated liquid density of CO2 Valid for temperatures between the triple point temperature and critical temperature. More...
 
Real saturatedVaporDensity (Real temperature) const
 Saturated vapor density of CO2 Valid for temperatures between the triple point temperature and critical temperature. More...
 
virtual Real p_from_rho_T (Real density, Real temperature) const override
 Pressure as a function of density and temperature. More...
 
virtual std::vector< RealhenryCoefficients () const override
 Henry's law coefficients for dissolution in water. More...
 
Real partialDensity (Real temperature) const
 Partial density of dissolved CO2 From Garcia, Density of aqueous solutions of CO2, LBNL-49023 (2001) More...
 
virtual Real k_from_p_T (Real pressure, Real temperature) const override
 
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
 
virtual Real e_from_p_T (Real pressure, Real temperature) const override
 
virtual void e_from_p_T (Real p, Real T, Real &e, Real &de_dp, Real &de_dT) const override
 
virtual Real c_from_p_T (Real pressure, Real temperature) const override
 
virtual Real cp_from_p_T (Real pressure, Real temperature) const override
 
virtual Real cv_from_p_T (Real pressure, Real temperature) const override
 
virtual Real s_from_p_T (Real pressure, Real temperature) const override
 
virtual void s_from_p_T (Real p, Real T, Real &s, Real &ds_dp, Real &ds_dT) const override
 
virtual Real h_from_p_T (Real pressure, Real temperature) const override
 
virtual void h_from_p_T (Real p, Real T, Real &h, Real &dh_dp, Real &dh_dT) const override
 
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...
 
DualReal vaporPressure (const DualReal &T) const
 
virtual Real vaporTemperature (Real p) const
 Vapor temperature. More...
 
virtual void vaporTemperature (Real p, Real &Tsat, Real &dTsat_dp) const
 
DualReal vaporTemperature (const DualReal &p) const
 
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 DualReal &p, const DualReal &T, DualReal &rho, DualReal &mu) const
 
virtual void rho_e_from_p_T (Real p, Real T, Real &rho, Real &drho_dp, Real &drho_dT, Real &e, Real &de_dp, Real &de_dT) const
 
template<typename CppType >
void p_T_from_v_e (const CppType &v, const CppType &e, Real p0, Real T0, CppType &p, CppType &T, bool &conversion_succeeded) const
 Determines (p,T) from (v,e) using Newton Solve in 2D Useful for conversion between different sets of state variables. More...
 
template<typename T >
void p_T_from_v_h (const T &v, const T &h, Real p0, Real T0, T &pressure, T &temperature, bool &conversion_succeeded) const
 Determines (p,T) from (v,h) using Newton Solve in 2D Useful for conversion between different sets of state variables. More...
 
template<typename T >
void p_T_from_h_s (const T &h, const T &s, Real p0, Real T0, T &pressure, T &temperature, bool &conversion_succeeded) const
 Determines (p,T) from (h,s) using Newton Solve in 2D Useful for conversion between different sets of state variables. More...
 
template<>
std::pair< Real, RealmakeZeroAndOne (const Real &)
 
virtual void execute () final
 
virtual void initialize () final
 
virtual void finalize () final
 
virtual void threadJoin (const UserObject &) final
 
virtual void subdomainSetup () final
 
bool needThreadedCopy () const override final
 
SubProblemgetSubProblem () const
 
bool shouldDuplicateInitialExecution () const
 
virtual Real spatialValue (const Point &) const
 
virtual const std::vector< Point > spatialPoints () const
 
void gatherSum (T &value)
 
void gatherMax (T &value)
 
void gatherMin (T &value)
 
void gatherProxyValueMax (T1 &value, T2 &proxy)
 
void gatherProxyValueMin (T1 &value, T2 &proxy)
 
void setPrimaryThreadCopy (UserObject *primary)
 
UserObjectprimaryThreadCopy ()
 
std::set< UserObjectName > getDependObjects () const
 
const std::set< std::string > & getRequestedItems () override
 
const std::set< std::string > & getSuppliedItems () override
 
unsigned int systemNumber () const
 
virtual bool enabled () const
 
MooseAppgetMooseApp () const
 
const std::string & type () const
 
virtual const std::string & name () const
 
std::string typeAndName () const
 
std::string errorPrefix (const std::string &error_type) const
 
void callMooseError (std::string msg, const bool with_prefix) const
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
const InputParametersparameters () const
 
MooseObjectName uniqueName () const
 
const TgetParam (const std::string &name) const
 
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 
const TgetRenamedParam (const std::string &old_name, const std::string &new_name) const
 
T getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 
bool isParamValid (const std::string &name) const
 
bool isParamSetByUser (const std::string &nm) const
 
void paramError (const std::string &param, Args... args) const
 
void paramWarning (const std::string &param, Args... args) const
 
void paramInfo (const std::string &param, Args... args) const
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 
void mooseError (Args &&... args) const
 
void mooseErrorNonPrefixed (Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseInfo (Args &&... args) const
 
std::string getDataFileName (const std::string &param) const
 
std::string getDataFileNameByName (const std::string &name, const std::string *param=nullptr) const
 
virtual void initialSetup ()
 
virtual void timestepSetup ()
 
virtual void jacobianSetup ()
 
virtual void residualSetup ()
 
virtual void customSetup (const ExecFlagType &)
 
const ExecFlagEnumgetExecuteOnEnum () const
 
UserObjectName getUserObjectName (const std::string &param_name) const
 
const TgetUserObject (const std::string &param_name, bool is_dependency=true) const
 
const TgetUserObjectByName (const UserObjectName &object_name, bool is_dependency=true) const
 
const UserObjectgetUserObjectBase (const std::string &param_name, bool is_dependency=true) const
 
const UserObjectgetUserObjectBaseByName (const UserObjectName &object_name, bool is_dependency=true) const
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialProperty (const std::string &name, const unsigned int state=0)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialProperty (const std::string &name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialProperty (const std::string &name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialProperty (const std::string &name, const unsigned int state=0)
 
const ADMaterialProperty< T > & getADMaterialProperty (const std::string &name, MaterialData &material_data)
 
const ADMaterialProperty< T > & getADMaterialProperty (const std::string &name)
 
const ADMaterialProperty< T > & getADMaterialProperty (const std::string &name)
 
const MaterialProperty< T > & getMaterialPropertyOld (const std::string &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOld (const std::string &name)
 
const MaterialProperty< T > & getMaterialPropertyOld (const std::string &name)
 
const MaterialProperty< T > & getMaterialPropertyOlder (const std::string &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOlder (const std::string &name)
 
const MaterialProperty< T > & getMaterialPropertyOlder (const std::string &name)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const ADMaterialProperty< T > & getADMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data)
 
const ADMaterialProperty< T > & getADMaterialPropertyByName (const MaterialPropertyName &name)
 
const ADMaterialProperty< T > & getADMaterialPropertyByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOldByName (const MaterialPropertyName &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOldByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOldByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name)
 
std::pair< const MaterialProperty< T > *, std::set< SubdomainID > > getBlockMaterialProperty (const MaterialPropertyName &name)
 
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty (const std::string &name)
 
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty ()
 
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialPropertyByName (const std::string &prop_name)
 
const MaterialProperty< T > & getZeroMaterialProperty (Ts... args)
 
std::set< SubdomainIDgetMaterialPropertyBlocks (const std::string &name)
 
std::vector< SubdomainName > getMaterialPropertyBlockNames (const std::string &name)
 
std::set< BoundaryIDgetMaterialPropertyBoundaryIDs (const std::string &name)
 
std::vector< BoundaryName > getMaterialPropertyBoundaryNames (const std::string &name)
 
void checkBlockAndBoundaryCompatibility (std::shared_ptr< MaterialBase > discrete)
 
std::unordered_map< SubdomainID, std::vector< MaterialBase *> > buildRequiredMaterials (bool allow_stateful=true)
 
void statefulPropertiesAllowed (bool)
 
bool getMaterialPropertyCalled () const
 
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 ()
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
const GenericOptionalMaterialProperty< T, is_ad > & getGenericOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 
const GenericOptionalMaterialProperty< T, is_ad > & getGenericOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 
const OptionalMaterialProperty< T > & getOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 
const OptionalMaterialProperty< T > & getOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 
const OptionalADMaterialProperty< T > & getOptionalADMaterialProperty (const std::string &name)
 
const OptionalADMaterialProperty< T > & getOptionalADMaterialProperty (const std::string &name)
 
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOld (const std::string &name)
 
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOld (const std::string &name)
 
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOlder (const std::string &name)
 
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOlder (const std::string &name)
 
MaterialBasegetMaterial (const std::string &name)
 
MaterialBasegetMaterial (const std::string &name)
 
MaterialBasegetMaterialByName (const std::string &name, bool no_warn=false)
 
MaterialBasegetMaterialByName (const std::string &name, bool no_warn=false)
 
bool hasMaterialProperty (const std::string &name)
 
bool hasMaterialProperty (const std::string &name)
 
bool hasMaterialPropertyByName (const std::string &name)
 
bool hasMaterialPropertyByName (const std::string &name)
 
bool hasADMaterialProperty (const std::string &name)
 
bool hasADMaterialProperty (const std::string &name)
 
bool hasADMaterialPropertyByName (const std::string &name)
 
bool hasADMaterialPropertyByName (const std::string &name)
 
bool hasGenericMaterialProperty (const std::string &name)
 
bool hasGenericMaterialProperty (const std::string &name)
 
bool hasGenericMaterialPropertyByName (const std::string &name)
 
bool hasGenericMaterialPropertyByName (const std::string &name)
 
const FunctiongetFunction (const std::string &name) const
 
const FunctiongetFunctionByName (const FunctionName &name) const
 
bool hasFunction (const std::string &param_name) const
 
bool hasFunctionByName (const FunctionName &name) const
 
bool isDefaultPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
bool hasPostprocessor (const std::string &param_name, const unsigned int index=0) const
 
bool hasPostprocessorByName (const PostprocessorName &name) const
 
std::size_t coupledPostprocessors (const std::string &param_name) const
 
const PostprocessorName & getPostprocessorName (const std::string &param_name, const unsigned int index=0) const
 
const VectorPostprocessorValuegetVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
bool hasVectorPostprocessor (const std::string &param_name, const std::string &vector_name) const
 
bool hasVectorPostprocessor (const std::string &param_name) const
 
bool hasVectorPostprocessorByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
bool hasVectorPostprocessorByName (const VectorPostprocessorName &name) const
 
const VectorPostprocessorName & getVectorPostprocessorName (const std::string &param_name) const
 
TgetSampler (const std::string &name)
 
SamplergetSampler (const std::string &name)
 
TgetSamplerByName (const SamplerName &name)
 
SamplergetSamplerByName (const SamplerName &name)
 
virtual void meshChanged ()
 
const std::vector< MooseVariableScalar *> & getCoupledMooseScalarVars ()
 
const std::set< TagID > & getScalarVariableCoupleableVectorTags () const
 
const std::set< TagID > & getScalarVariableCoupleableMatrixTags () const
 
PerfGraphperfGraph ()
 
const PostprocessorValuegetPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOld (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOld (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOlder (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOlder (const std::string &param_name, const unsigned int index=0) const
 
virtual const PostprocessorValuegetPostprocessorValueByName (const PostprocessorName &name) const
 
virtual const PostprocessorValuegetPostprocessorValueByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOldByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOldByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOlderByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOlderByName (const PostprocessorName &name) const
 
bool isVectorPostprocessorDistributed (const std::string &param_name) const
 
bool isVectorPostprocessorDistributed (const std::string &param_name) const
 
bool isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const
 
bool isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const
 
const DistributiongetDistribution (const std::string &name) const
 
const TgetDistribution (const std::string &name) const
 
const DistributiongetDistribution (const std::string &name) const
 
const TgetDistribution (const std::string &name) const
 
const DistributiongetDistributionByName (const DistributionName &name) const
 
const TgetDistributionByName (const std::string &name) const
 
const DistributiongetDistributionByName (const DistributionName &name) const
 
const TgetDistributionByName (const std::string &name) const
 
const Parallel::Communicator & comm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 

Static Public Member Functions

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

Public Attributes

const ConsoleStream _console
 

Static Public Attributes

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

Protected Member Functions

virtual Real alpha (Real delta, Real tau) const override
 Helmholtz free energy. More...
 
virtual Real dalpha_ddelta (Real delta, Real tau) const override
 Derivative of Helmholtz free energy wrt delta. More...
 
virtual Real dalpha_dtau (Real delta, Real tau) const override
 Derivative of Helmholtz free energy wrt tau. More...
 
virtual Real d2alpha_ddelta2 (Real delta, Real tau) const override
 Second derivative of Helmholtz free energy wrt delta. More...
 
virtual Real d2alpha_dtau2 (Real delta, Real tau) const override
 Second derivative of Helmholtz free energy wrt tau. More...
 
virtual Real d2alpha_ddeltatau (Real delta, Real tau) const override
 Second derivative of Helmholtz free energy wrt delta and tau. More...
 
virtual void addPostprocessorDependencyHelper (const PostprocessorName &name) const override
 
virtual void addVectorPostprocessorDependencyHelper (const VectorPostprocessorName &name) const override
 
virtual void addUserObjectDependencyHelper (const UserObject &uo) const override
 
void addReporterDependencyHelper (const ReporterName &reporter_name) override
 
const ReporterNamegetReporterName (const std::string &param_name) const
 
TdeclareRestartableData (const std::string &data_name, Args &&... args)
 
ManagedValue< TdeclareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
const TgetRestartableData (const std::string &data_name) const
 
TdeclareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
TdeclareRecoverableData (const std::string &data_name, Args &&... args)
 
TdeclareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args)
 
TdeclareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args)
 
std::string restartableName (const std::string &data_name) const
 
const TgetMeshProperty (const std::string &data_name, const std::string &prefix)
 
const TgetMeshProperty (const std::string &data_name)
 
bool hasMeshProperty (const std::string &data_name, const std::string &prefix) const
 
bool hasMeshProperty (const std::string &data_name, const std::string &prefix) const
 
bool hasMeshProperty (const std::string &data_name) const
 
bool hasMeshProperty (const std::string &data_name) const
 
std::string meshPropertyName (const std::string &data_name) const
 
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
 
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
 
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
 
virtual void checkMaterialProperty (const std::string &name, const unsigned int state)
 
void markMatPropRequested (const std::string &)
 
MaterialPropertyName getMaterialPropertyName (const std::string &name) const
 
void checkExecutionStage ()
 
Moose::StateArg determineState () const
 
const TgetReporterValue (const std::string &param_name, const std::size_t time_index=0)
 
const TgetReporterValue (const std::string &param_name, ReporterMode mode, const std::size_t time_index=0)
 
const TgetReporterValue (const std::string &param_name, const std::size_t time_index=0)
 
const TgetReporterValue (const std::string &param_name, ReporterMode mode, const std::size_t time_index=0)
 
const TgetReporterValueByName (const ReporterName &reporter_name, const std::size_t time_index=0)
 
const TgetReporterValueByName (const ReporterName &reporter_name, ReporterMode mode, const std::size_t time_index=0)
 
const TgetReporterValueByName (const ReporterName &reporter_name, const std::size_t time_index=0)
 
const TgetReporterValueByName (const ReporterName &reporter_name, ReporterMode mode, const std::size_t time_index=0)
 
bool hasReporterValue (const std::string &param_name) const
 
bool hasReporterValue (const std::string &param_name) const
 
bool hasReporterValue (const std::string &param_name) const
 
bool hasReporterValue (const std::string &param_name) const
 
bool hasReporterValueByName (const ReporterName &reporter_name) const
 
bool hasReporterValueByName (const ReporterName &reporter_name) const
 
bool hasReporterValueByName (const ReporterName &reporter_name) const
 
bool hasReporterValueByName (const ReporterName &reporter_name) const
 
const GenericMaterialProperty< T, is_ad > * defaultGenericMaterialProperty (const std::string &name)
 
const GenericMaterialProperty< T, is_ad > * defaultGenericMaterialProperty (const std::string &name)
 
const MaterialProperty< T > * defaultMaterialProperty (const std::string &name)
 
const MaterialProperty< T > * defaultMaterialProperty (const std::string &name)
 
const ADMaterialProperty< T > * defaultADMaterialProperty (const std::string &name)
 
const ADMaterialProperty< T > * defaultADMaterialProperty (const std::string &name)
 
void flagInvalidSolutionInternal (InvalidSolutionID _invalid_solution_id) const
 
InvalidSolutionID registerInvalidSolutionInternal (const std::string &message) const
 

Static Protected Member Functions

template<typename T , typename Functor >
static void xyDerivatives (const T x, const T &y, T &z, T &dz_dx, T &dz_dy, const Functor &z_from_x_y)
 Computes the dependent variable z and its derivatives with respect to the independent variables x and y using the simple two parameter z_from_x_y functor. More...
 
template<typename T >
static std::pair< T, TmakeZeroAndOne (const T &)
 Given a type example, this method returns zero and unity reperesentations 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 _Mco2 = 44.0098e-3
 Molar mass of CO2 (kg/mol) More...
 
const Real _critical_pressure = 7.3773e6
 Critical pressure (Pa) More...
 
const Real _critical_temperature = 304.1282
 Critical temperature (K) More...
 
const Real _critical_density = 467.6
 Critical density (kg/m^3) More...
 
const Real _triple_point_pressure = 0.51795e6
 Triple point pressure (Pa) More...
 
const Real _triple_point_temperature = 216.592
 Triple point temperature (K) More...
 
const Real _Rco2 = 188.9241
 Specific gas constant (J/mol/K) More...
 
const std::array< Real, 5 > _a0 {{1.99427042, 0.62105248, 0.41195293, 1.04028922, 0.08327678}}
 Coefficients for the ideal gas component of the Helmholtz free energy. More...
 
const std::array< Real, 5 > _theta0 {{3.15163, 6.11190, 6.77708, 11.32384, 27.08792}}
 
const std::array< Real, 7 > _n1
 Coefficients for the residual component of the Helmholtz free energy. More...
 
const std::array< unsigned int, 7 > _d1 {{1, 1, 1, 1, 2, 2, 3}}
 
const std::array< Real, 7 > _t1 {{0.0, 0.75, 1.0, 2.0, 0.75, 2.0, 0.75}}
 
const std::array< Real, 27 > _n2
 
const std::array< unsigned int, 27 > _d2
 
const std::array< Real, 27 > _t2
 
const std::array< unsigned int, 27 > _c2
 
const std::array< Real, 5 > _n3
 
const std::array< unsigned int, 5 > _d3 {{2, 2, 2, 3, 3}}
 
const std::array< unsigned int, 5 > _t3 {{1, 0, 1, 3, 3}}
 
const std::array< Real, 5 > _alpha3 {{25.0, 25.0, 25.0, 15.0, 20.0}}
 
const std::array< Real, 5 > _beta3 {{325.0, 300.0, 300.0, 275.0, 275.0}}
 
const std::array< Real, 5 > _gamma3 {{1.16, 1.19, 1.19, 1.25, 1.22}}
 
const std::array< Real, 5 > _eps3 {{1.0, 1.0, 1.0, 1.0, 1.0}}
 
const std::array< Real, 3 > _n4 {{-0.66642276540751, 0.72608632349897, 0.055068668612842}}
 
const std::array< Real, 3 > _a4 {{3.5, 3.5, 3.0}}
 
const std::array< Real, 3 > _b4 {{0.875, 0.925, 0.875}}
 
const std::array< Real, 3 > _beta4 {{0.3, 0.3, 0.3}}
 
const std::array< Real, 3 > _A4 {{0.7, 0.7, 0.7}}
 
const std::array< Real, 3 > _B4 {{0.3, 0.3, 1.0}}
 
const std::array< Real, 3 > _C4 {{10.0, 10.0, 12.5}}
 
const std::array< Real, 3 > _D4 {{275.0, 275.0, 275.0}}
 
const std::array< Real, 5 > _mu_a {{0.235156, -0.491266, 5.211155e-2, 5.347906e-2, -1.537102e-2}}
 Coefficients for viscosity. More...
 
const std::array< Real, 5 > _mu_d
 
const std::array< Real, 3 > _k_g1 {{0.0, 0.0, 1.5}}
 Coefficients for the thermal conductivity. More...
 
const std::array< Real, 7 > _k_g2 {{0.0, 1.0, 1.5, 1.5, 1.5, 3.5, 5.5}}
 
const std::array< unsigned int, 3 > _k_h1 {{1, 5, 1}}
 
const std::array< unsigned int, 7 > _k_h2 {{1, 2, 0, 5, 9, 0, 0}}
 
const std::array< Real, 3 > _k_n1 {{7.69857587, 0.159885811, 1.56918621}}
 
const std::array< Real, 7 > _k_n2
 
const std::array< Real, 12 > _k_a
 
const Real _tolerance
 Newton's method may be used to convert between variable sets _tolerance, _T_initial_guess, and _p_initial_guess are the parameters for these iterative solves. More...
 
const Real _T_initial_guess
 
const Real _p_initial_guess
 
const Real _T_c2k
 Conversion of temperature from Celsius to Kelvin. More...
 
const bool _allow_imperfect_jacobians
 Flag to set unimplemented Jacobian entries to zero. More...
 
SubProblem_subproblem
 
FEProblemBase_fe_problem
 
SystemBase_sys
 
const THREAD_ID _tid
 
Assembly_assembly
 
const Moose::CoordinateSystemType_coord_sys
 
const bool _duplicate_initial_execution
 
std::set< std::string > _depend_uo
 
const bool & _enabled
 
MooseApp_app
 
const std::string _type
 
const std::string _name
 
const InputParameters_pars
 
Factory_factory
 
ActionFactory_action_factory
 
const ExecFlagEnum_execute_enum
 
const ExecFlagType_current_execute_flag
 
MooseApp_restartable_app
 
const std::string _restartable_system_name
 
const THREAD_ID _restartable_tid
 
const bool _restartable_read_only
 
FEProblemBase_mci_feproblem
 
FEProblemBase_sc_fe_problem
 
const THREAD_ID _sc_tid
 
const Real_real_zero
 
const VariableValue_scalar_zero
 
const Point & _point_zero
 
MooseApp_pg_moose_app
 
const std::string _prefix
 
const InputParameters_mi_params
 
const std::string _mi_name
 
const MooseObjectName _mi_moose_object_name
 
FEProblemBase_mi_feproblem
 
SubProblem_mi_subproblem
 
const THREAD_ID _mi_tid
 
const Moose::MaterialDataType _material_data_type
 
MaterialData_material_data
 
bool _stateful_allowed
 
bool _get_material_property_called
 
std::vector< std::unique_ptr< PropertyValue > > _default_properties
 
std::unordered_set< unsigned int_material_property_dependencies
 
const MaterialPropertyName _get_suffix
 
const bool _use_interpolated_state
 
const InputParameters_ti_params
 
FEProblemBase_ti_feproblem
 
bool _is_implicit
 
Real_t
 
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
 
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 s h propfuncWithDefault (beta, p, T) propfuncWithDefault(v
 
e e e e s T T T T T rho v v T s h T propfuncWithDefault (e, p, T) propfuncWithDefault(gamma
 
 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 T T rho v v T propfunc (g, v, e) propfuncWithDefault(p
 
e e e e s T T T T T rho v v Tpropfunc (T, h, p) propfuncWithDefault(T
 
 v
 
v
 
e e v
 
e e e v
 
e e e e s T T T T T rho v v T s h 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 Tp
 
e e e e s T T T T T rho v v T s h 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 T h
 
e e e e s T T T T T rho v v T s h TpropfuncWithDefault (gamma, p, T)
 

Detailed Description

CO2 fluid properties Most thermophysical properties taken from: Span and Wagner, "A New Equation of State for Carbon Dioxide Covering the Fluid Region from the Triple-Point Temperature to 1100K at Pressures up to 800 MPa", J.

Phys. Chem. Ref. Data, 25 (1996)

Note: the Span and Wagner EOS uses density and temperature as the primary variables. As a result, density must first be found using iteration, after which the other properties can be calculated directly.

Viscosity from: Fenghour et al., The viscosity of carbon dioxide, J. Phys. Chem. Ref.Data, 27, 31-44 (1998) Note: critical enhancement not included Valid for 217 K < T < 1000K and rho < 1400 kg/m^3

Thermal conductivity from: Scalabrin et al., A Reference Multiparameter Thermal Conductivity Equation for Carbon Dioxide with an Optimized Functional Form, J. Phys. Chem. Ref. Data 35 (2006)

Definition at line 40 of file CO2FluidProperties.h.

Constructor & Destructor Documentation

◆ CO2FluidProperties()

CO2FluidProperties::CO2FluidProperties ( const InputParameters parameters)

Definition at line 27 of file CO2FluidProperties.C.

29 {
30 }
HelmholtzFluidProperties(const InputParameters &parameters)
const InputParameters & parameters() const

◆ ~CO2FluidProperties()

CO2FluidProperties::~CO2FluidProperties ( )
virtual

Definition at line 32 of file CO2FluidProperties.C.

32 {}

Member Function Documentation

◆ alpha()

Real CO2FluidProperties::alpha ( Real  delta,
Real  tau 
) const
overrideprotectedvirtual

Helmholtz free energy.

Parameters
deltascaled density (-)
tauscaled temperature (-)
Returns
alpha Helmholtz free energy

Implements HelmholtzFluidProperties.

Definition at line 161 of file CO2FluidProperties.C.

Referenced by k_from_rho_T().

162 {
163  // Ideal gas component of the Helmholtz free energy
164  Real sum0 = 0.0;
165  for (std::size_t i = 0; i < _a0.size(); ++i)
166  sum0 += _a0[i] * std::log(1.0 - std::exp(-_theta0[i] * tau));
167 
168  Real phi0 = std::log(delta) + 8.37304456 - 3.70454304 * tau + 2.5 * std::log(tau) + sum0;
169 
170  // Residual component of the Helmholtz free energy
171  Real theta, Delta, Psi;
172  Real phir = 0.0;
173  for (std::size_t i = 0; i < _n1.size(); ++i)
174  phir += _n1[i] * MathUtils::pow(delta, _d1[i]) * std::pow(tau, _t1[i]);
175 
176  for (std::size_t i = 0; i < _n2.size(); ++i)
177  phir += _n2[i] * MathUtils::pow(delta, _d2[i]) * std::pow(tau, _t2[i]) *
178  std::exp(-MathUtils::pow(delta, _c2[i]));
179 
180  for (std::size_t i = 0; i < _n3.size(); ++i)
181  phir += _n3[i] * MathUtils::pow(delta, _d3[i]) * MathUtils::pow(tau, _t3[i]) *
182  std::exp(-_alpha3[i] * Utility::pow<2>(delta - _eps3[i]) -
183  _beta3[i] * Utility::pow<2>(tau - _gamma3[i]));
184 
185  for (std::size_t i = 0; i < _n4.size(); ++i)
186  {
187  theta = 1.0 - tau + _A4[i] * std::pow(Utility::pow<2>(delta - 1.0), 1.0 / (2.0 * _beta4[i]));
188  Delta = Utility::pow<2>(theta) + _B4[i] * std::pow(Utility::pow<2>(delta - 1.0), _a4[i]);
189  Psi = std::exp(-_C4[i] * Utility::pow<2>(delta - 1.0) - _D4[i] * Utility::pow<2>(tau - 1.0));
190  phir += _n4[i] * std::pow(Delta, _b4[i]) * delta * Psi;
191  }
192 
193  // The Helmholtz free energy is the sum of these components
194  return phi0 + phir;
195 }
const std::array< Real, 3 > _D4
const std::array< Real, 7 > _t1
const std::array< unsigned int, 5 > _d3
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
const std::array< Real, 27 > _n2
const std::array< Real, 7 > _n1
Coefficients for the residual component of the Helmholtz free energy.
const std::array< Real, 3 > _C4
const std::array< Real, 5 > _theta0
const std::array< Real, 3 > _b4
const std::array< Real, 3 > _a4
const std::array< Real, 5 > _n3
const std::array< unsigned int, 27 > _c2
const std::array< Real, 5 > _eps3
const std::array< Real, 3 > _A4
const std::array< Real, 3 > _B4
const std::array< Real, 5 > _gamma3
const std::array< Real, 3 > _n4
const std::array< Real, 5 > _alpha3
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::array< unsigned int, 5 > _t3
const std::array< Real, 3 > _beta4
const std::array< Real, 5 > _a0
Coefficients for the ideal gas component of the Helmholtz free energy.
const std::array< Real, 27 > _t2
T pow(T x, int e)
const std::array< Real, 5 > _beta3
const std::array< unsigned int, 7 > _d1
MooseUnits pow(const MooseUnits &, int)
const std::array< unsigned int, 27 > _d2

◆ c_from_p_T()

Real HelmholtzFluidProperties::c_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtualinherited

Definition at line 98 of file HelmholtzFluidProperties.C.

99 {
100  // Require density first
102  // Scale the input density and temperature
103  const Real delta = density / criticalDensity();
104  const Real tau = criticalTemperature() / temperature;
105 
106  const Real da_dd = dalpha_ddelta(delta, tau);
107 
108  Real w = 2.0 * delta * da_dd + delta * delta * d2alpha_ddelta2(delta, tau);
109  w -= Utility::pow<2>(delta * da_dd - delta * tau * d2alpha_ddeltatau(delta, tau)) /
110  (tau * tau * d2alpha_dtau2(delta, tau));
111 
112  return std::sqrt(_R * temperature * w / molarMass());
113 }
virtual Real d2alpha_ddeltatau(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt delta and tau.
virtual Real d2alpha_dtau2(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt tau.
virtual virtual std Real molarMass() const
Fluid name.
static const std::string density
Definition: NS.h:33
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
static const Real _R
Universal gas constant (J/mol/K)
static const std::string temperature
Definition: NS.h:57
virtual Real d2alpha_ddelta2(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt delta.
ADRealEigenVector< T, D, asd > sqrt(const ADRealEigenVector< T, D, asd > &)
virtual Real criticalTemperature() const
Critical temperature.
virtual Real dalpha_ddelta(Real delta, Real tau) const =0
Derivative of Helmholtz free energy wrt delta.
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
virtual Real criticalDensity() const
Critical density.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56

◆ cp_from_p_T()

Real HelmholtzFluidProperties::cp_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtualinherited

Definition at line 116 of file HelmholtzFluidProperties.C.

117 {
118  // Require density first
120  // Scale the input density and temperature
121  const Real delta = density / criticalDensity();
122  const Real tau = criticalTemperature() / temperature;
123 
124  const Real da_dd = dalpha_ddelta(delta, tau);
125 
126  const Real cp = _R *
127  (-tau * tau * d2alpha_dtau2(delta, tau) +
128  Utility::pow<2>(delta * da_dd - delta * tau * d2alpha_ddeltatau(delta, tau)) /
129  (2.0 * delta * da_dd + delta * delta * d2alpha_ddelta2(delta, tau))) /
130  molarMass();
131 
132  return cp;
133 }
virtual Real d2alpha_ddeltatau(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt delta and tau.
virtual Real d2alpha_dtau2(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt tau.
virtual virtual std Real molarMass() const
Fluid name.
static const std::string density
Definition: NS.h:33
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
static const Real _R
Universal gas constant (J/mol/K)
static const std::string temperature
Definition: NS.h:57
virtual Real d2alpha_ddelta2(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt delta.
static const std::string cp
Definition: NS.h:120
virtual Real criticalTemperature() const
Critical temperature.
virtual Real dalpha_ddelta(Real delta, Real tau) const =0
Derivative of Helmholtz free energy wrt delta.
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
virtual Real criticalDensity() const
Critical density.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56

◆ criticalDensity()

Real CO2FluidProperties::criticalDensity ( ) const
overridevirtual

Critical density.

Returns
critical density (kg/m^3)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 59 of file CO2FluidProperties.C.

60 {
61  return _critical_density;
62 }
const Real _critical_density
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 297 of file SinglePhaseFluidProperties.C.

Referenced by IdealRealGasMixtureFluidProperties::p_T_from_v_e(), and IdealRealGasMixtureFluidProperties::T_from_p_v().

298 {
299  mooseError(__PRETTY_FUNCTION__, " not implemented.");
300 }
void mooseError(Args &&... args) const

◆ criticalPressure()

Real CO2FluidProperties::criticalPressure ( ) const
overridevirtual

Critical pressure.

Returns
critical pressure (Pa)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 47 of file CO2FluidProperties.C.

48 {
49  return _critical_pressure;
50 }
const Real _critical_pressure
Critical pressure (Pa)

◆ criticalTemperature()

Real CO2FluidProperties::criticalTemperature ( ) const
overridevirtual

Critical temperature.

Returns
critical temperature (K)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 53 of file CO2FluidProperties.C.

54 {
55  return _critical_temperature;
56 }
const Real _critical_temperature
Critical temperature (K)

◆ cv_from_p_T()

Real HelmholtzFluidProperties::cv_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtualinherited

Definition at line 136 of file HelmholtzFluidProperties.C.

137 {
138  // Require density first
140  // Scale the input density and temperature
141  const Real delta = density / criticalDensity();
142  const Real tau = criticalTemperature() / temperature;
143 
144  return -_R * tau * tau * d2alpha_dtau2(delta, tau) / molarMass();
145 }
virtual Real d2alpha_dtau2(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt tau.
virtual virtual std Real molarMass() const
Fluid name.
static const std::string density
Definition: NS.h:33
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
static const Real _R
Universal gas constant (J/mol/K)
static const std::string temperature
Definition: NS.h:57
virtual Real criticalTemperature() const
Critical temperature.
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
virtual Real criticalDensity() const
Critical density.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56

◆ d2alpha_ddelta2()

Real CO2FluidProperties::d2alpha_ddelta2 ( Real  delta,
Real  tau 
) const
overrideprotectedvirtual

Second derivative of Helmholtz free energy wrt delta.

Parameters
deltascaled density (-)
tauscaled temperature (-)
Returns
second derivative of Helmholtz free energy wrt delta

Implements HelmholtzFluidProperties.

Definition at line 282 of file CO2FluidProperties.C.

283 {
284  // Second derivative of the ideal gas component wrt gamma
285  Real d2phi0dd2 = -1.0 / delta / delta;
286 
287  // Second derivative of the residual component wrt gamma
288  Real d2phirdd2 = 0.0;
289  Real theta, Delta, Psi, dDelta_dd, dPsi_dd, d2Delta_dd2, d2Psi_dd2;
290 
291  for (std::size_t i = 0; i < _n1.size(); ++i)
292  d2phirdd2 += _n1[i] * _d1[i] * (_d1[i] - 1.0) * MathUtils::pow(delta, _d1[i] - 2) *
293  std::pow(tau, _t1[i]);
294 
295  for (std::size_t i = 0; i < _n2.size(); ++i)
296  d2phirdd2 += _n2[i] * std::exp(-MathUtils::pow(delta, _c2[i])) *
297  MathUtils::pow(delta, _d2[i] - 2) * std::pow(tau, _t2[i]) *
298  ((_d2[i] - _c2[i] * MathUtils::pow(delta, _c2[i])) *
299  (_d2[i] - 1.0 - _c2[i] * MathUtils::pow(delta, _c2[i])) -
300  _c2[i] * _c2[i] * MathUtils::pow(delta, _c2[i]));
301 
302  for (std::size_t i = 0; i < _n3.size(); ++i)
303  d2phirdd2 +=
304  _n3[i] * MathUtils::pow(tau, _t3[i]) *
305  std::exp(-_alpha3[i] * Utility::pow<2>(delta - _eps3[i]) -
306  _beta3[i] * Utility::pow<2>(tau - _gamma3[i])) *
307  (-2.0 * _alpha3[i] * MathUtils::pow(delta, _d3[i]) +
308  4.0 * _alpha3[i] * _alpha3[i] * MathUtils::pow(delta, _d3[i]) *
309  Utility::pow<2>(delta - _eps3[i]) -
310  4.0 * _d3[i] * _alpha3[i] * MathUtils::pow(delta, _d3[i] - 1.0) * (delta - _eps3[i]) +
311  _d3[i] * (_d3[i] - 1.0) * MathUtils::pow(delta, _d3[i] - 2.0));
312 
313  for (std::size_t i = 0; i < _n4.size(); ++i)
314  {
315  theta = 1.0 - tau + _A4[i] * std::pow(Utility::pow<2>(delta - 1.0), 1.0 / (2.0 * _beta4[i]));
316  Delta = Utility::pow<2>(theta) + _B4[i] * std::pow(Utility::pow<2>(delta - 1.0), _a4[i]);
317  Psi = std::exp(-_C4[i] * Utility::pow<2>(delta - 1.0) - _D4[i] * Utility::pow<2>(tau - 1.0));
318  dPsi_dd = -2.0 * _C4[i] * (delta - 1.0) * Psi;
319  dDelta_dd = (delta - 1.0) *
320  (_A4[i] * theta * 2.0 / _beta4[i] *
321  std::pow(Utility::pow<2>(delta - 1.0), 1.0 / (2.0 * _beta4[i]) - 1.0) +
322  2.0 * _B4[i] * _a4[i] * std::pow(Utility::pow<2>(delta - 1.0), _a4[i] - 1.0));
323  d2Psi_dd2 = 3.0 * _D4[i] * Psi * (2.0 * _C4[i] * Utility::pow<2>(delta - 1.0) - 1.0);
324  d2Delta_dd2 = 1.0 / (delta - 1.0) * dDelta_dd +
325  (delta - 1.0) * (delta - 1.0) *
326  (4.0 * _B4[i] * _a4[i] * (_a4[i] - 1.0) *
327  std::pow(Utility::pow<2>(delta - 1.0), _a4[i] - 2.0) +
328  2.0 * _A4[i] * _A4[i] *
329  Utility::pow<2>(std::pow(Utility::pow<2>(delta - 1.0),
330  1.0 / (2.0 * _beta4[i]) - 1.0)) /
331  _beta4[i] / _beta4[i] +
332  (4.0 / _beta4[i]) * _A4[i] * theta * (1.0 / (2.0 * _beta4[i]) - 1.0) *
333  std::pow(Utility::pow<2>(delta - 1.0), 1.0 / (2.0 * _beta4[i]) - 2.0));
334  d2phirdd2 +=
335  _n4[i] *
336  (std::pow(Delta, _b4[i]) * (2.0 * dPsi_dd + delta * d2Psi_dd2) +
337  2.0 * _b4[i] * std::pow(Delta, _b4[i] - 1.0) * dDelta_dd * (Psi + delta * dPsi_dd) +
338  _b4[i] *
339  (std::pow(Delta, _b4[i] - 1.0) * d2Delta_dd2 +
340  (_b4[i] - 1.0) * std::pow(Delta, _b4[i] - 2.0) * Utility::pow<2>(dDelta_dd)) *
341  delta * Psi);
342  }
343  // The second derivative of the free energy wrt delta is the sum of these components
344  return d2phi0dd2 + d2phirdd2;
345 }
const std::array< Real, 3 > _D4
const std::array< Real, 7 > _t1
const std::array< unsigned int, 5 > _d3
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
const std::array< Real, 27 > _n2
const std::array< Real, 7 > _n1
Coefficients for the residual component of the Helmholtz free energy.
const std::array< Real, 3 > _C4
const std::array< Real, 3 > _b4
const std::array< Real, 3 > _a4
const std::array< Real, 5 > _n3
const std::array< unsigned int, 27 > _c2
const std::array< Real, 5 > _eps3
const std::array< Real, 3 > _A4
const std::array< Real, 3 > _B4
const std::array< Real, 5 > _gamma3
const std::array< Real, 3 > _n4
const std::array< Real, 5 > _alpha3
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::array< unsigned int, 5 > _t3
const std::array< Real, 3 > _beta4
const std::array< Real, 27 > _t2
T pow(T x, int e)
const std::array< Real, 5 > _beta3
const std::array< unsigned int, 7 > _d1
MooseUnits pow(const MooseUnits &, int)
const std::array< unsigned int, 27 > _d2

◆ d2alpha_ddeltatau()

Real CO2FluidProperties::d2alpha_ddeltatau ( Real  delta,
Real  tau 
) const
overrideprotectedvirtual

Second derivative of Helmholtz free energy wrt delta and tau.

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

Implements HelmholtzFluidProperties.

Definition at line 397 of file CO2FluidProperties.C.

398 {
399  // Note: second derivative of the ideal gas component wrt delta and tau is 0
400  // Derivative of the residual component wrt gamma
401  Real theta, Delta, Psi, dDelta_dd, dPsi_dd, dDelta_dt, dPsi_dt, d2Delta_ddt, d2Psi_ddt;
402  Real d2phirddt = 0.0;
403  for (std::size_t i = 0; i < _n1.size(); ++i)
404  d2phirddt += _n1[i] * _d1[i] * _t1[i] * MathUtils::pow(delta, _d1[i] - 1.0) *
405  std::pow(tau, _t1[i] - 1.0);
406 
407  for (std::size_t i = 0; i < _n2.size(); ++i)
408  d2phirddt += _n2[i] * std::exp(-MathUtils::pow(delta, _c2[i])) *
409  (MathUtils::pow(delta, _d2[i] - 1.0) * _t2[i] * std::pow(tau, _t2[i] - 1.0) *
410  (_d2[i] - _c2[i] * MathUtils::pow(delta, _c2[i])));
411 
412  for (std::size_t i = 0; i < _n3.size(); ++i)
413  d2phirddt += _n3[i] * MathUtils::pow(delta, _d3[i]) * MathUtils::pow(tau, _t3[i]) *
414  std::exp(-_alpha3[i] * Utility::pow<2>(delta - _eps3[i]) -
415  _beta3[i] * Utility::pow<2>(tau - _gamma3[i])) *
416  (_d3[i] / delta - 2.0 * _alpha3[i] * (delta - _eps3[i])) *
417  (_t3[i] / tau - 2.0 * _beta3[i] * (tau - _gamma3[i]));
418 
419  for (std::size_t i = 0; i < _n4.size(); ++i)
420  {
421  theta = 1.0 - tau + _A4[i] * std::pow(Utility::pow<2>(delta - 1.0), 1.0 / (2.0 * _beta4[i]));
422  Delta = Utility::pow<2>(theta) + _B4[i] * std::pow(Utility::pow<2>(delta - 1.0), _a4[i]);
423  Psi = std::exp(-_C4[i] * Utility::pow<2>(delta - 1.0) - _D4[i] * Utility::pow<2>(tau - 1.0));
424  dPsi_dd = -2.0 * _C4[i] * (delta - 1.0) * Psi;
425  dPsi_dt = -2.0 * _D4[i] * (tau - 1.0) * Psi;
426  d2Psi_ddt = 4.0 * _C4[i] * _D4[i] * (delta - 1.0) * (tau - 1.0) * Psi;
427  dDelta_dd = (delta - 1.0) *
428  (_A4[i] * theta * 2.0 / _beta4[i] *
429  std::pow(Utility::pow<2>(delta - 1.0), 1.0 / (2.0 * _beta4[i]) - 1.0) +
430  2.0 * _B4[i] * _a4[i] * std::pow(Utility::pow<2>(delta - 1.0), _a4[i] - 1.0));
431  dDelta_dt = -2.0 * theta * _b4[i] * std::pow(Delta, _b4[i] - 1.0);
432  d2Delta_ddt = -2.0 * _A4[i] * _b4[i] / _beta4[i] * std::pow(Delta, _b4[i] - 1.0) *
433  (delta - 1.0) *
434  std::pow(Utility::pow<2>(delta - 1.0), 1.0 / (2.0 * _beta4[i]) - 1.0) -
435  2.0 * theta * _b4[i] * (_b4[i] - 1.0) * std::pow(Delta, _b4[i] - 2.0) * dDelta_dd;
436 
437  d2phirddt += _n4[i] * (std::pow(Delta, _b4[i]) * (dPsi_dt + delta * d2Psi_ddt) +
438  delta * _b4[i] * std::pow(Delta, _b4[i] - 1.0) * dDelta_dd * dPsi_dt +
439  dDelta_dt * (Psi + delta * dPsi_dd) + d2Delta_ddt * delta * Psi);
440  }
441 
442  return d2phirddt;
443 }
const std::array< Real, 3 > _D4
const std::array< Real, 7 > _t1
const std::array< unsigned int, 5 > _d3
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
const std::array< Real, 27 > _n2
const std::array< Real, 7 > _n1
Coefficients for the residual component of the Helmholtz free energy.
const std::array< Real, 3 > _C4
const std::array< Real, 3 > _b4
const std::array< Real, 3 > _a4
const std::array< Real, 5 > _n3
const std::array< unsigned int, 27 > _c2
const std::array< Real, 5 > _eps3
const std::array< Real, 3 > _A4
const std::array< Real, 3 > _B4
const std::array< Real, 5 > _gamma3
const std::array< Real, 3 > _n4
const std::array< Real, 5 > _alpha3
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::array< unsigned int, 5 > _t3
const std::array< Real, 3 > _beta4
const std::array< Real, 27 > _t2
T pow(T x, int e)
const std::array< Real, 5 > _beta3
const std::array< unsigned int, 7 > _d1
MooseUnits pow(const MooseUnits &, int)
const std::array< unsigned int, 27 > _d2

◆ d2alpha_dtau2()

Real CO2FluidProperties::d2alpha_dtau2 ( Real  delta,
Real  tau 
) const
overrideprotectedvirtual

Second derivative of Helmholtz free energy wrt tau.

Parameters
deltascaled density (-)
tauscaled temperature (-)
Returns
second derivative of Helmholtz free energy wrt tau

Implements HelmholtzFluidProperties.

Definition at line 348 of file CO2FluidProperties.C.

349 {
350  // Second derivative of the ideal gas component wrt tau
351  Real sum0 = 0.0;
352  for (std::size_t i = 0; i < _a0.size(); ++i)
353  sum0 += _a0[i] * _theta0[i] * _theta0[i] * std::exp(-_theta0[i] * tau) /
354  Utility::pow<2>(1.0 - std::exp(-_theta0[i] * tau));
355 
356  Real d2phi0dt2 = -2.5 / tau / tau - sum0;
357 
358  // Second derivative of the residual component wrt tau
359  Real d2phirdt2 = 0.0;
360  Real theta, Delta, Psi, dPsi_dt, dDelta_dt, d2Delta_dt2, d2Psi_dt2;
361 
362  for (std::size_t i = 0; i < _n1.size(); ++i)
363  d2phirdt2 += _n1[i] * _t1[i] * (_t1[i] - 1.0) * MathUtils::pow(delta, _d1[i]) *
364  std::pow(tau, _t1[i] - 2.0);
365 
366  for (std::size_t i = 0; i < _n2.size(); ++i)
367  d2phirdt2 += _n2[i] * _t2[i] * (_t2[i] - 1.0) * MathUtils::pow(delta, _d2[i]) *
368  std::exp(-MathUtils::pow(delta, _c2[i])) * std::pow(tau, _t2[i] - 2.0);
369 
370  for (std::size_t i = 0; i < _n3.size(); ++i)
371  d2phirdt2 += _n3[i] * MathUtils::pow(delta, _d3[i]) * MathUtils::pow(tau, _t3[i]) *
372  std::exp(-_alpha3[i] * Utility::pow<2>(delta - _eps3[i]) -
373  _beta3[i] * Utility::pow<2>(tau - _gamma3[i])) *
374  (Utility::pow<2>(_t3[i] / tau - 2.0 * _beta3[i] * (tau - _gamma3[i])) -
375  _t3[i] / tau / tau - 2.0 * _beta3[i]);
376 
377  for (std::size_t i = 0; i < _n4.size(); ++i)
378  {
379  theta = 1.0 - tau + _A4[i] * std::pow(Utility::pow<2>(delta - 1.0), 1.0 / (2.0 * _beta4[i]));
380  Delta = Utility::pow<2>(theta) + _B4[i] * std::pow(Utility::pow<2>(delta - 1.0), _a4[i]);
381  Psi = std::exp(-_C4[i] * Utility::pow<2>(delta - 1.0) - _D4[i] * Utility::pow<2>(tau - 1.0));
382  dDelta_dt = -2.0 * theta * _b4[i] * std::pow(Delta, _b4[i] - 1.0);
383  d2Delta_dt2 = 2.0 * _b4[i] * std::pow(Delta, _b4[i] - 1.0) +
384  4.0 * theta * theta * _b4[i] * (_b4[i] - 1.0) * std::pow(Delta, _b4[i] - 2.0);
385  dPsi_dt = -2.0 * _D4[i] * (tau - 1.0) * Psi;
386  d2Psi_dt2 = 2.0 * _D4[i] * (2.0 * _D4[i] * (tau - 1.0) * (tau - 1.0) - 1.0) * Psi;
387  d2phirdt2 +=
388  _n4[i] * delta *
389  (Psi * d2Delta_dt2 + 2.0 * dDelta_dt * dPsi_dt + std::pow(Delta, _b4[i]) * d2Psi_dt2);
390  }
391 
392  // The second derivative of the free energy wrt tau is the sum of these components
393  return d2phi0dt2 + d2phirdt2;
394 }
const std::array< Real, 3 > _D4
const std::array< Real, 7 > _t1
const std::array< unsigned int, 5 > _d3
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
const std::array< Real, 27 > _n2
const std::array< Real, 7 > _n1
Coefficients for the residual component of the Helmholtz free energy.
const std::array< Real, 3 > _C4
const std::array< Real, 5 > _theta0
const std::array< Real, 3 > _b4
const std::array< Real, 3 > _a4
const std::array< Real, 5 > _n3
const std::array< unsigned int, 27 > _c2
const std::array< Real, 5 > _eps3
const std::array< Real, 3 > _A4
const std::array< Real, 3 > _B4
const std::array< Real, 5 > _gamma3
const std::array< Real, 3 > _n4
const std::array< Real, 5 > _alpha3
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::array< unsigned int, 5 > _t3
const std::array< Real, 3 > _beta4
const std::array< Real, 5 > _a0
Coefficients for the ideal gas component of the Helmholtz free energy.
const std::array< Real, 27 > _t2
T pow(T x, int e)
const std::array< Real, 5 > _beta3
const std::array< unsigned int, 7 > _d1
MooseUnits pow(const MooseUnits &, int)
const std::array< unsigned int, 27 > _d2

◆ dalpha_ddelta()

Real CO2FluidProperties::dalpha_ddelta ( Real  delta,
Real  tau 
) const
overrideprotectedvirtual

Derivative of Helmholtz free energy wrt delta.

Parameters
deltascaled density (-)
tauscaled temperature (-)
Returns
derivative of Helmholtz free energy wrt delta

Implements HelmholtzFluidProperties.

Definition at line 198 of file CO2FluidProperties.C.

199 {
200  // Derivative of the ideal gas component wrt gamma
201  Real dphi0dd = 1.0 / delta;
202 
203  // Derivative of the residual component wrt gamma
204  Real theta, Delta, Psi, dDelta_dd, dPsi_dd;
205  Real dphirdd = 0.0;
206 
207  for (std::size_t i = 0; i < _n1.size(); ++i)
208  dphirdd += _n1[i] * _d1[i] * MathUtils::pow(delta, _d1[i] - 1.0) * std::pow(tau, _t1[i]);
209 
210  for (std::size_t i = 0; i < _n2.size(); ++i)
211  dphirdd += _n2[i] * std::exp(-MathUtils::pow(delta, _c2[i])) *
212  (MathUtils::pow(delta, _d2[i] - 1.0) * std::pow(tau, _t2[i]) *
213  (_d2[i] - _c2[i] * MathUtils::pow(delta, _c2[i])));
214 
215  for (std::size_t i = 0; i < _n3.size(); ++i)
216  dphirdd += _n3[i] * MathUtils::pow(delta, _d3[i]) * MathUtils::pow(tau, _t3[i]) *
217  std::exp(-_alpha3[i] * Utility::pow<2>(delta - _eps3[i]) -
218  _beta3[i] * Utility::pow<2>(tau - _gamma3[i])) *
219  (_d3[i] / delta - 2.0 * _alpha3[i] * (delta - _eps3[i]));
220 
221  for (std::size_t i = 0; i < _n4.size(); ++i)
222  {
223  theta = 1.0 - tau + _A4[i] * std::pow(Utility::pow<2>(delta - 1.0), 1.0 / (2.0 * _beta4[i]));
224  Delta = Utility::pow<2>(theta) + _B4[i] * std::pow(Utility::pow<2>(delta - 1.0), _a4[i]);
225  Psi = std::exp(-_C4[i] * Utility::pow<2>(delta - 1.0) - _D4[i] * Utility::pow<2>(tau - 1.0));
226  dPsi_dd = -2.0 * _C4[i] * (delta - 1.0) * Psi;
227  dDelta_dd = (delta - 1.0) *
228  (_A4[i] * theta * 2.0 / _beta4[i] *
229  std::pow(Utility::pow<2>(delta - 1.0), 1.0 / (2.0 * _beta4[i]) - 1.0) +
230  2.0 * _B4[i] * _a4[i] * std::pow(Utility::pow<2>(delta - 1.0), _a4[i] - 1.0));
231 
232  dphirdd += _n4[i] * (std::pow(Delta, _b4[i]) * (Psi + delta * dPsi_dd) +
233  _b4[i] * std::pow(Delta, _b4[i] - 1.0) * dDelta_dd * delta * Psi);
234  }
235 
236  // The derivative of the free energy wrt delta is the sum of these components
237  return dphi0dd + dphirdd;
238 }
const std::array< Real, 3 > _D4
const std::array< Real, 7 > _t1
const std::array< unsigned int, 5 > _d3
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
const std::array< Real, 27 > _n2
const std::array< Real, 7 > _n1
Coefficients for the residual component of the Helmholtz free energy.
const std::array< Real, 3 > _C4
const std::array< Real, 3 > _b4
const std::array< Real, 3 > _a4
const std::array< Real, 5 > _n3
const std::array< unsigned int, 27 > _c2
const std::array< Real, 5 > _eps3
const std::array< Real, 3 > _A4
const std::array< Real, 3 > _B4
const std::array< Real, 5 > _gamma3
const std::array< Real, 3 > _n4
const std::array< Real, 5 > _alpha3
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::array< unsigned int, 5 > _t3
const std::array< Real, 3 > _beta4
const std::array< Real, 27 > _t2
T pow(T x, int e)
const std::array< Real, 5 > _beta3
const std::array< unsigned int, 7 > _d1
MooseUnits pow(const MooseUnits &, int)
const std::array< unsigned int, 27 > _d2

◆ dalpha_dtau()

Real CO2FluidProperties::dalpha_dtau ( Real  delta,
Real  tau 
) const
overrideprotectedvirtual

Derivative of Helmholtz free energy wrt tau.

Parameters
deltascaled density (-)
tauscaled temperature (-)
Returns
derivative of Helmholtz free energy wrt tau

Implements HelmholtzFluidProperties.

Definition at line 241 of file CO2FluidProperties.C.

242 {
243  // Derivative of the ideal gas component wrt tau
244  Real sum0 = 0.0;
245  for (std::size_t i = 0; i < _a0.size(); ++i)
246  sum0 += _a0[i] * _theta0[i] * (1.0 / (1.0 - std::exp(-_theta0[i] * tau)) - 1.0);
247 
248  Real dphi0dt = -3.70454304 + 2.5 / tau + sum0;
249 
250  // Derivative of the residual component wrt tau
251  Real theta, Delta, Psi, dDelta_dt, dPsi_dt;
252  Real dphirdt = 0.0;
253  for (std::size_t i = 0; i < _n1.size(); ++i)
254  dphirdt += _n1[i] * _t1[i] * MathUtils::pow(delta, _d1[i]) * std::pow(tau, _t1[i] - 1.0);
255 
256  for (std::size_t i = 0; i < _n2.size(); ++i)
257  dphirdt += _n2[i] * _t2[i] * MathUtils::pow(delta, _d2[i]) * std::pow(tau, _t2[i] - 1.0) *
258  std::exp(-MathUtils::pow(delta, _c2[i]));
259 
260  for (std::size_t i = 0; i < _n3.size(); ++i)
261  dphirdt += _n3[i] * MathUtils::pow(delta, _d3[i]) * MathUtils::pow(tau, _t3[i]) *
262  std::exp(-_alpha3[i] * Utility::pow<2>(delta - _eps3[i]) -
263  _beta3[i] * Utility::pow<2>(tau - _gamma3[i])) *
264  (_t3[i] / tau - 2.0 * _beta3[i] * (tau - _gamma3[i]));
265 
266  for (std::size_t i = 0; i < _n4.size(); ++i)
267  {
268  theta = 1.0 - tau + _A4[i] * std::pow(Utility::pow<2>(delta - 1.0), 1.0 / (2.0 * _beta4[i]));
269  Delta = Utility::pow<2>(theta) + _B4[i] * std::pow(Utility::pow<2>(delta - 1.0), _a4[i]);
270  Psi = std::exp(-_C4[i] * Utility::pow<2>(delta - 1.0) - _D4[i] * Utility::pow<2>(tau - 1.0));
271  dDelta_dt = -2.0 * theta * _b4[i] * std::pow(Delta, _b4[i] - 1.0);
272  dPsi_dt = -2.0 * _D4[i] * (tau - 1.0) * Psi;
273 
274  dphirdt += _n4[i] * delta * (Psi * dDelta_dt + std::pow(Delta, _b4[i]) * dPsi_dt);
275  }
276 
277  // The derivative of the free energy wrt tau is the sum of these components
278  return dphi0dt + dphirdt;
279 }
const std::array< Real, 3 > _D4
const std::array< Real, 7 > _t1
const std::array< unsigned int, 5 > _d3
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
const std::array< Real, 27 > _n2
const std::array< Real, 7 > _n1
Coefficients for the residual component of the Helmholtz free energy.
const std::array< Real, 3 > _C4
const std::array< Real, 5 > _theta0
const std::array< Real, 3 > _b4
const std::array< Real, 3 > _a4
const std::array< Real, 5 > _n3
const std::array< unsigned int, 27 > _c2
const std::array< Real, 5 > _eps3
const std::array< Real, 3 > _A4
const std::array< Real, 3 > _B4
const std::array< Real, 5 > _gamma3
const std::array< Real, 3 > _n4
const std::array< Real, 5 > _alpha3
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::array< unsigned int, 5 > _t3
const std::array< Real, 3 > _beta4
const std::array< Real, 5 > _a0
Coefficients for the ideal gas component of the Helmholtz free energy.
const std::array< Real, 27 > _t2
T pow(T x, int e)
const std::array< Real, 5 > _beta3
const std::array< unsigned int, 7 > _d1
MooseUnits pow(const MooseUnits &, int)
const std::array< unsigned int, 27 > _d2

◆ e_from_p_T() [1/2]

Real HelmholtzFluidProperties::e_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtualinherited

Definition at line 63 of file HelmholtzFluidProperties.C.

Referenced by HelmholtzFluidProperties::e_from_p_T().

64 {
65  // Require density first
67  // Scale the input density and temperature
68  const Real delta = density / criticalDensity();
69  const Real tau = criticalTemperature() / temperature;
70 
71  return _R * temperature * tau * dalpha_dtau(delta, tau) / molarMass();
72 }
virtual virtual std Real molarMass() const
Fluid name.
static const std::string density
Definition: NS.h:33
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
static const Real _R
Universal gas constant (J/mol/K)
static const std::string temperature
Definition: NS.h:57
virtual Real criticalTemperature() const
Critical temperature.
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
virtual Real dalpha_dtau(Real delta, Real tau) const =0
Derivative of Helmholtz free energy wrt tau.
virtual Real criticalDensity() const
Critical density.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56

◆ e_from_p_T() [2/2]

void HelmholtzFluidProperties::e_from_p_T ( Real  p,
Real  T,
Real e,
Real de_dp,
Real de_dT 
) const
overridevirtualinherited

Definition at line 75 of file HelmholtzFluidProperties.C.

77 {
78  e = this->e_from_p_T(pressure, temperature);
79 
80  // Require density first
82  // Scale the input density and temperature
83  const Real delta = density / criticalDensity();
84  const Real tau = criticalTemperature() / temperature;
85 
86  const Real da_dd = dalpha_ddelta(delta, tau);
87  const Real d2a_dd2 = d2alpha_ddelta2(delta, tau);
88  const Real d2a_ddt = d2alpha_ddeltatau(delta, tau);
89 
90  de_dp = tau * d2a_ddt / (density * (2.0 * da_dd + delta * d2a_dd2));
91  de_dT = -_R *
92  (delta * tau * d2a_ddt * (da_dd - tau * d2a_ddt) / (2.0 * da_dd + delta * d2a_dd2) +
93  tau * tau * d2alpha_dtau2(delta, tau)) /
94  molarMass();
95 }
virtual Real d2alpha_ddeltatau(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt delta and tau.
virtual Real d2alpha_dtau2(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt tau.
virtual virtual std Real molarMass() const
Fluid name.
static const std::string density
Definition: NS.h:33
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
static const Real _R
Universal gas constant (J/mol/K)
static const std::string temperature
Definition: NS.h:57
virtual Real d2alpha_ddelta2(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt delta.
virtual Real criticalTemperature() const
Critical temperature.
virtual Real dalpha_ddelta(Real delta, Real tau) const =0
Derivative of Helmholtz free energy wrt delta.
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
virtual Real criticalDensity() const
Critical density.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56
virtual Real e_from_p_T(Real pressure, Real temperature) const override

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

Referenced by IdealRealGasMixtureFluidProperties::p_T_from_v_e(), and IdealRealGasMixtureFluidProperties::T_from_p_v().

458 {
459  mooseError(__PRETTY_FUNCTION__, " not implemented.");
460 }
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 CO2FluidProperties::fluidName ( ) const
overridevirtual

Definition at line 35 of file CO2FluidProperties.C.

36 {
37  return "co2";
38 }

◆ h_from_p_T() [1/2]

Real HelmholtzFluidProperties::h_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtualinherited

Definition at line 183 of file HelmholtzFluidProperties.C.

Referenced by HelmholtzFluidProperties::h_from_p_T().

184 {
185  // Require density first
187  // Scale the input density and temperature
188  const Real delta = density / criticalDensity();
189  const Real tau = criticalTemperature() / temperature;
190 
191  return _R * temperature * (tau * dalpha_dtau(delta, tau) + delta * dalpha_ddelta(delta, tau)) /
192  molarMass();
193 }
virtual virtual std Real molarMass() const
Fluid name.
static const std::string density
Definition: NS.h:33
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
static const Real _R
Universal gas constant (J/mol/K)
static const std::string temperature
Definition: NS.h:57
virtual Real criticalTemperature() const
Critical temperature.
virtual Real dalpha_ddelta(Real delta, Real tau) const =0
Derivative of Helmholtz free energy wrt delta.
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
virtual Real dalpha_dtau(Real delta, Real tau) const =0
Derivative of Helmholtz free energy wrt tau.
virtual Real criticalDensity() const
Critical density.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56

◆ h_from_p_T() [2/2]

void HelmholtzFluidProperties::h_from_p_T ( Real  p,
Real  T,
Real h,
Real dh_dp,
Real dh_dT 
) const
overridevirtualinherited

Definition at line 196 of file HelmholtzFluidProperties.C.

198 {
199  h = this->h_from_p_T(pressure, temperature);
200 
201  // Require density first
203  // Scale the input density and temperature
204  const Real delta = density / criticalDensity();
205  const Real tau = criticalTemperature() / temperature;
206 
207  const Real da_dd = dalpha_ddelta(delta, tau);
208  const Real d2a_dd2 = d2alpha_ddelta2(delta, tau);
209  const Real d2a_ddt = d2alpha_ddeltatau(delta, tau);
210 
211  dh_dp = (da_dd + delta * d2a_dd2 + tau * d2a_ddt) / (density * (2.0 * da_dd + delta * d2a_dd2));
212  dh_dT = _R *
213  (delta * da_dd * (1.0 - tau * d2a_ddt / da_dd) * (1.0 - tau * d2a_ddt / da_dd) /
214  (2.0 + delta * d2a_dd2 / da_dd) -
215  tau * tau * d2alpha_dtau2(delta, tau)) /
216  molarMass();
217 }
virtual Real d2alpha_ddeltatau(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt delta and tau.
virtual Real d2alpha_dtau2(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt tau.
virtual virtual std Real molarMass() const
Fluid name.
static const std::string density
Definition: NS.h:33
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
static const Real _R
Universal gas constant (J/mol/K)
static const std::string temperature
Definition: NS.h:57
virtual Real d2alpha_ddelta2(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt delta.
virtual Real criticalTemperature() const
Critical temperature.
virtual Real dalpha_ddelta(Real delta, Real tau) const =0
Derivative of Helmholtz free energy wrt delta.
virtual Real h_from_p_T(Real pressure, Real temperature) const override
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
e e e e s T T T T T rho v v T h
virtual Real criticalDensity() const
Critical density.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56

◆ henryCoefficients()

std::vector< Real > CO2FluidProperties::henryCoefficients ( ) const
overridevirtual

Henry's law coefficients for dissolution in water.

Returns
Henry's constant coefficients

Reimplemented from SinglePhaseFluidProperties.

Definition at line 635 of file CO2FluidProperties.C.

636 {
637  return {-8.55445, 4.01195, 9.52345};
638 }

◆ initialize()

virtual void FluidProperties::initialize ( )
inlinefinalvirtualinherited

Implements ThreadedGeneralUserObject.

Definition at line 34 of file FluidProperties.h.

34 {}

◆ k_from_p_T() [1/2]

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

Definition at line 641 of file CO2FluidProperties.C.

Referenced by k_from_p_T().

642 {
643  // Require density first
646 }
virtual Real k_from_rho_T(Real density, Real temperature) const override
static const std::string density
Definition: NS.h:33
static const std::string temperature
Definition: NS.h:57
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56

◆ k_from_p_T() [2/2]

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

Definition at line 649 of file CO2FluidProperties.C.

651 {
652  k = this->k_from_p_T(pressure, temperature);
653  // Calculate derivatives using finite differences. Note: this will be slow as
654  // multiple calculations of density are required
655  const Real eps = 1.0e-6;
656  const Real peps = pressure * eps;
657  const Real Teps = temperature * eps;
658 
659  dk_dp = (this->k_from_p_T(pressure + peps, temperature) - k) / peps;
660  dk_dT = (this->k_from_p_T(pressure, temperature + Teps) - k) / Teps;
661 }
const Real eps
static const std::string temperature
Definition: NS.h:57
virtual Real k_from_p_T(Real pressure, Real temperature) const override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56
static const std::string k
Definition: NS.h:124

◆ k_from_rho_T()

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

Definition at line 664 of file CO2FluidProperties.C.

Referenced by k_from_p_T().

665 {
666  // Check the temperature is in the range of validity (216.592 K <= T <= 1000 K)
667  if (temperature <= _triple_point_temperature || temperature >= 1000.0)
668  throw MooseException("Temperature " + Moose::stringify(temperature) +
669  "K out of range (200K, 1000K) in " + name() + ": k()");
670 
671  // Scaled variables
673  Real rhor = density / _critical_density;
674 
675  Real sum1 = 0.0;
676  for (std::size_t i = 0; i < _k_n1.size(); ++i)
677  sum1 += _k_n1[i] * std::pow(Tr, _k_g1[i]) * MathUtils::pow(rhor, _k_h1[i]);
678 
679  Real sum2 = 0.0;
680  for (std::size_t i = 0; i < _k_n2.size(); ++i)
681  sum2 += _k_n2[i] * std::pow(Tr, _k_g2[i]) * MathUtils::pow(rhor, _k_h2[i]);
682 
683  // Near-critical enhancement
684  Real alpha =
685  1.0 - _k_a[9] * std::acosh(1.0 + _k_a[10] * std::pow(Utility::pow<2>(1.0 - Tr), _k_a[11]));
686  Real lambdac =
687  rhor *
688  std::exp(-std::pow(rhor, _k_a[0]) / _k_a[0] - Utility::pow<2>(_k_a[1] * (Tr - 1.0)) -
689  Utility::pow<2>(_k_a[2] * (rhor - 1.0))) /
690  std::pow(std::pow(Utility::pow<2>(
691  1.0 - 1.0 / Tr +
692  _k_a[3] * std::pow(Utility::pow<2>(rhor - 1.0), 1.0 / (2.0 * _k_a[4]))),
693  _k_a[5]) +
694  std::pow(Utility::pow<2>(_k_a[6] * (rhor - alpha)), _k_a[7]),
695  _k_a[8]);
696 
697  return 4.81384 * (sum1 + std::exp(-5.0 * rhor * rhor) * sum2 + 0.775547504 * lambdac) / 1000.0;
698 }
const std::array< Real, 7 > _k_n2
const Real _critical_density
Critical density (kg/m^3)
const std::array< Real, 3 > _k_g1
Coefficients for the thermal conductivity.
static const std::string density
Definition: NS.h:33
static const std::string temperature
Definition: NS.h:57
virtual const std::string & name() const
const std::array< unsigned int, 7 > _k_h2
const std::array< unsigned int, 3 > _k_h1
std::string stringify(const T &t)
const Real _critical_temperature
Critical temperature (K)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::array< Real, 12 > _k_a
const std::array< Real, 3 > _k_n1
const std::array< Real, 7 > _k_g2
T pow(T x, int e)
MooseUnits pow(const MooseUnits &, int)
virtual Real alpha(Real delta, Real tau) const override
Helmholtz free energy.

◆ 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 reperesentations of that type (first and second members of returned pair respectively)

Definition at line 458 of file SinglePhaseFluidProperties.h.

Referenced by SinglePhaseFluidProperties::xyDerivatives().

459 {
460  return {T{0, 0}, T{1, 0}};
461 }

◆ makeZeroAndOne() [2/2]

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

Definition at line 465 of file SinglePhaseFluidProperties.h.

466 {
467  return {Real{0}, Real{1}};
468 }
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ meltingPressure()

Real CO2FluidProperties::meltingPressure ( Real  temperature) const

Melting pressure.

Used to delineate solid and liquid phases Valid for temperatures greater than the triple point temperature

Eq. 3.10, from Span and Wagner (reference above)

Parameters
temperatureCO2 temperature (K)
Returns
melting pressure (Pa)

Definition at line 77 of file CO2FluidProperties.C.

Referenced by rho_from_p_T().

78 {
80  throw MooseException("Temperature is below the triple point temperature in " + name() +
81  ": meltingPressure()");
82 
84 
85  return _triple_point_pressure *
86  (1.0 + 1955.539 * (Tstar - 1.0) + 2055.4593 * Utility::pow<2>(Tstar - 1.0));
87 }
static const std::string temperature
Definition: NS.h:57
virtual const std::string & name() const
const Real _triple_point_temperature
Triple point temperature (K)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real _triple_point_pressure
Triple point pressure (Pa)

◆ molarMass()

Real CO2FluidProperties::molarMass ( ) const
overridevirtual

Fluid name.

Returns
string representing fluid name Molar mass [kg/mol]
molar mass

Reimplemented from SinglePhaseFluidProperties.

Definition at line 41 of file CO2FluidProperties.C.

42 {
43  return _Mco2;
44 }
const Real _Mco2
Molar mass of CO2 (kg/mol)

◆ mu_from_p_T() [1/2]

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

Definition at line 507 of file CO2FluidProperties.C.

508 {
510  return mu_from_rho_T(rho, temperature);
511 }
static const std::string temperature
Definition: NS.h:57
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56
virtual Real mu_from_rho_T(Real density, Real temperature) const override

◆ mu_from_p_T() [2/2]

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

Definition at line 514 of file CO2FluidProperties.C.

516 {
517  Real rho, drho_dp, drho_dT;
519 
520  Real dmu_drho;
521  mu_from_rho_T(rho, temperature, drho_dT, mu, dmu_drho, dmu_dT);
522  dmu_dp = dmu_drho * drho_dp;
523 }
static const std::string temperature
Definition: NS.h:57
static const std::string mu
Definition: NS.h:122
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56
virtual Real mu_from_rho_T(Real density, Real temperature) const override

◆ mu_from_rho_T() [1/2]

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

Definition at line 526 of file CO2FluidProperties.C.

Referenced by mu_from_p_T(), and rho_mu_from_p_T().

527 {
528  // Check that the input parameters are within the region of validity
529  if (temperature < 216.0 || temperature > 1000.0 || density > 1400.0)
530  throw MooseException("Parameters out of range in " + name() + ": mu_from_rho_T()");
531 
532  Real Tstar = temperature / 251.196;
533 
534  // Viscosity in the zero-density limit
535  Real sum = 0.0;
536 
537  for (std::size_t i = 0; i < _mu_a.size(); ++i)
538  sum += _mu_a[i] * MathUtils::pow(std::log(Tstar), i);
539 
540  Real mu0 = 1.00697 * std::sqrt(temperature) / std::exp(sum);
541 
542  // Excess viscosity due to finite density
543  Real mue = _mu_d[0] * density + _mu_d[1] * Utility::pow<2>(density) +
544  _mu_d[2] * Utility::pow<6>(density) / Utility::pow<3>(Tstar) +
545  _mu_d[3] * Utility::pow<8>(density) + _mu_d[4] * Utility::pow<8>(density) / Tstar;
546 
547  return (mu0 + mue) * 1.0e-6; // convert to Pa.s
548 }
static const std::string density
Definition: NS.h:33
static const std::string temperature
Definition: NS.h:57
ADRealEigenVector< T, D, asd > sqrt(const ADRealEigenVector< T, D, asd > &)
virtual const std::string & name() const
const std::array< Real, 5 > _mu_a
Coefficients for viscosity.
const std::array< Real, 5 > _mu_d
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
T pow(T x, int e)

◆ mu_from_rho_T() [2/2]

void CO2FluidProperties::mu_from_rho_T ( Real  density,
Real  temperature,
Real  ddensity_dT,
Real mu,
Real dmu_drho,
Real dmu_dT 
) const

Definition at line 551 of file CO2FluidProperties.C.

557 {
558  // Check that the input parameters are within the region of validity
559  if (temperature < 216.0 || temperature > 1000.0 || density > 1400.0)
560  throw MooseException("Parameters out of range in " + name() + ": mu_drhoT()");
561 
562  Real Tstar = temperature / 251.196;
563  Real dTstar_dT = 1.0 / 251.196;
564 
565  // Viscosity in the zero-density limit. Note this is only a function of T.
566  // Start the sum at i = 1 so the derivative is defined
567  Real sum0 = _mu_a[0], dsum0_dTstar = 0.0;
568 
569  for (std::size_t i = 1; i < _mu_a.size(); ++i)
570  {
571  sum0 += _mu_a[i] * MathUtils::pow(std::log(Tstar), i);
572  dsum0_dTstar += i * _mu_a[i] * MathUtils::pow(std::log(Tstar), i - 1) / Tstar;
573  }
574 
575  Real mu0 = 1.00697 * std::sqrt(temperature) / std::exp(sum0);
576  Real dmu0_dT = (0.5 * 1.00697 / std::sqrt(temperature) -
577  1.00697 * std::sqrt(temperature) * dsum0_dTstar * dTstar_dT) /
578  std::exp(sum0);
579 
580  // Excess viscosity due to finite density
581  Real mue = _mu_d[0] * density + _mu_d[1] * Utility::pow<2>(density) +
582  _mu_d[2] * Utility::pow<6>(density) / Utility::pow<3>(Tstar) +
583  _mu_d[3] * Utility::pow<8>(density) + _mu_d[4] * Utility::pow<8>(density) / Tstar;
584 
585  Real dmue_drho = _mu_d[0] + 2.0 * _mu_d[1] * density +
586  6.0 * _mu_d[2] * Utility::pow<5>(density) / Utility::pow<3>(Tstar) +
587  8.0 * _mu_d[3] * Utility::pow<7>(density) +
588  8.0 * _mu_d[4] * Utility::pow<7>(density) / Tstar;
589 
590  Real dmue_dT = (-3.0 * _mu_d[2] * Utility::pow<6>(density) / Utility::pow<4>(Tstar) -
591  _mu_d[4] * Utility::pow<8>(density) / Tstar / Tstar) *
592  dTstar_dT;
593 
594  // Viscosity in Pa.s is
595  mu = (mu0 + mue) * 1.0e-6;
596  dmu_drho = dmue_drho * 1.0e-6;
597  dmu_dT = (dmu0_dT + dmue_dT) * 1.0e-6 + dmu_drho * ddensity_dT;
598 }
static const std::string density
Definition: NS.h:33
static const std::string temperature
Definition: NS.h:57
ADRealEigenVector< T, D, asd > sqrt(const ADRealEigenVector< T, D, asd > &)
virtual const std::string & name() const
static const std::string mu
Definition: NS.h:122
const std::array< Real, 5 > _mu_a
Coefficients for viscosity.
const std::array< Real, 5 > _mu_d
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
T pow(T x, int e)

◆ p_from_rho_T()

Real CO2FluidProperties::p_from_rho_T ( Real  rho,
Real  T 
) const
overridevirtual

Pressure as a function of density and temperature.

Parameters
rhodensity (kg/m^3)
Ttemperature (K)
Returns
pressure (Pa)

Reimplemented from HelmholtzFluidProperties.

Definition at line 446 of file CO2FluidProperties.C.

Referenced by rho_from_p_T().

447 {
448  // Check that the input parameters are within the region of validity
449  if (temperature < 216.0 || temperature > 1100.0 || density <= 0.0)
450  throw MooseException("Parameters out of range in " + name() + ": pressure()");
451 
452  Real pressure = 0.0;
453 
455  {
456  Real gas_density = saturatedVaporDensity(temperature);
457  Real liquid_density = saturatedLiquidDensity(temperature);
458 
459  if (density < gas_density || density > liquid_density)
461  else
463  }
464  else
466 
467  return pressure;
468 }
Real saturatedLiquidDensity(Real temperature) const
Saturated liquid density of CO2 Valid for temperatures between the triple point temperature and criti...
virtual Real vaporPressure(Real temperature) const override
Vapor pressure.
static const std::string density
Definition: NS.h:33
static const std::string temperature
Definition: NS.h:57
virtual const std::string & name() const
Real saturatedVaporDensity(Real temperature) const
Saturated vapor density of CO2 Valid for temperatures between the triple point temperature and critic...
const Real _triple_point_temperature
Triple point temperature (K)
virtual Real p_from_rho_T(Real rho, Real T) const
Pressure as a function of density and temperature.
const Real _critical_temperature
Critical temperature (K)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56

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

Referenced by TabulatedFluidProperties::T_from_h_s().

564 {
565  auto h_lambda = [&](const T & pressure, const T & temperature, T & new_h, T & dh_dp, T & dh_dT)
566  { h_from_p_T(pressure, temperature, new_h, dh_dp, dh_dT); };
567  auto s_lambda = [&](const T & pressure, const T & temperature, T & new_s, T & ds_dp, T & ds_dT)
568  { s_from_p_T(pressure, temperature, new_s, ds_dp, ds_dT); };
569  try
570  {
572  h, s, p0, T0, pressure, temperature, _tolerance, _tolerance, h_lambda, s_lambda);
573  conversion_succeeded = true;
574  }
575  catch (MooseException &)
576  {
577  conversion_succeeded = false;
578  }
579 
580  if (!conversion_succeeded)
581  mooseDoOnce(mooseWarning("Conversion from (h, s)=(", h, ", ", s, ") to (p, T) failed"));
582 }
static const std::string temperature
Definition: NS.h:57
void mooseWarning(Args &&... args) const
const Real _tolerance
Newton&#39;s method may be used to convert between variable sets _tolerance, _T_initial_guess, and _p_initial_guess are the parameters for these iterative solves.
void NewtonSolve2D(const T &f, const T &g, const Real x0, const Real y0, T &x_final, T &y_final, const Real f_tol, const Real g_tol, const Functor1 &func1, const Functor2 &func2, const unsigned int max_its=100)
NewtonSolve2D does a 2D Newton Solve to solve for the x and y such that: f = func1(x, y) and g = func2(x, y).
e e e e s T T T T T rho v v T h
static const std::string pressure
Definition: NS.h:56

◆ p_T_from_v_e()

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

Referenced by TabulatedBicubicFluidProperties::constructInterpolation(), and TabulatedFluidProperties::g_from_v_e().

500 {
501  auto v_lambda = [&](const CppType & pressure,
502  const CppType & temperature,
503  CppType & new_v,
504  CppType & dv_dp,
505  CppType & dv_dT) { v_from_p_T(pressure, temperature, new_v, dv_dp, dv_dT); };
506  auto e_lambda = [&](const CppType & pressure,
507  const CppType & temperature,
508  CppType & new_e,
509  CppType & de_dp,
510  CppType & de_dT) { e_from_p_T(pressure, temperature, new_e, de_dp, de_dT); };
511  try
512  {
514  v, e, p0, T0, p, T, _tolerance, _tolerance, v_lambda, e_lambda);
515  conversion_succeeded = true;
516  }
517  catch (MooseException &)
518  {
519  conversion_succeeded = false;
520  }
521 
522  if (!conversion_succeeded)
523  mooseDoOnce(mooseWarning("Conversion from (v, e)=(", v, ", ", e, ") to (p, T) failed"));
524 }
static const std::string temperature
Definition: NS.h:57
void mooseWarning(Args &&... args) const
const Real _tolerance
Newton&#39;s method may be used to convert between variable sets _tolerance, _T_initial_guess, and _p_initial_guess are the parameters for these iterative solves.
void NewtonSolve2D(const T &f, const T &g, const Real x0, const Real y0, T &x_final, T &y_final, const Real f_tol, const Real g_tol, const Functor1 &func1, const Functor2 &func2, const unsigned int max_its=100)
NewtonSolve2D does a 2D Newton Solve to solve for the x and y such that: f = func1(x, y) and g = func2(x, y).
static const std::string pressure
Definition: NS.h:56

◆ p_T_from_v_h()

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

Referenced by TabulatedBicubicFluidProperties::constructInterpolation().

535 {
536  auto v_lambda = [&](const T & pressure, const T & temperature, T & new_v, T & dv_dp, T & dv_dT)
537  { v_from_p_T(pressure, temperature, new_v, dv_dp, dv_dT); };
538  auto h_lambda = [&](const T & pressure, const T & temperature, T & new_h, T & dh_dp, T & dh_dT)
539  { h_from_p_T(pressure, temperature, new_h, dh_dp, dh_dT); };
540  try
541  {
543  v, h, p0, T0, pressure, temperature, _tolerance, _tolerance, v_lambda, h_lambda);
544  conversion_succeeded = true;
545  }
546  catch (MooseException &)
547  {
548  conversion_succeeded = false;
549  }
550 
551  if (!conversion_succeeded)
552  mooseDoOnce(mooseWarning("Conversion from (v, h)=(", v, ", ", h, ") to (p, T) failed"));
553 }
static const std::string temperature
Definition: NS.h:57
void mooseWarning(Args &&... args) const
const Real _tolerance
Newton&#39;s method may be used to convert between variable sets _tolerance, _T_initial_guess, and _p_initial_guess are the parameters for these iterative solves.
void NewtonSolve2D(const T &f, const T &g, const Real x0, const Real y0, T &x_final, T &y_final, const Real f_tol, const Real g_tol, const Functor1 &func1, const Functor2 &func2, const unsigned int max_its=100)
NewtonSolve2D does a 2D Newton Solve to solve for the x and y such that: f = func1(x, y) and g = func2(x, y).
e e e e s T T T T T rho v v T h
static const std::string pressure
Definition: NS.h:56

◆ partialDensity()

Real CO2FluidProperties::partialDensity ( Real  temperature) const

Partial density of dissolved CO2 From Garcia, Density of aqueous solutions of CO2, LBNL-49023 (2001)

Parameters
temperaturefluid temperature (K)
Returns
partial molar density (kg/m^3)

Definition at line 624 of file CO2FluidProperties.C.

625 {
626  // This correlation uses temperature in C
627  Real Tc = temperature - _T_c2k;
628  // The partial volume
629  Real V = 37.51 - 9.585e-2 * Tc + 8.74e-4 * Tc * Tc - 5.044e-7 * Tc * Tc * Tc;
630 
631  return 1.0e6 * _Mco2 / V;
632 }
static const std::string temperature
Definition: NS.h:57
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real _T_c2k
Conversion of temperature from Celsius to Kelvin.
const Real _Mco2
Molar mass of CO2 (kg/mol)

◆ propfunc() [1/14]

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(DualReal a, DualReal b) and x_from_a_b(DualReal a, DualReal b, DualReal x, DualReal dx_da, DualReal 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/14]

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

◆ propfunc() [3/14]

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

◆ propfunc() [4/14]

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

◆ propfunc() [5/14]

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

◆ propfunc() [6/14]

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

◆ propfunc() [7/14]

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

◆ propfunc() [8/14]

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

◆ propfunc() [9/14]

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

◆ propfunc() [10/14]

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

◆ propfunc() [11/14]

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

◆ propfunc() [12/14]

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

◆ propfunc() [13/14]

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

◆ propfunc() [14/14]

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

◆ propfuncWithDefault() [1/4]

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

◆ propfuncWithDefault() [2/4]

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

◆ propfuncWithDefault() [3/4]

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

◆ propfuncWithDefault() [4/4]

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

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

421 {
422  rho_from_p_T(p, T, rho, drho_dp, drho_dT);
423  e_from_p_T(p, T, e, de_dp, de_dT);
424 }

◆ rho_from_p_T() [1/2]

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

Reimplemented from HelmholtzFluidProperties.

Definition at line 471 of file CO2FluidProperties.C.

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

472 {
473  // Check that the input parameters are within the region of validity
474  if (temperature < 216.0 || temperature > 1100.0 || pressure <= 0.0)
475  throw MooseException("Parameters out of range in " + name() + ": rho_from_p_T()");
476 
477  // Also check that the pressure and temperature are not in the solid phase region
480  throw MooseException("Input pressure and temperature in " + name() +
481  ": rho_from_p_T() correspond to solid CO2 phase");
482 
483  Real density;
484  // Initial estimate of a bracketing interval for the density
485  Real lower_density = 100.0;
486  Real upper_density = 1000.0;
487 
488  // The density is found by finding the zero of the pressure calculated using the
489  // Span and Wagner EOS minus the input pressure
490  auto pressure_diff = [&pressure, &temperature, this](Real x)
491  { return p_from_rho_T(x, temperature) - pressure; };
492 
493  BrentsMethod::bracket(pressure_diff, lower_density, upper_density);
494  density = BrentsMethod::root(pressure_diff, lower_density, upper_density);
495 
496  return density;
497 }
Real sublimationPressure(Real temperature) const
Sublimation pressure.
static const std::string density
Definition: NS.h:33
static const std::string temperature
Definition: NS.h:57
virtual const std::string & name() const
const std::vector< double > x
Real root(std::function< Real(Real)> const &f, Real x1, Real x2, Real tol=1.0e-12)
Finds the root of a function using Brent&#39;s method.
Definition: BrentsMethod.C:61
const Real _triple_point_temperature
Triple point temperature (K)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real p_from_rho_T(Real density, Real temperature) const override
Pressure as a function of density and temperature.
static const std::string pressure
Definition: NS.h:56
Real meltingPressure(Real temperature) const
Melting pressure.
void bracket(std::function< Real(Real)> const &f, Real &x1, Real &x2)
Function to bracket a root of a given function.
Definition: BrentsMethod.C:17

◆ rho_from_p_T() [2/2]

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

Reimplemented from HelmholtzFluidProperties.

Definition at line 500 of file CO2FluidProperties.C.

502 {
504 }
static const std::string temperature
Definition: NS.h:57
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
static const std::string pressure
Definition: NS.h:56

◆ rho_mu_from_p_T() [1/3]

void CO2FluidProperties::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 601 of file CO2FluidProperties.C.

602 {
605 }
static const std::string temperature
Definition: NS.h:57
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
static const std::string mu
Definition: NS.h:122
static const std::string pressure
Definition: NS.h:56
virtual Real mu_from_rho_T(Real density, Real temperature) const override

◆ rho_mu_from_p_T() [2/3]

void CO2FluidProperties::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 608 of file CO2FluidProperties.C.

616 {
617  rho_from_p_T(pressure, temperature, rho, drho_dp, drho_dT);
618  Real dmu_drho;
619  mu_from_rho_T(rho, temperature, drho_dT, mu, dmu_drho, dmu_dT);
620  dmu_dp = dmu_drho * drho_dp;
621 }
static const std::string temperature
Definition: NS.h:57
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
static const std::string mu
Definition: NS.h:122
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56
virtual Real mu_from_rho_T(Real density, Real temperature) const override

◆ rho_mu_from_p_T() [3/3]

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

Definition at line 448 of file SinglePhaseFluidProperties.C.

452 {
453  rho = rho_from_p_T(p, T);
454  mu = mu_from_p_T(p, T);
455 }
static const std::string mu
Definition: NS.h:122

◆ s_from_p_T() [1/2]

Real HelmholtzFluidProperties::s_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtualinherited

Definition at line 148 of file HelmholtzFluidProperties.C.

Referenced by HelmholtzFluidProperties::s_from_p_T().

149 {
150  // Require density first
152  // Scale the input density and temperature
153  const Real delta = density / criticalDensity();
154  const Real tau = criticalTemperature() / temperature;
155 
156  return _R * (tau * dalpha_dtau(delta, tau) - alpha(delta, tau)) / molarMass();
157 }
virtual virtual std Real molarMass() const
Fluid name.
static const std::string density
Definition: NS.h:33
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
static const Real _R
Universal gas constant (J/mol/K)
static const std::string temperature
Definition: NS.h:57
virtual Real criticalTemperature() const
Critical temperature.
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
virtual Real dalpha_dtau(Real delta, Real tau) const =0
Derivative of Helmholtz free energy wrt tau.
virtual Real alpha(Real delta, Real tau) const =0
Helmholtz free energy.
virtual Real criticalDensity() const
Critical density.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56

◆ s_from_p_T() [2/2]

void HelmholtzFluidProperties::s_from_p_T ( Real  p,
Real  T,
Real s,
Real ds_dp,
Real ds_dT 
) const
overridevirtualinherited

Definition at line 160 of file HelmholtzFluidProperties.C.

162 {
163  s = this->s_from_p_T(pressure, temperature);
164 
165  // Require density first
167  // Scale the input density and temperature
168  const Real delta = density / criticalDensity();
169  const Real tau = criticalTemperature() / temperature;
170 
171  const Real da_dd = dalpha_ddelta(delta, tau);
172  const Real da_dt = dalpha_dtau(delta, tau);
173  const Real d2a_dd2 = d2alpha_ddelta2(delta, tau);
174  const Real d2a_dt2 = d2alpha_dtau2(delta, tau);
175  const Real d2a_ddt = d2alpha_ddeltatau(delta, tau);
176 
177  ds_dp = tau * (d2a_ddt - da_dd) / (density * temperature * (2.0 * da_dd + delta * d2a_dd2));
178  ds_dT = -_R * tau * (da_dt - alpha(delta, tau) + tau * (d2a_dt2 - da_dt)) /
179  (molarMass() * temperature);
180 }
virtual Real d2alpha_ddeltatau(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt delta and tau.
virtual Real d2alpha_dtau2(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt tau.
virtual virtual std Real molarMass() const
Fluid name.
static const std::string density
Definition: NS.h:33
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
static const Real _R
Universal gas constant (J/mol/K)
static const std::string temperature
Definition: NS.h:57
virtual Real d2alpha_ddelta2(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt delta.
virtual Real criticalTemperature() const
Critical temperature.
virtual Real dalpha_ddelta(Real delta, Real tau) const =0
Derivative of Helmholtz free energy wrt delta.
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
virtual Real dalpha_dtau(Real delta, Real tau) const =0
Derivative of Helmholtz free energy wrt tau.
virtual Real alpha(Real delta, Real tau) const =0
Helmholtz free energy.
virtual Real criticalDensity() const
Critical density.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real s_from_p_T(Real pressure, Real temperature) const override
static const std::string pressure
Definition: NS.h:56

◆ saturatedLiquidDensity()

Real CO2FluidProperties::saturatedLiquidDensity ( Real  temperature) const

Saturated liquid density of CO2 Valid for temperatures between the triple point temperature and critical temperature.

Eq. 3.14, from Span and Wagner (reference above)

Parameters
temperatureCO2 temperature (K)
Returns
saturated liquid density (kg/m^3)

Definition at line 129 of file CO2FluidProperties.C.

Referenced by p_from_rho_T().

130 {
131  if (temperature < _triple_point_temperature || temperature > _critical_temperature)
132  throw MooseException("Temperature is out of range in " + name() + ": saturatedLiquiDensity()");
133 
135 
136  Real logdensity = 1.9245108 * std::pow(1.0 - Tstar, 0.34) -
137  0.62385555 * std::pow(1.0 - Tstar, 0.5) -
138  0.32731127 * std::pow(1.0 - Tstar, 10.0 / 6.0) +
139  0.39245142 * std::pow(1.0 - Tstar, 11.0 / 6.0);
140 
141  return _critical_density * std::exp(logdensity);
142 }
const Real _critical_density
Critical density (kg/m^3)
static const std::string temperature
Definition: NS.h:57
virtual const std::string & name() const
const Real _critical_temperature
Critical temperature (K)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
MooseUnits pow(const MooseUnits &, int)

◆ saturatedVaporDensity()

Real CO2FluidProperties::saturatedVaporDensity ( Real  temperature) const

Saturated vapor density of CO2 Valid for temperatures between the triple point temperature and critical temperature.

Eq. 3.15, from Span and Wagner (reference above)

Parameters
temperatureCO2 temperature (K)
Returns
saturated vapor density (kg/m^3)

Definition at line 145 of file CO2FluidProperties.C.

Referenced by p_from_rho_T().

146 {
147  if (temperature < _triple_point_temperature || temperature > _critical_temperature)
148  throw MooseException("Temperature is out of range in " + name() + ": saturatedVaporDensity()");
149 
151 
152  Real logdensity =
153  (-1.7074879 * std::pow(1.0 - Tstar, 0.34) - 0.82274670 * std::pow(1.0 - Tstar, 0.5) -
154  4.6008549 * (1.0 - Tstar) - 10.111178 * std::pow(1.0 - Tstar, 7.0 / 3.0) -
155  29.742252 * std::pow(1.0 - Tstar, 14.0 / 3.0));
156 
157  return _critical_density * std::exp(logdensity);
158 }
const Real _critical_density
Critical density (kg/m^3)
static const std::string temperature
Definition: NS.h:57
virtual const std::string & name() const
const Real _critical_temperature
Critical temperature (K)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
MooseUnits pow(const MooseUnits &, int)

◆ subdomainSetup()

virtual void FluidProperties::subdomainSetup ( )
inlinefinalvirtualinherited

Reimplemented from ThreadedGeneralUserObject.

Definition at line 38 of file FluidProperties.h.

38 {}

◆ sublimationPressure()

Real CO2FluidProperties::sublimationPressure ( Real  temperature) const

Sublimation pressure.

Used to delineate solid and gas phases Valid for temperatures less than the triple point temperature

Eq. 3.12, from Span and Wagner (reference above)

Parameters
temperatureCO2 temperature (K)
Returns
sublimation pressure (Pa)

Definition at line 90 of file CO2FluidProperties.C.

Referenced by rho_from_p_T().

91 {
93  throw MooseException("Temperature is above the triple point temperature in " + name() +
94  ": sublimationPressure()");
95 
97 
99  std::exp((-14.740846 * (1.0 - Tstar) + 2.4327015 * std::pow(1.0 - Tstar, 1.9) -
100  5.3061778 * std::pow(1.0 - Tstar, 2.9)) /
101  Tstar);
102 
103  return pressure;
104 }
static const std::string temperature
Definition: NS.h:57
virtual const std::string & name() const
const Real _triple_point_temperature
Triple point temperature (K)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56
const Real _triple_point_pressure
Triple point pressure (Pa)
MooseUnits pow(const MooseUnits &, int)

◆ threadJoin()

virtual void FluidProperties::threadJoin ( const UserObject )
inlinefinalvirtualinherited

Reimplemented from ThreadedGeneralUserObject.

Definition at line 37 of file FluidProperties.h.

37 {}

◆ triplePointPressure()

Real CO2FluidProperties::triplePointPressure ( ) const
overridevirtual

Triple point pressure.

Returns
triple point pressure (Pa)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 65 of file CO2FluidProperties.C.

66 {
68 }
const Real _triple_point_pressure
Triple point pressure (Pa)

◆ triplePointTemperature()

Real CO2FluidProperties::triplePointTemperature ( ) const
overridevirtual

Triple point temperature.

Returns
triple point temperature (K)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 71 of file CO2FluidProperties.C.

72 {
74 }
const Real _triple_point_temperature
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 586 of file SinglePhaseFluidProperties.h.

590 {
591  const CppType rho = rho_from_p_T(p, T);
592  v = 1.0 / rho;
593  try
594  {
595  // more likely to not involve a Newton search
596  e = e_from_p_T(p, T);
597  }
598  catch (...)
599  {
600  e = e_from_p_rho(p, rho);
601  }
602 }

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

614 {
615  CppType rho, drho_dp, drho_dT;
616  rho_from_p_T(p, T, rho, drho_dp, drho_dT);
617 
618  v = 1.0 / rho;
619  const CppType dv_drho = -1.0 / (rho * rho);
620  dv_dp = dv_drho * drho_dp;
621  dv_dT = dv_drho * drho_dT;
622 
623  CppType de_dp_partial, de_drho;
624  e_from_p_rho(p, rho, e, de_dp_partial, de_drho);
625  de_dp = de_dp_partial + de_drho * drho_dp;
626  de_dT = de_drho * drho_dT;
627 }

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

Referenced by IdealRealGasMixtureFluidProperties::v_from_p_T().

464 {
465  mooseError(__PRETTY_FUNCTION__, " not implemented.");
466 }
void mooseError(Args &&... args) const

◆ validParams()

InputParameters CO2FluidProperties::validParams ( )
static

Definition at line 19 of file CO2FluidProperties.C.

20 {
22  params.addClassDescription(
23  "Fluid properties for carbon dioxide (CO2) using the Span & Wagner EOS");
24  return params;
25 }
static InputParameters validParams()
void addClassDescription(const std::string &doc_string)

◆ vaporPressure() [1/3]

Real CO2FluidProperties::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 107 of file CO2FluidProperties.C.

Referenced by p_from_rho_T().

108 {
109  if (temperature < _triple_point_temperature || temperature > _critical_temperature)
110  throw MooseException("Temperature is out of range in " + name() + ": vaporPressure()");
111 
113 
114  Real logpressure =
115  (-7.0602087 * (1.0 - Tstar) + 1.9391218 * std::pow(1.0 - Tstar, 1.5) -
116  1.6463597 * Utility::pow<2>(1.0 - Tstar) - 3.2995634 * Utility::pow<4>(1.0 - Tstar)) /
117  Tstar;
118 
119  return _critical_pressure * std::exp(logpressure);
120 }
const Real _critical_pressure
Critical pressure (Pa)
static const std::string temperature
Definition: NS.h:57
virtual const std::string & name() const
const Real _critical_temperature
Critical temperature (K)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
MooseUnits pow(const MooseUnits &, int)

◆ vaporPressure() [2/3]

void CO2FluidProperties::vaporPressure ( Real  temperature,
Real psat,
Real dpsat_dT 
) const
overridevirtual

Reimplemented from SinglePhaseFluidProperties.

Definition at line 123 of file CO2FluidProperties.C.

124 {
125  mooseError("vaporPressure() is not implemented");
126 }
void mooseError(Args &&... args) const

◆ vaporPressure() [3/3]

DualReal SinglePhaseFluidProperties::vaporPressure ( const DualReal T) const
inherited

Definition at line 369 of file SinglePhaseFluidProperties.C.

370 {
371  Real p = 0.0;
372  Real temperature = T.value();
373  Real dpdT = 0.0;
374 
375  vaporPressure(temperature, p, dpdT);
376 
377  DualReal result = p;
378  result.derivatives() = T.derivatives() * dpdT;
379 
380  return result;
381 }
DualNumber< Real, DNDerivativeType, true > DualReal
static const std::string temperature
Definition: NS.h:57
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real vaporPressure(Real T) const
Vapor pressure.

◆ vaporTemperature() [1/3]

Real SinglePhaseFluidProperties::vaporTemperature ( Real  p) const
virtualinherited

Vapor temperature.

Used to delineate liquid and gas phases. Valid for pressures between the triple point pressure and the critical pressure

Parameters
pfluid pressure (Pa)
[out]saturationtemperature (K)
[out]derivativeof saturation temperature wrt pressure

Reimplemented in Water97FluidProperties.

Definition at line 383 of file SinglePhaseFluidProperties.C.

Referenced by PorousFlowWaterVapor::thermophysicalProperties(), and SinglePhaseFluidProperties::vaporTemperature().

384 {
385  mooseError(__PRETTY_FUNCTION__, " not implemented.");
386 }
void mooseError(Args &&... args) const

◆ vaporTemperature() [2/3]

void SinglePhaseFluidProperties::vaporTemperature ( Real  p,
Real Tsat,
Real dTsat_dp 
) const
virtualinherited

Reimplemented in Water97FluidProperties.

Definition at line 389 of file SinglePhaseFluidProperties.C.

390 {
391  fluidPropError(__PRETTY_FUNCTION__, " derivatives not implemented.");
392 
393  dT_dp = 0.0;
394  T = vaporTemperature(p);
395 }
virtual Real vaporTemperature(Real p) const
Vapor temperature.
void fluidPropError(Args... args) const

◆ vaporTemperature() [3/3]

DualReal SinglePhaseFluidProperties::vaporTemperature ( const DualReal p) const
inherited

Definition at line 398 of file SinglePhaseFluidProperties.C.

399 {
400  Real T = 0.0;
401  Real pressure = p.value();
402  Real dTdp = 0.0;
403 
404  vaporTemperature(pressure, T, dTdp);
405 
406  DualReal result = T;
407  result.derivatives() = p.derivatives() * dTdp;
408 
409  return result;
410 }
DualNumber< Real, DNDerivativeType, true > DualReal
virtual Real vaporTemperature(Real p) const
Vapor temperature.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56

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

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

474 {
476  const auto [zero, one] = makeZeroAndOne(x);
477 
478  CompoundType x_c(x, zero);
479  auto & x_cd = x_c.derivatives();
480  x_cd[0] = one;
481  CompoundType y_c(y, zero);
482  auto & y_cd = y_c.derivatives();
483  y_cd[1] = one;
484 
485  const auto z_c = z_from_x_y(x_c, y_c);
486  z = z_c.value();
487  dz_dx = z_c.derivatives()[0];
488  dz_dy = z_c.derivatives()[1];
489 }
static std::pair< T, T > makeZeroAndOne(const T &)
Given a type example, this method returns zero and unity reperesentations of that type (first and sec...
const std::vector< double > y
const Number zero
const std::vector< double > x

Member Data Documentation

◆ _a0

const std::array<Real, 5> CO2FluidProperties::_a0 {{1.99427042, 0.62105248, 0.41195293, 1.04028922, 0.08327678}}
protected

Coefficients for the ideal gas component of the Helmholtz free energy.

Definition at line 192 of file CO2FluidProperties.h.

Referenced by alpha(), d2alpha_dtau2(), and dalpha_dtau().

◆ _a4

const std::array<Real, 3> CO2FluidProperties::_a4 {{3.5, 3.5, 3.0}}
protected

◆ _A4

const std::array<Real, 3> CO2FluidProperties::_A4 {{0.7, 0.7, 0.7}}
protected

◆ _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::fluidPropError(), and SinglePhaseFluidProperties::fluidPropError().

◆ _alpha3

const std::array<Real, 5> CO2FluidProperties::_alpha3 {{25.0, 25.0, 25.0, 15.0, 20.0}}
protected

◆ _b4

const std::array<Real, 3> CO2FluidProperties::_b4 {{0.875, 0.925, 0.875}}
protected

◆ _B4

const std::array<Real, 3> CO2FluidProperties::_B4 {{0.3, 0.3, 1.0}}
protected

◆ _beta3

const std::array<Real, 5> CO2FluidProperties::_beta3 {{325.0, 300.0, 300.0, 275.0, 275.0}}
protected

◆ _beta4

const std::array<Real, 3> CO2FluidProperties::_beta4 {{0.3, 0.3, 0.3}}
protected

◆ _c2

const std::array<unsigned int, 27> CO2FluidProperties::_c2
protected
Initial value:
{
{1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 6}}

Definition at line 218 of file CO2FluidProperties.h.

Referenced by alpha(), d2alpha_ddelta2(), d2alpha_ddeltatau(), d2alpha_dtau2(), dalpha_ddelta(), and dalpha_dtau().

◆ _C4

const std::array<Real, 3> CO2FluidProperties::_C4 {{10.0, 10.0, 12.5}}
protected

◆ _critical_density

const Real CO2FluidProperties::_critical_density = 467.6
protected

Critical density (kg/m^3)

Definition at line 183 of file CO2FluidProperties.h.

Referenced by criticalDensity(), k_from_rho_T(), saturatedLiquidDensity(), and saturatedVaporDensity().

◆ _critical_pressure

const Real CO2FluidProperties::_critical_pressure = 7.3773e6
protected

Critical pressure (Pa)

Definition at line 179 of file CO2FluidProperties.h.

Referenced by criticalPressure(), and vaporPressure().

◆ _critical_temperature

const Real CO2FluidProperties::_critical_temperature = 304.1282
protected

◆ _d1

const std::array<unsigned int, 7> CO2FluidProperties::_d1 {{1, 1, 1, 1, 2, 2, 3}}
protected

◆ _d2

const std::array<unsigned int, 27> CO2FluidProperties::_d2
protected
Initial value:
{
{1, 2, 4, 5, 5, 5, 6, 6, 6, 1, 1, 4, 4, 4, 7, 8, 2, 3, 3, 5, 5, 6, 7, 8, 10, 4, 8}}

Definition at line 213 of file CO2FluidProperties.h.

Referenced by alpha(), d2alpha_ddelta2(), d2alpha_ddeltatau(), d2alpha_dtau2(), dalpha_ddelta(), and dalpha_dtau().

◆ _d3

const std::array<unsigned int, 5> CO2FluidProperties::_d3 {{2, 2, 2, 3, 3}}
protected

◆ _D4

const std::array<Real, 3> CO2FluidProperties::_D4 {{275.0, 275.0, 275.0}}
protected

◆ _eps3

const std::array<Real, 5> CO2FluidProperties::_eps3 {{1.0, 1.0, 1.0, 1.0, 1.0}}
protected

◆ _gamma3

const std::array<Real, 5> CO2FluidProperties::_gamma3 {{1.16, 1.19, 1.19, 1.25, 1.22}}
protected

◆ _k_a

const std::array<Real, 12> CO2FluidProperties::_k_a
protected
Initial value:
{
{3.0, 6.70697, 0.94604, 0.3, 0.3, 0.39751, 0.33791, 0.77963, 0.79857, 0.9, 0.02, 0.2}}

Definition at line 250 of file CO2FluidProperties.h.

Referenced by k_from_rho_T().

◆ _k_g1

const std::array<Real, 3> CO2FluidProperties::_k_g1 {{0.0, 0.0, 1.5}}
protected

Coefficients for the thermal conductivity.

Definition at line 243 of file CO2FluidProperties.h.

Referenced by k_from_rho_T().

◆ _k_g2

const std::array<Real, 7> CO2FluidProperties::_k_g2 {{0.0, 1.0, 1.5, 1.5, 1.5, 3.5, 5.5}}
protected

Definition at line 244 of file CO2FluidProperties.h.

Referenced by k_from_rho_T().

◆ _k_h1

const std::array<unsigned int, 3> CO2FluidProperties::_k_h1 {{1, 5, 1}}
protected

Definition at line 245 of file CO2FluidProperties.h.

Referenced by k_from_rho_T().

◆ _k_h2

const std::array<unsigned int, 7> CO2FluidProperties::_k_h2 {{1, 2, 0, 5, 9, 0, 0}}
protected

Definition at line 246 of file CO2FluidProperties.h.

Referenced by k_from_rho_T().

◆ _k_n1

const std::array<Real, 3> CO2FluidProperties::_k_n1 {{7.69857587, 0.159885811, 1.56918621}}
protected

Definition at line 247 of file CO2FluidProperties.h.

Referenced by k_from_rho_T().

◆ _k_n2

const std::array<Real, 7> CO2FluidProperties::_k_n2
protected
Initial value:
{
{-6.73400790, 16.3890156, 3.69415242, 22.3205514, 66.1420950, -0.171779133, 0.00433043347}}

Definition at line 248 of file CO2FluidProperties.h.

Referenced by k_from_rho_T().

◆ _Mco2

const Real CO2FluidProperties::_Mco2 = 44.0098e-3
protected

Molar mass of CO2 (kg/mol)

Definition at line 177 of file CO2FluidProperties.h.

Referenced by molarMass(), and partialDensity().

◆ _mu_a

const std::array<Real, 5> CO2FluidProperties::_mu_a {{0.235156, -0.491266, 5.211155e-2, 5.347906e-2, -1.537102e-2}}
protected

Coefficients for viscosity.

Definition at line 238 of file CO2FluidProperties.h.

Referenced by mu_from_rho_T().

◆ _mu_d

const std::array<Real, 5> CO2FluidProperties::_mu_d
protected
Initial value:
{
{0.4071119e-2, 0.7198037e-4, 0.2411697e-16, 0.2971072e-22, -0.1627888e-22}}

Definition at line 239 of file CO2FluidProperties.h.

Referenced by mu_from_rho_T().

◆ _n1

const std::array<Real, 7> CO2FluidProperties::_n1
protected
Initial value:
{{0.38856823203161,
2.9385475942740,
-5.5867188534934,
-0.76753199592477,
0.31729005580416,
0.54803315897767,
0.12279411220335}}

Coefficients for the residual component of the Helmholtz free energy.

Definition at line 196 of file CO2FluidProperties.h.

Referenced by alpha(), d2alpha_ddelta2(), d2alpha_ddeltatau(), d2alpha_dtau2(), dalpha_ddelta(), and dalpha_dtau().

◆ _n2

const std::array<Real, 27> CO2FluidProperties::_n2
protected
Initial value:
{
{2.1658961543220, 1.5841735109724, -0.23132705405503, 0.058116916431436,
-0.55369137205382, 0.48946615909422, -0.024275739843501, 0.062494790501678,
-0.12175860225246, -0.37055685270086, -0.016775879700426, -0.11960736637987,
-0.045619362508778, 0.035612789270346, -0.0074427727132052, -0.0017395704902432,
-0.021810121289527, 0.024332166559236, -0.037440133423463, 0.14338715756878,
-0.13491969083286, -0.023151225053480, 0.012363125492901, 0.0021058321972940,
-0.00033958519026368, 0.0055993651771592, -0.00030335118055646}}

Definition at line 205 of file CO2FluidProperties.h.

Referenced by alpha(), d2alpha_ddelta2(), d2alpha_ddeltatau(), d2alpha_dtau2(), dalpha_ddelta(), and dalpha_dtau().

◆ _n3

const std::array<Real, 5> CO2FluidProperties::_n3
protected
Initial value:
{
{-213.65488688320, 26641.569149272, -24027.212204557, -283.41603423999, 212.47284400179}}

Definition at line 220 of file CO2FluidProperties.h.

Referenced by alpha(), d2alpha_ddelta2(), d2alpha_ddeltatau(), d2alpha_dtau2(), dalpha_ddelta(), and dalpha_dtau().

◆ _n4

const std::array<Real, 3> CO2FluidProperties::_n4 {{-0.66642276540751, 0.72608632349897, 0.055068668612842}}
protected

◆ _p_initial_guess

const Real SinglePhaseFluidProperties::_p_initial_guess
protectedinherited

◆ _R

const Real FluidProperties::_R = 8.3144598
staticinherited

◆ _Rco2

const Real CO2FluidProperties::_Rco2 = 188.9241
protected

Specific gas constant (J/mol/K)

Definition at line 189 of file CO2FluidProperties.h.

◆ _t1

const std::array<Real, 7> CO2FluidProperties::_t1 {{0.0, 0.75, 1.0, 2.0, 0.75, 2.0, 0.75}}
protected

◆ _t2

const std::array<Real, 27> CO2FluidProperties::_t2
protected
Initial value:
{{1.5, 1.5, 2.5, 0.0, 1.5, 2.0, 0.0, 1.0, 2.0,
3.0, 6.0, 3.0, 6.0, 8.0, 6.0, 0.0, 7.0, 12.0,
16.0, 22.0, 24.0, 16.0, 24.0, 8.0, 2.0, 28.0, 14.0}}

Definition at line 215 of file CO2FluidProperties.h.

Referenced by alpha(), d2alpha_ddelta2(), d2alpha_ddeltatau(), d2alpha_dtau2(), dalpha_ddelta(), and dalpha_dtau().

◆ _t3

const std::array<unsigned int, 5> CO2FluidProperties::_t3 {{1, 0, 1, 3, 3}}
protected

◆ _T_c2k

const Real FluidProperties::_T_c2k
protectedinherited

◆ _T_initial_guess

const Real SinglePhaseFluidProperties::_T_initial_guess
protectedinherited

◆ _theta0

const std::array<Real, 5> CO2FluidProperties::_theta0 {{3.15163, 6.11190, 6.77708, 11.32384, 27.08792}}
protected

Definition at line 193 of file CO2FluidProperties.h.

Referenced by alpha(), d2alpha_dtau2(), and dalpha_dtau().

◆ _tolerance

const Real SinglePhaseFluidProperties::_tolerance
protectedinherited

◆ _triple_point_pressure

const Real CO2FluidProperties::_triple_point_pressure = 0.51795e6
protected

Triple point pressure (Pa)

Definition at line 185 of file CO2FluidProperties.h.

Referenced by meltingPressure(), sublimationPressure(), and triplePointPressure().

◆ _triple_point_temperature

const Real CO2FluidProperties::_triple_point_temperature = 216.592
protected

Triple point temperature (K)

Definition at line 187 of file CO2FluidProperties.h.

Referenced by meltingPressure(), p_from_rho_T(), rho_from_p_T(), sublimationPressure(), and triplePointTemperature().

◆ h

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

Definition at line 205 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(), LeadFluidProperties::e_from_p_T(), CaloricallyImperfectGas::e_from_v_h(), StiffenedGasFluidProperties::e_from_v_h(), IdealGasFluidProperties::e_from_v_h(), Water97FluidProperties::e_from_v_h(), TabulatedFluidProperties::e_from_v_h(), SimpleFluidProperties::e_from_v_h(), TabulatedFluidProperties::g_from_v_e(), SodiumSaturationFluidProperties::h_from_p_T(), LinearFluidProperties::h_from_p_T(), HelmholtzFluidProperties::h_from_p_T(), StiffenedGasFluidProperties::h_from_p_T(), NaKFluidProperties::h_from_p_T(), TabulatedFluidProperties::h_from_p_T(), LeadBismuthFluidProperties::h_from_p_T(), LeadFluidProperties::h_from_p_T(), CaloricallyImperfectGas::h_from_p_T(), NaClFluidProperties::h_from_p_T(), IdealGasFluidProperties::h_from_p_T(), SimpleFluidProperties::h_from_p_T(), TemperaturePressureFunctionFluidProperties::h_from_p_T(), Water97FluidProperties::h_from_p_T(), FlibeFluidProperties::h_from_p_T(), FlinakFluidProperties::h_from_p_T(), HeliumFluidProperties::h_from_p_T(), Water97FluidProperties::h_from_p_T_template(), StiffenedGasFluidProperties::h_from_T_v(), CaloricallyImperfectGas::h_from_T_v(), IdealGasFluidProperties::h_from_T_v(), LeadBismuthFluidProperties::h_from_v_e(), LeadFluidProperties::h_from_v_e(), StiffenedGasFluidProperties::p_from_h_s(), IdealGasFluidProperties::p_from_h_s(), CaloricallyImperfectGas::p_from_h_s(), LeadFluidProperties::p_from_v_e(), LeadBismuthFluidProperties::p_from_v_e(), SimpleFluidProperties::p_from_v_h(), SinglePhaseFluidProperties::p_T_from_h_s(), SinglePhaseFluidProperties::p_T_from_v_h(), Water97FluidProperties::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(), CaloricallyImperfectGas::T_from_h(), TabulatedFluidProperties::T_from_h_p(), TabulatedFluidProperties::T_from_h_s(), 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(), IdealGasFluidProperties::T_from_p_h(), HeliumFluidProperties::T_from_p_h(), SimpleFluidProperties::T_from_p_h(), Water97FluidProperties::T_from_p_h(), and SimpleFluidProperties::T_from_v_h().

◆ p [1/9]

e e e e SinglePhaseFluidProperties::p
inherited

Definition at line 185 of file SinglePhaseFluidProperties.h.

Referenced by LinearFluidProperties::beta_from_p_T(), CaloricallyImperfectGas::c_from_p_T(), Water97FluidProperties::c_from_p_T(), StiffenedGasFluidProperties::c_from_v_e(), HeliumFluidProperties::c_from_v_e(), TabulatedFluidProperties::c_from_v_e(), Water97FluidProperties::c_from_v_e(), SimpleFluidProperties::c_from_v_e(), LeadBismuthFluidProperties::cp_from_p_T(), LeadFluidProperties::cp_from_p_T(), IdealGasFluidProperties::cp_from_p_T(), TemperaturePressureFunctionFluidProperties::cp_from_p_T(), TemperaturePressureFunctionFluidProperties::cp_from_v_e(), TabulatedFluidProperties::cp_from_v_e(), Water97FluidProperties::cp_from_v_e(), LeadFluidProperties::cv_from_p_T(), LeadBismuthFluidProperties::cv_from_p_T(), IdealGasFluidProperties::cv_from_p_T(), LeadBismuthFluidProperties::cv_from_v_e(), LeadFluidProperties::cv_from_v_e(), TabulatedFluidProperties::cv_from_v_e(), Water97FluidProperties::cv_from_v_e(), TestSinglePhaseFluidProperties::e_from_p_rho(), LinearTestFluidProperties::e_from_p_rho(), LinearFluidProperties::e_from_p_rho(), IdealGasFluidProperties::e_from_p_rho(), LeadBismuthFluidProperties::e_from_p_rho(), LeadFluidProperties::e_from_p_rho(), Water97FluidProperties::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(), Water97FluidProperties::e_from_p_rho_template(), StiffenedGasFluidProperties::e_from_p_T(), LeadBismuthFluidProperties::e_from_p_T(), LeadFluidProperties::e_from_p_T(), CaloricallyImperfectGas::e_from_p_T(), IdealGasFluidProperties::e_from_p_T(), Water97FluidProperties::e_from_v_h(), TabulatedFluidProperties::e_from_v_h(), SimpleFluidProperties::e_from_v_h(), StiffenedGasFluidProperties::g_from_v_e(), IdealGasFluidProperties::g_from_v_e(), CaloricallyImperfectGas::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(), LeadBismuthFluidProperties::h_from_p_T(), LeadFluidProperties::h_from_p_T(), CaloricallyImperfectGas::h_from_p_T(), IdealGasFluidProperties::h_from_p_T(), Water97FluidProperties::henryConstant(), LeadBismuthFluidProperties::k_from_p_T(), LeadFluidProperties::k_from_p_T(), CaloricallyImperfectGas::k_from_p_T(), IdealGasFluidProperties::k_from_p_T(), CaloricallyImperfectGas::k_from_v_e(), TabulatedFluidProperties::k_from_v_e(), Water97FluidProperties::k_from_v_e_template(), LeadBismuthFluidProperties::mu_from_p_T(), LeadFluidProperties::mu_from_p_T(), CaloricallyImperfectGas::mu_from_v_e(), TabulatedFluidProperties::mu_from_v_e(), StiffenedGasFluidProperties::p_from_h_s(), IdealGasFluidProperties::p_from_h_s(), CaloricallyImperfectGas::p_from_h_s(), StiffenedGasFluidProperties::p_from_T_v(), CaloricallyImperfectGas::p_from_T_v(), IdealGasFluidProperties::p_from_T_v(), LinearFluidProperties::p_from_v_e(), LeadBismuthFluidProperties::p_from_v_e(), LeadFluidProperties::p_from_v_e(), IdealGasFluidProperties::p_from_v_e(), LinearTestFluidProperties::p_from_v_e(), CaloricallyImperfectGas::p_from_v_e(), FlibeFluidProperties::p_from_v_e(), FlinakFluidProperties::p_from_v_e(), HeliumFluidProperties::p_from_v_e(), TemperaturePressureFunctionFluidProperties::p_from_v_e(), TabulatedFluidProperties::p_from_v_e(), SimpleFluidProperties::p_from_v_e(), Water97FluidProperties::p_from_v_e_template(), SimpleFluidProperties::p_from_v_h(), SinglePhaseFluidProperties::p_T_from_v_e(), Water97FluidProperties::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(), LeadFluidProperties::rho_from_p_T(), IdealGasFluidProperties::rho_from_p_T(), SinglePhaseFluidProperties::rho_mu_from_p_T(), Water97FluidProperties::rho_T_from_v_e(), StiffenedGasFluidProperties::s_from_h_p(), CaloricallyImperfectGas::s_from_h_p(), IdealGasFluidProperties::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(), Water97FluidProperties::T_drhodT_from_p_rho(), TabulatedFluidProperties::T_from_h_s(), LeadBismuthFluidProperties::T_from_p_h(), LeadFluidProperties::T_from_p_h(), TemperaturePressureFunctionFluidProperties::T_from_p_h(), CaloricallyImperfectGas::T_from_p_h(), SimpleFluidProperties::T_from_p_h(), Water97FluidProperties::T_from_p_h(), NaKFluidProperties::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(), FlibeFluidProperties::T_from_v_e(), FlinakFluidProperties::T_from_v_e(), SinglePhaseFluidProperties::v_e_from_p_T(), LeadBismuthFluidProperties::v_from_p_T(), LeadFluidProperties::v_from_p_T(), Water97FluidProperties::vaporPressure(), SinglePhaseFluidProperties::vaporPressure(), Water97FluidProperties::vaporTemperature(), SinglePhaseFluidProperties::vaporTemperature(), and TabulatedFluidProperties::writeTabulatedData().

◆ p [2/9]

e e e e s SinglePhaseFluidProperties::p
inherited

Definition at line 187 of file SinglePhaseFluidProperties.h.

◆ p [3/9]

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

Definition at line 191 of file SinglePhaseFluidProperties.h.

◆ p [4/9]

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

Definition at line 193 of file SinglePhaseFluidProperties.h.

◆ p [5/9]

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

Definition at line 195 of file SinglePhaseFluidProperties.h.

◆ p [6/9]

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

Definition at line 197 of file SinglePhaseFluidProperties.h.

◆ p [7/9]

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

Definition at line 203 of file SinglePhaseFluidProperties.h.

◆ p [8/9]

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

Definition at line 207 of file SinglePhaseFluidProperties.h.

◆ p [9/9]

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

Definition at line 209 of file SinglePhaseFluidProperties.h.

◆ propfuncWithDefault

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

Definition at line 212 of file SinglePhaseFluidProperties.h.

◆ rho

e e e e s T SinglePhaseFluidProperties::rho
inherited

Definition at line 189 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(), LeadBismuthFluidProperties::cv_from_p_T(), TestSinglePhaseFluidProperties::e_from_p_rho(), LinearTestFluidProperties::e_from_p_rho(), LinearFluidProperties::e_from_p_rho(), TabulatedFluidProperties::e_from_p_rho(), IdealGasFluidProperties::e_from_p_rho(), LeadBismuthFluidProperties::e_from_p_rho(), LeadFluidProperties::e_from_p_rho(), Water97FluidProperties::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(), Water97FluidProperties::e_from_p_rho_template(), NaKFluidProperties::e_from_p_T(), NaClFluidProperties::e_from_p_T(), LinearFluidProperties::h_from_p_T(), TemperaturePressureFunctionFluidProperties::h_from_p_T(), Water97FluidProperties::k_from_p_T_template(), mu_from_p_T(), NitrogenFluidProperties::mu_from_p_T(), NaKFluidProperties::mu_from_p_T(), HydrogenFluidProperties::mu_from_p_T(), Water97FluidProperties::mu_from_p_T(), Water97FluidProperties::mu_from_p_T_template(), Water97FluidProperties::mu_from_v_e(), Water97FluidProperties::p_from_v_e_template(), Water97FluidProperties::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(), HelmholtzFluidProperties::rho_from_p_T(), TabulatedFluidProperties::rho_from_p_T(), NaKFluidProperties::rho_from_p_T(), LinearFluidProperties::rho_from_p_T(), rho_from_p_T(), NaClFluidProperties::rho_from_p_T(), LeadBismuthFluidProperties::rho_from_p_T(), CaloricallyImperfectGas::rho_from_p_T(), SalineMoltenSaltFluidProperties::rho_from_p_T(), LeadFluidProperties::rho_from_p_T(), IdealGasFluidProperties::rho_from_p_T(), Water97FluidProperties::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(), Water97FluidProperties::rho_from_p_T_template(), NitrogenFluidProperties::rho_mu_from_p_T(), HydrogenFluidProperties::rho_mu_from_p_T(), rho_mu_from_p_T(), Water97FluidProperties::rho_mu_from_p_T(), SinglePhaseFluidProperties::rho_mu_from_p_T(), Water97FluidProperties::rho_T_from_v_e(), Water97FluidProperties::T_drhodT_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 199 of file SinglePhaseFluidProperties.h.

Referenced by LinearFluidProperties::beta_from_p_T(), LeadBismuthFluidProperties::bulk_modulus_from_p_T(), LeadFluidProperties::bulk_modulus_from_p_T(), CaloricallyImperfectGas::c_from_p_T(), IdealGasFluidProperties::c_from_p_T(), Water97FluidProperties::c_from_p_T(), Water97FluidProperties::c_from_p_T_template(), IdealGasFluidProperties::c_from_v_e(), LeadBismuthFluidProperties::c_from_v_e(), LeadFluidProperties::c_from_v_e(), CaloricallyImperfectGas::c_from_v_e(), HeliumFluidProperties::c_from_v_e(), TabulatedFluidProperties::c_from_v_e(), Water97FluidProperties::c_from_v_e(), SimpleFluidProperties::c_from_v_e(), TabulatedFluidProperties::checkInputVariables(), LeadBismuthFluidProperties::cp_from_p_T(), LeadFluidProperties::cp_from_p_T(), CaloricallyImperfectGas::cp_from_p_T(), IdealGasFluidProperties::cp_from_p_T(), TemperaturePressureFunctionFluidProperties::cp_from_p_T(), Water97FluidProperties::cp_from_p_T_template(), CaloricallyImperfectGas::cp_from_T(), CaloricallyImperfectGas::cp_from_v_e(), LeadBismuthFluidProperties::cp_from_v_e(), LeadFluidProperties::cp_from_v_e(), TemperaturePressureFunctionFluidProperties::cp_from_v_e(), TabulatedFluidProperties::cp_from_v_e(), Water97FluidProperties::cp_from_v_e(), LeadFluidProperties::cv_from_p_T(), LeadBismuthFluidProperties::cv_from_p_T(), CaloricallyImperfectGas::cv_from_p_T(), IdealGasFluidProperties::cv_from_p_T(), Water97FluidProperties::cv_from_p_T_template(), CaloricallyImperfectGas::cv_from_T(), CaloricallyImperfectGas::cv_from_T_v(), CaloricallyImperfectGas::cv_from_v_e(), LeadBismuthFluidProperties::cv_from_v_e(), LeadFluidProperties::cv_from_v_e(), TabulatedFluidProperties::cv_from_v_e(), Water97FluidProperties::cv_from_v_e(), Water97FluidProperties::d2gamma1_dpi2(), Water97FluidProperties::d2gamma1_dpitau(), Water97FluidProperties::d2gamma1_dtau2(), Water97FluidProperties::d2gamma2_dpi2(), Water97FluidProperties::d2gamma2_dpitau(), Water97FluidProperties::d2gamma2_dtau2(), Water97FluidProperties::d2gamma5_dpi2(), Water97FluidProperties::d2gamma5_dpitau(), Water97FluidProperties::d2gamma5_dtau2(), Water97FluidProperties::d2phi3_ddelta2(), Water97FluidProperties::d2phi3_ddeltatau(), Water97FluidProperties::d2phi3_dtau2(), Water97FluidProperties::densityRegion3(), Water97FluidProperties::dgamma1_dpi(), Water97FluidProperties::dgamma1_dtau(), Water97FluidProperties::dgamma2_dpi(), Water97FluidProperties::dgamma2_dtau(), Water97FluidProperties::dgamma5_dpi(), Water97FluidProperties::dgamma5_dtau(), Water97FluidProperties::dphi3_ddelta(), Water97FluidProperties::dphi3_dtau(), TabulatedFluidProperties::e_from_p_rho(), LeadBismuthFluidProperties::e_from_p_rho(), LeadFluidProperties::e_from_p_rho(), SimpleFluidProperties::e_from_p_rho(), StiffenedGasFluidProperties::e_from_p_T(), LeadBismuthFluidProperties::e_from_p_T(), CaloricallyImperfectGas::e_from_p_T(), LeadFluidProperties::e_from_p_T(), IdealGasFluidProperties::e_from_p_T(), Water97FluidProperties::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(), Water97FluidProperties::e_from_v_h(), TabulatedFluidProperties::e_from_v_h(), SimpleFluidProperties::e_from_v_h(), StiffenedGasFluidProperties::g_from_v_e(), IdealGasFluidProperties::g_from_v_e(), CaloricallyImperfectGas::g_from_v_e(), TabulatedFluidProperties::g_from_v_e(), Water97FluidProperties::gamma1(), Water97FluidProperties::gamma2(), Water97FluidProperties::gamma5(), CaloricallyImperfectGas::gamma_from_p_T(), LinearFluidProperties::h_from_p_T(), StiffenedGasFluidProperties::h_from_p_T(), LeadBismuthFluidProperties::h_from_p_T(), LeadFluidProperties::h_from_p_T(), CaloricallyImperfectGas::h_from_p_T(), IdealGasFluidProperties::h_from_p_T(), Water97FluidProperties::h_from_p_T_template(), CaloricallyImperfectGas::h_from_T(), StiffenedGasFluidProperties::h_from_T_v(), CaloricallyImperfectGas::h_from_T_v(), IdealGasFluidProperties::h_from_T_v(), LeadBismuthFluidProperties::h_from_v_e(), LeadFluidProperties::h_from_v_e(), Water97FluidProperties::henryConstant(), LeadBismuthFluidProperties::k_from_p_T(), LeadFluidProperties::k_from_p_T(), CaloricallyImperfectGas::k_from_p_T(), IdealGasFluidProperties::k_from_p_T(), Water97FluidProperties::k_from_p_T_template(), Water97FluidProperties::k_from_rho_T_template(), CaloricallyImperfectGas::k_from_v_e(), LeadBismuthFluidProperties::k_from_v_e(), LeadFluidProperties::k_from_v_e(), TabulatedFluidProperties::k_from_v_e(), HeliumFluidProperties::k_from_v_e(), SinglePhaseFluidProperties::makeZeroAndOne(), CaloricallyImperfectGas::mu_from_p_T(), LeadBismuthFluidProperties::mu_from_p_T(), LeadFluidProperties::mu_from_p_T(), IdealGasFluidProperties::mu_from_p_T(), Water97FluidProperties::mu_from_p_T_template(), Water97FluidProperties::mu_from_rho_T_template(), CaloricallyImperfectGas::mu_from_v_e(), LeadBismuthFluidProperties::mu_from_v_e(), LeadFluidProperties::mu_from_v_e(), TabulatedFluidProperties::mu_from_v_e(), Water97FluidProperties::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(), Water97FluidProperties::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(), Water97FluidProperties::p_T_from_v_h(), Water97FluidProperties::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(), LeadBismuthFluidProperties::rho_from_p_T(), LeadFluidProperties::rho_from_p_T(), IdealGasFluidProperties::rho_from_p_T(), Water97FluidProperties::rho_from_p_T_template(), SinglePhaseFluidProperties::rho_mu_from_p_T(), CaloricallyImperfectGas::s_from_h_p(), TabulatedFluidProperties::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(), Water97FluidProperties::subregionVolume(), Water97FluidProperties::T_drhodT_from_p_rho(), TabulatedFluidProperties::T_from_h_p(), TabulatedFluidProperties::T_from_h_s(), LeadBismuthFluidProperties::T_from_p_h(), LeadFluidProperties::T_from_p_h(), TemperaturePressureFunctionFluidProperties::T_from_p_h(), CaloricallyImperfectGas::T_from_p_h(), IdealGasFluidProperties::T_from_p_h(), Water97FluidProperties::T_from_p_h(), NaKFluidProperties::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(), LeadBismuthFluidProperties::T_from_v_e(), LinearTestFluidProperties::T_from_v_e(), LeadFluidProperties::T_from_v_e(), IdealGasFluidProperties::T_from_v_e(), CaloricallyImperfectGas::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(), Water97FluidProperties::tempXY(), SinglePhaseFluidProperties::v_e_from_p_T(), LeadBismuthFluidProperties::v_from_p_T(), LeadFluidProperties::v_from_p_T(), SinglePhaseFluidProperties::vaporPressure(), Water97FluidProperties::vaporPressureTemplate(), Water97FluidProperties::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 201 of file SinglePhaseFluidProperties.h.

◆ v [1/5]

SinglePhaseFluidProperties::v
inherited

Definition at line 177 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(), LeadFluidProperties::c_from_v_e(), CaloricallyImperfectGas::c_from_v_e(), HeliumFluidProperties::c_from_v_e(), TabulatedFluidProperties::c_from_v_e(), Water97FluidProperties::c_from_v_e(), SimpleFluidProperties::c_from_v_e(), 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(), IdealGasFluidProperties::cp_from_v_e(), LeadFluidProperties::cp_from_v_e(), SimpleFluidProperties::cp_from_v_e(), TemperaturePressureFunctionFluidProperties::cp_from_v_e(), FlibeFluidProperties::cp_from_v_e(), FlinakFluidProperties::cp_from_v_e(), TabulatedFluidProperties::cp_from_v_e(), HeliumFluidProperties::cp_from_v_e(), Water97FluidProperties::cp_from_v_e(), FlibeFluidProperties::cv_from_p_T(), FlinakFluidProperties::cv_from_p_T(), StiffenedGasFluidProperties::cv_from_v_e(), TestSinglePhaseFluidProperties::cv_from_v_e(), CaloricallyImperfectGas::cv_from_v_e(), IdealGasFluidProperties::cv_from_v_e(), LeadBismuthFluidProperties::cv_from_v_e(), LeadFluidProperties::cv_from_v_e(), SimpleFluidProperties::cv_from_v_e(), TemperaturePressureFunctionFluidProperties::cv_from_v_e(), FlibeFluidProperties::cv_from_v_e(), TabulatedFluidProperties::cv_from_v_e(), FlinakFluidProperties::cv_from_v_e(), Water97FluidProperties::cv_from_v_e(), HeliumFluidProperties::cv_from_v_e(), HeliumFluidProperties::e_from_p_rho(), SodiumSaturationFluidProperties::e_from_p_T(), LeadBismuthFluidProperties::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(), CaloricallyImperfectGas::e_from_v_h(), StiffenedGasFluidProperties::e_from_v_h(), IdealGasFluidProperties::e_from_v_h(), Water97FluidProperties::e_from_v_h(), TabulatedFluidProperties::e_from_v_h(), SimpleFluidProperties::e_from_v_h(), StiffenedGasFluidProperties::g_from_v_e(), IdealGasFluidProperties::g_from_v_e(), CaloricallyImperfectGas::g_from_v_e(), TabulatedFluidProperties::g_from_v_e(), CaloricallyImperfectGas::gamma_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(), LeadFluidProperties::k_from_v_e(), TemperaturePressureFunctionFluidProperties::k_from_v_e(), TabulatedFluidProperties::k_from_v_e(), FlibeFluidProperties::k_from_v_e(), FlinakFluidProperties::k_from_v_e(), HeliumFluidProperties::k_from_v_e(), Water97FluidProperties::k_from_v_e(), Water97FluidProperties::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(), LeadFluidProperties::mu_from_v_e(), TemperaturePressureFunctionFluidProperties::mu_from_v_e(), TabulatedFluidProperties::mu_from_v_e(), FlibeFluidProperties::mu_from_v_e(), FlinakFluidProperties::mu_from_v_e(), Water97FluidProperties::mu_from_v_e(), HeliumFluidProperties::mu_from_v_e(), CaloricallyImperfectGas::p_from_h_s(), StiffenedGasFluidProperties::p_from_T_v(), CaloricallyImperfectGas::p_from_T_v(), IdealGasFluidProperties::p_from_T_v(), HeliumFluidProperties::p_from_T_v(), TestConservedVarFluidProperties::p_from_v_e(), LinearFluidProperties::p_from_v_e(), LeadBismuthFluidProperties::p_from_v_e(), LeadFluidProperties::p_from_v_e(), IdealGasFluidProperties::p_from_v_e(), LinearTestFluidProperties::p_from_v_e(), CaloricallyImperfectGas::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(), Water97FluidProperties::p_from_v_e(), TabulatedFluidProperties::p_from_v_e(), SimpleFluidProperties::p_from_v_e(), Water97FluidProperties::p_from_v_e_template(), SimpleFluidProperties::p_from_v_h(), SinglePhaseFluidProperties::p_T_from_v_e(), Water97FluidProperties::p_T_from_v_e(), SinglePhaseFluidProperties::p_T_from_v_h(), Water97FluidProperties::p_T_from_v_h(), Water97FluidProperties::rho_T_from_v_e(), CaloricallyImperfectGas::s_from_h_p(), CaloricallyImperfectGas::s_from_p_T(), StiffenedGasFluidProperties::s_from_T_v(), CaloricallyImperfectGas::s_from_T_v(), IdealGasFluidProperties::s_from_T_v(), TestSinglePhaseFluidProperties::s_from_v_e(), CaloricallyImperfectGas::s_from_v_e(), IdealGasFluidProperties::s_from_v_e(), LinearFluidProperties::T_from_v_e(), LeadBismuthFluidProperties::T_from_v_e(), LinearTestFluidProperties::T_from_v_e(), LeadFluidProperties::T_from_v_e(), CaloricallyImperfectGas::T_from_v_e(), IdealGasFluidProperties::T_from_v_e(), SodiumSaturationFluidProperties::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(), Water97FluidProperties::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(), Water97FluidProperties::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(), and Water97FluidProperties::v_from_p_T_template().

◆ v [2/5]

e SinglePhaseFluidProperties::v
inherited

Definition at line 179 of file SinglePhaseFluidProperties.h.

◆ v [3/5]

e e SinglePhaseFluidProperties::v
inherited

Definition at line 181 of file SinglePhaseFluidProperties.h.

◆ v [4/5]

e e e SinglePhaseFluidProperties::v
inherited

Definition at line 183 of file SinglePhaseFluidProperties.h.

◆ v [5/5]

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

Definition at line 211 of file SinglePhaseFluidProperties.h.


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