CoolProp 8.0.0
An open-source fluid property and humid air property database
Classes | Namespaces | Enumerations | Functions
DataStructures.h File Reference
#include "CoolProp/numerics/numerics.h"
#include "CoolProp/Exceptions.h"
#include <string_view>

Go to the source code of this file.

Classes

struct  CoolProp::SimpleState
 
struct  CoolProp::CriticalState
 
struct  CoolProp::SsatSimpleState
 A modified class for the state point at the maximum saturation entropy on the vapor curve. More...
 

Namespaces

namespace  CoolProp
 

Enumerations

enum  CoolProp::parameters : int {
  CoolProp::INVALID_PARAMETER = 0 , CoolProp::igas_constant , CoolProp::imolar_mass , CoolProp::iacentric_factor ,
  CoolProp::irhomolar_reducing , CoolProp::irhomolar_critical , CoolProp::iT_reducing , CoolProp::iT_critical ,
  CoolProp::irhomass_reducing , CoolProp::irhomass_critical , CoolProp::iP_critical , CoolProp::iP_reducing ,
  CoolProp::iT_triple , CoolProp::iP_triple , CoolProp::iT_min , CoolProp::iT_max ,
  CoolProp::iP_max , CoolProp::iP_min , CoolProp::idipole_moment , CoolProp::iT ,
  CoolProp::iP , CoolProp::iQ , CoolProp::iQmass , CoolProp::iTau ,
  CoolProp::iDelta , CoolProp::iDmolar , CoolProp::iHmolar , CoolProp::iSmolar ,
  CoolProp::iCpmolar , CoolProp::iCp0molar , CoolProp::iCvmolar , CoolProp::iUmolar ,
  CoolProp::iGmolar , CoolProp::iHelmholtzmolar , CoolProp::iHmolar_residual , CoolProp::iSmolar_residual ,
  CoolProp::iGmolar_residual , CoolProp::iHmolar_idealgas , CoolProp::iSmolar_idealgas , CoolProp::iUmolar_idealgas ,
  CoolProp::iDmass , CoolProp::iHmass , CoolProp::iSmass , CoolProp::iCpmass ,
  CoolProp::iCp0mass , CoolProp::iCvmass , CoolProp::iUmass , CoolProp::iGmass ,
  CoolProp::iHelmholtzmass , CoolProp::iHmass_idealgas , CoolProp::iSmass_idealgas , CoolProp::iUmass_idealgas ,
  CoolProp::iviscosity , CoolProp::iconductivity , CoolProp::isurface_tension , CoolProp::iPrandtl ,
  CoolProp::ispeed_sound , CoolProp::iisothermal_compressibility , CoolProp::iisobaric_expansion_coefficient , CoolProp::iisentropic_expansion_coefficient ,
  CoolProp::ifundamental_derivative_of_gas_dynamics , CoolProp::ialphar , CoolProp::idalphar_dtau_constdelta , CoolProp::idalphar_ddelta_consttau ,
  CoolProp::ialpha0 , CoolProp::idalpha0_dtau_constdelta , CoolProp::idalpha0_ddelta_consttau , CoolProp::id2alpha0_ddelta2_consttau ,
  CoolProp::id3alpha0_ddelta3_consttau , CoolProp::iBvirial , CoolProp::iCvirial , CoolProp::idBvirial_dT ,
  CoolProp::idCvirial_dT , CoolProp::iZ , CoolProp::iPIP , CoolProp::ifraction_min ,
  CoolProp::ifraction_max , CoolProp::iT_freeze , CoolProp::iGWP20 , CoolProp::iGWP100 ,
  CoolProp::iGWP500 , CoolProp::iFH , CoolProp::iHH , CoolProp::iPH ,
  CoolProp::iODP , CoolProp::iPhase , CoolProp::iundefined_parameter
}
 
enum  CoolProp::phases : int {
  CoolProp::iphase_liquid , CoolProp::iphase_supercritical , CoolProp::iphase_supercritical_gas , CoolProp::iphase_supercritical_liquid ,
  CoolProp::iphase_critical_point , CoolProp::iphase_gas , CoolProp::iphase_twophase , CoolProp::iphase_unknown ,
  CoolProp::iphase_not_imposed
}
 These are constants for the phases of the fluid. More...
 
enum  CoolProp::fast_evaluate_status : int {
  CoolProp::fast_evaluate_ok = 0 , CoolProp::fast_evaluate_out_of_range = 1 , CoolProp::fast_evaluate_two_phase_disallowed = 2 , CoolProp::fast_evaluate_unsupported_input = 3 ,
  CoolProp::fast_evaluate_unsupported_output = 4 , CoolProp::fast_evaluate_internal_error = 5
}
 Per-point status codes for AbstractState::fast_evaluate. Zero means success. More...
 
enum  CoolProp::schemes {
  CoolProp::i1 , CoolProp::i2a , CoolProp::i2b , CoolProp::i3a ,
  CoolProp::i3b , CoolProp::i4a , CoolProp::i4b , CoolProp::i4c
}
 Constants for the different PC-SAFT association schemes (see Huang and Radosz 1990) More...
 
enum  CoolProp::composition_types {
  CoolProp::IFRAC_MASS , CoolProp::IFRAC_MOLE , CoolProp::IFRAC_VOLUME , CoolProp::IFRAC_UNDEFINED ,
  CoolProp::IFRAC_PURE
}
 These are constants for the compositions. More...
 
enum  CoolProp::fluid_types {
  CoolProp::FLUID_TYPE_PURE , CoolProp::FLUID_TYPE_PSEUDOPURE , CoolProp::FLUID_TYPE_REFPROP , CoolProp::FLUID_TYPE_INCOMPRESSIBLE_LIQUID ,
  CoolProp::FLUID_TYPE_INCOMPRESSIBLE_SOLUTION , CoolProp::FLUID_TYPE_UNDEFINED
}
 These are unit types for the fluid. More...
 
enum  CoolProp::input_pairs : int {
  CoolProp::INPUT_PAIR_INVALID = 0 , CoolProp::QT_INPUTS , CoolProp::QmassT_INPUTS , CoolProp::PQ_INPUTS ,
  CoolProp::PQmass_INPUTS , CoolProp::QSmolar_INPUTS , CoolProp::QmassSmolar_INPUTS , CoolProp::QSmass_INPUTS ,
  CoolProp::QmassSmass_INPUTS , CoolProp::HmolarQ_INPUTS , CoolProp::HmolarQmass_INPUTS , CoolProp::HmassQ_INPUTS ,
  CoolProp::HmassQmass_INPUTS , CoolProp::DmolarQ_INPUTS , CoolProp::DmolarQmass_INPUTS , CoolProp::DmassQ_INPUTS ,
  CoolProp::DmassQmass_INPUTS , CoolProp::PT_INPUTS , CoolProp::DmassT_INPUTS , CoolProp::DmolarT_INPUTS ,
  CoolProp::HmolarT_INPUTS , CoolProp::HmassT_INPUTS , CoolProp::SmolarT_INPUTS , CoolProp::SmassT_INPUTS ,
  CoolProp::TUmolar_INPUTS , CoolProp::TUmass_INPUTS , CoolProp::DmassP_INPUTS , CoolProp::DmolarP_INPUTS ,
  CoolProp::HmassP_INPUTS , CoolProp::HmolarP_INPUTS , CoolProp::PSmass_INPUTS , CoolProp::PSmolar_INPUTS ,
  CoolProp::PUmass_INPUTS , CoolProp::PUmolar_INPUTS , CoolProp::HmassSmass_INPUTS , CoolProp::HmolarSmolar_INPUTS ,
  CoolProp::SmassUmass_INPUTS , CoolProp::SmolarUmolar_INPUTS , CoolProp::DmassHmass_INPUTS , CoolProp::DmolarHmolar_INPUTS ,
  CoolProp::DmassSmass_INPUTS , CoolProp::DmolarSmolar_INPUTS , CoolProp::DmassUmass_INPUTS , CoolProp::DmolarUmolar_INPUTS
}
 These are input pairs that can be used for the update function (in each pair, input keys are sorted alphabetically) More...
 
enum  CoolProp::backend_families : int {
  CoolProp::INVALID_BACKEND_FAMILY = 0 , CoolProp::HEOS_BACKEND_FAMILY , CoolProp::REFPROP_BACKEND_FAMILY , CoolProp::INCOMP_BACKEND_FAMILY ,
  CoolProp::IF97_BACKEND_FAMILY , CoolProp::TREND_BACKEND_FAMILY , CoolProp::TTSE_BACKEND_FAMILY , CoolProp::BICUBIC_BACKEND_FAMILY ,
  CoolProp::SRK_BACKEND_FAMILY , CoolProp::PR_BACKEND_FAMILY , CoolProp::VTPR_BACKEND_FAMILY , CoolProp::PCSAFT_BACKEND_FAMILY ,
  CoolProp::SVDSBTL_BACKEND_FAMILY
}
 The structure is taken directly from the AbstractState class. More...
 
enum  CoolProp::backends : int {
  CoolProp::INVALID_BACKEND = 0 , CoolProp::HEOS_BACKEND_PURE , CoolProp::HEOS_BACKEND_MIX , CoolProp::REFPROP_BACKEND_PURE ,
  CoolProp::REFPROP_BACKEND_MIX , CoolProp::INCOMP_BACKEND , CoolProp::IF97_BACKEND , CoolProp::TREND_BACKEND ,
  CoolProp::TTSE_BACKEND , CoolProp::BICUBIC_BACKEND , CoolProp::SRK_BACKEND , CoolProp::PR_BACKEND ,
  CoolProp::VTPR_BACKEND , CoolProp::PCSAFT_BACKEND , CoolProp::SVDSBTL_BACKEND
}
 

Functions

std::string CoolProp::get_parameter_information (int key, std::string_view info)
 
parameters CoolProp::get_parameter_index (const std::string &param_name)
 Return the enum key corresponding to the parameter name ("Dmolar" for instance) More...
 
bool CoolProp::is_valid_phase (const std::string &phase_name, phases &iOutput)
 
phases CoolProp::get_phase_index (const std::string &param_name)
 Return the enum key corresponding to the phase name ("phase_liquid" for instance) More...
 
bool CoolProp::is_valid_scheme (const std::string &scheme_name, schemes &iOutput)
 
schemes CoolProp::get_scheme_index (const std::string &scheme_name)
 Return the enum key corresponding to the association scheme name ("2B" for instance) More...
 
bool CoolProp::is_trivial_parameter (int key)
 Returns true if the input is trivial (constants, critical parameters, etc.) More...
 
bool CoolProp::is_valid_parameter (const std::string &name, parameters &iOutput)
 Returns true if a valid parameter, and sets value in the variable iOutput. More...
 
bool CoolProp::is_valid_first_derivative (const std::string &name, parameters &iOf, parameters &iWrt, parameters &iConstant)
 
bool CoolProp::is_valid_first_saturation_derivative (const std::string &name, parameters &iOf, parameters &iWrt)
 
bool CoolProp::is_valid_second_derivative (const std::string &name, parameters &iOf1, parameters &iWrt1, parameters &iConstant1, parameters &iWrt2, parameters &iConstant2)
 
std::string CoolProp::get_csv_parameter_list ()
 Return a list of parameters. More...
 
bool CoolProp::match_pair (parameters key1, parameters key2, parameters x1, parameters x2, bool &swap)
 
bool CoolProp::is_Qmass_pair (input_pairs p)
 Return true if the input pair involves a mass-based quality (Qmass). More...
 
template<class T >
CoolProp::input_pairs CoolProp::generate_update_pair (parameters key1, const T &value1, parameters key2, const T &value2, T &out1, T &out2) noexcept
 Generate an update pair from key, value pairs. More...
 
input_pairs CoolProp::get_input_pair_index (const std::string &input_pair_name)
 Get the input pair index associated with its string representation. More...
 
const std::string & CoolProp::get_input_pair_short_desc (input_pairs pair)
 Return the short description of an input pair key ("DmolarT_INPUTS" for instance) More...
 
const std::string & CoolProp::get_input_pair_long_desc (input_pairs pair)
 Return the long description of an input pair key ("Molar density in mol/m^3, Temperature in K" for instance) More...
 
void CoolProp::split_input_pair (input_pairs pair, parameters &p1, parameters &p2)
 Split an input pair into parameters for the two parts that form the pair. More...
 
void CoolProp::apply_simple_mixing_rule (const std::string &identifier1, const std::string &identifier2, const std::string &rule)
 Add a simple mixing rule. More...
 
void CoolProp::set_interaction_parameters (const std::string &string_data)
 Set the interaction parameters from a string format. More...
 
std::string CoolProp::get_mixture_binary_pair_data (const std::string &CAS1, const std::string &CAS2, const std::string &param)
 Get a string for the given binary pair. More...
 
void CoolProp::set_mixture_binary_pair_data (const std::string &CAS1, const std::string &CAS2, const std::string &param, const double val)
 Set a parameter for the given binary pair. More...
 
std::string CoolProp::get_mixture_binary_pair_pcsaft (const std::string &CAS1, const std::string &CAS2, const std::string &key)
 
void CoolProp::set_mixture_binary_pair_pcsaft (const std::string &CAS1, const std::string &CAS2, const std::string &key, const double value)
 
void CoolProp::extract_backend_families (const std::string &backend_string, backend_families &f1, backend_families &f2)
 Convert a string into the enum values. More...
 
void CoolProp::extract_backend_families_string (std::string backend_string, backend_families &f1, std::string &f2)
 
std::string CoolProp::get_backend_string (backends backend)