CoolProp  6.6.1dev
An open-source fluid property and humid air property database
Public Member Functions | Public Attributes | Protected Types | Protected Attributes | List of all members
CoolProp::TabularBackend Class Referenceabstract

Detailed Description

This class contains the general code for tabular backends (TTSE, bicubic, etc.)

This class layout was used in order to move the general code needed for all backends (building, writing, loading) into a common base class in order to remove code duplication. DRY!

Definition at line 1063 of file TabularBackends.h.

#include <TabularBackends.h>

Inheritance diagram for CoolProp::TabularBackend:
CoolProp::AbstractState CoolProp::BicubicBackend CoolProp::TTSEBackend

Public Member Functions

 TabularBackend (shared_ptr< CoolProp::AbstractState > AS)
 
bool available_in_high_level (void)
 
std::string calc_name (void)
 Using this backend, get the name of the fluid. More...
 
std::vector< std::string > calc_fluid_names (void)
 Using this backend, get a vector of fluid names. More...
 
void connect_pointers (parameters output, const SinglePhaseGriddedTableData &table)
 
void recalculate_singlephase_phase ()
 
void calc_specify_phase (phases phase_index)
 Specify the phase - this phase will always be used in calculations. More...
 
void calc_unspecify_phase ()
 Unspecify the phase - the phase is no longer imposed, different solvers can do as they like. More...
 
virtual double evaluate_single_phase_phmolar (parameters output, std::size_t i, std::size_t j)=0
 
virtual double evaluate_single_phase_pT (parameters output, std::size_t i, std::size_t j)=0
 
virtual double evaluate_single_phase_phmolar_transport (parameters output, std::size_t i, std::size_t j)=0
 
virtual double evaluate_single_phase_pT_transport (parameters output, std::size_t i, std::size_t j)=0
 
virtual double evaluate_single_phase_phmolar_derivative (parameters output, std::size_t i, std::size_t j, std::size_t Nx, std::size_t Ny)=0
 
virtual double evaluate_single_phase_pT_derivative (parameters output, std::size_t i, std::size_t j, std::size_t Nx, std::size_t Ny)=0
 
virtual void find_native_nearest_good_indices (SinglePhaseGriddedTableData &table, const std::vector< std::vector< CellCoeffs >> &coeffs, double x, double y, std::size_t &i, std::size_t &j)=0
 Ask the derived class to find the nearest good set of i,j that it wants to use (pure virtual) More...
 
virtual void find_nearest_neighbor (SinglePhaseGriddedTableData &table, const std::vector< std::vector< CellCoeffs >> &coeffs, const parameters variable1, const double value1, const parameters other, const double otherval, std::size_t &i, std::size_t &j)=0
 Ask the derived class to find the nearest neighbor (pure virtual) More...
 
virtual void invert_single_phase_x (const SinglePhaseGriddedTableData &table, const std::vector< std::vector< CellCoeffs >> &coeffs, parameters output, double x, double y, std::size_t i, std::size_t j)=0
 
virtual void invert_single_phase_y (const SinglePhaseGriddedTableData &table, const std::vector< std::vector< CellCoeffs >> &coeffs, parameters output, double x, double y, std::size_t i, std::size_t j)=0
 
phases calc_phase (void)
 Using this backend, calculate the phase. More...
 
CoolPropDbl calc_T_critical (void)
 Using this backend, get the critical point temperature in K. More...
 
CoolPropDbl calc_Ttriple (void)
 Using this backend, get the triple point temperature in K. More...
 
CoolPropDbl calc_p_triple (void)
 Using this backend, get the triple point pressure in Pa. More...
 
CoolPropDbl calc_pmax (void)
 Using this backend, calculate the maximum pressure in Pa. More...
 
CoolPropDbl calc_Tmax (void)
 Using this backend, calculate the maximum temperature in K. More...
 
CoolPropDbl calc_Tmin (void)
 Using this backend, calculate the minimum temperature in K. More...
 
CoolPropDbl calc_p_critical (void)
 Using this backend, get the critical point pressure in Pa. More...
 
CoolPropDbl calc_rhomolar_critical (void)
 Using this backend, get the critical point molar density in mol/m^3. More...
 
bool using_mole_fractions (void)
 
bool using_mass_fractions (void)
 
bool using_volu_fractions (void)
 
void update (CoolProp::input_pairs input_pair, double Value1, double Value2)
 Update the state using two state variables. More...
 
void set_mole_fractions (const std::vector< CoolPropDbl > &mole_fractions)
 
void set_mass_fractions (const std::vector< CoolPropDbl > &mass_fractions)
 
const std::vector< CoolPropDbl > & get_mole_fractions ()
 Get the mole fractions of the fluid. More...
 
const std::vector< CoolPropDblcalc_mass_fractions (void)
 
CoolPropDbl calc_molar_mass (void)
 Using this backend, calculate the molar mass in kg/mol. More...
 
CoolPropDbl calc_saturated_liquid_keyed_output (parameters key)
 
CoolPropDbl calc_saturated_vapor_keyed_output (parameters key)
 
std::string path_to_tables (void)
 Returns the path to the tables that shall be written. More...
 
void load_tables ()
 Load the tables from file; throws UnableToLoadException if there is a problem. More...
 
void pack_matrices ()
 
void write_tables ()
 Write the tables to file. More...
 
CoolPropDbl phase_envelope_sat (const PhaseEnvelopeData &env, parameters output, parameters iInput1, double value1)
 
CoolPropDbl calc_cpmolar_idealgas (void)
 Using this backend, calculate the ideal gas molar constant-pressure specific heat in J/mol/K. More...
 
CoolPropDbl calc_surface_tension (void)
 Calculate the surface tension using the wrapped class (fast enough) More...
 
CoolPropDbl calc_p (void)
 
CoolPropDbl calc_T (void)
 Using this backend, get the temperature. More...
 
CoolPropDbl calc_rhomolar (void)
 Using this backend, get the molar density in mol/m^3. More...
 
CoolPropDbl calc_hmolar (void)
 Using this backend, calculate the molar enthalpy in J/mol. More...
 
CoolPropDbl calc_smolar (void)
 Using this backend, calculate the molar entropy in J/mol/K. More...
 
CoolPropDbl calc_umolar (void)
 Using this backend, calculate the molar internal energy in J/mol. More...
 
CoolPropDbl calc_cpmolar (void)
 Using this backend, calculate the molar constant-pressure specific heat in J/mol/K. More...
 
CoolPropDbl calc_cvmolar (void)
 Using this backend, calculate the molar constant-volume specific heat in J/mol/K. More...
 
CoolPropDbl calc_viscosity (void)
 Using this backend, calculate the viscosity in Pa-s. More...
 
CoolPropDbl calc_conductivity (void)
 Using this backend, calculate the thermal conductivity in W/m/K. More...
 
CoolPropDbl calc_speed_sound (void)
 Calculate the speed of sound using a tabular backend [m/s]. More...
 
CoolPropDbl calc_first_partial_deriv (parameters Of, parameters Wrt, parameters Constant)
 Calculate the first partial derivative for the desired derivative. More...
 
CoolPropDbl calc_first_saturation_deriv (parameters Of1, parameters Wrt1)
 
CoolPropDbl calc_first_two_phase_deriv (parameters Of, parameters Wrt, parameters Constant)
 
CoolPropDbl calc_first_two_phase_deriv_splined (parameters Of, parameters Wrt, parameters Constant, CoolPropDbl x_end)
 If you need all three values (drho_dh__p, drho_dp__h and rho_spline), you should calculate drho_dp__h first to avoid duplicate calculations. More...
 
void check_tables ()
 
- Public Member Functions inherited from CoolProp::AbstractState
 AbstractState ()
 
virtual ~AbstractState ()
 
void set_T (CoolPropDbl T)
 Set the internal variable T without a flash call (expert use only!) More...
 
virtual std::string backend_name (void)=0
 
virtual void set_volu_fractions (const std::vector< CoolPropDbl > &mass_fractions)
 
virtual void set_reference_stateS (const std::string &reference_state)
 Set the reference state based on a string representation. More...
 
virtual void set_reference_stateD (double T, double rhomolar, double hmolar0, double smolar0)
 
std::vector< CoolPropDblmole_fractions_liquid (void)
 Get the mole fractions of the equilibrium liquid phase. More...
 
std::vector< double > mole_fractions_liquid_double (void)
 Get the mole fractions of the equilibrium liquid phase (but as a double for use in SWIG wrapper) More...
 
std::vector< CoolPropDblmole_fractions_vapor (void)
 Get the mole fractions of the equilibrium vapor phase. More...
 
std::vector< double > mole_fractions_vapor_double (void)
 Get the mole fractions of the equilibrium vapor phase (but as a double for use in SWIG wrapper) More...
 
virtual const std::vector< CoolPropDblget_mass_fractions (void)
 Get the mass fractions of the fluid. More...
 
virtual void update_with_guesses (CoolProp::input_pairs input_pair, double Value1, double Value2, const GuessesStructure &guesses)
 
virtual std::string fluid_param_string (const std::string &)
 Return a string from the backend for the mixture/fluid - backend dependent - could be CAS #, name, etc. More...
 
std::vector< std::string > fluid_names (void)
 Return a vector of strings of the fluid names that are in use. More...
 
virtual const double get_fluid_constant (std::size_t i, parameters param) const
 
virtual void set_binary_interaction_double (const std::string &CAS1, const std::string &CAS2, const std::string &parameter, const double value)
 Set binary mixture floating point parameter (EXPERT USE ONLY!!!) More...
 
virtual void set_binary_interaction_double (const std::size_t i, const std::size_t j, const std::string &parameter, const double value)
 Set binary mixture floating point parameter (EXPERT USE ONLY!!!) More...
 
virtual void set_binary_interaction_string (const std::string &CAS1, const std::string &CAS2, const std::string &parameter, const std::string &value)
 Set binary mixture string parameter (EXPERT USE ONLY!!!) More...
 
virtual void set_binary_interaction_string (const std::size_t i, const std::size_t j, const std::string &parameter, const std::string &value)
 Set binary mixture string parameter (EXPERT USE ONLY!!!) More...
 
virtual double get_binary_interaction_double (const std::string &CAS1, const std::string &CAS2, const std::string &parameter)
 Get binary mixture double value (EXPERT USE ONLY!!!) More...
 
virtual double get_binary_interaction_double (const std::size_t i, const std::size_t j, const std::string &parameter)
 Get binary mixture double value (EXPERT USE ONLY!!!) More...
 
virtual std::string get_binary_interaction_string (const std::string &CAS1, const std::string &CAS2, const std::string &parameter)
 Get binary mixture string value (EXPERT USE ONLY!!!) More...
 
virtual void apply_simple_mixing_rule (std::size_t i, std::size_t j, const std::string &model)
 Apply a simple mixing rule (EXPERT USE ONLY!!!) More...
 
virtual void set_cubic_alpha_C (const size_t i, const std::string &parameter, const double c1, const double c2, const double c3)
 Set the cubic alpha function's constants: More...
 
virtual void set_fluid_parameter_double (const size_t i, const std::string &parameter, const double value)
 Set fluid parameter (currently the volume translation parameter for cubic) More...
 
virtual double get_fluid_parameter_double (const size_t i, const std::string &parameter)
 Double fluid parameter (currently the volume translation parameter for cubic) More...
 
virtual bool clear ()
 Clear all the cached values. More...
 
virtual bool clear_comp_change ()
 When the composition changes, clear all cached values that are only dependent on composition, but not the thermodynamic state. More...
 
virtual const CoolProp::SimpleStateget_reducing_state ()
 
const CoolProp::SimpleStateget_state (const std::string &state)
 Get a desired state point - backend dependent. More...
 
double Tmin (void)
 Get the minimum temperature in K. More...
 
double Tmax (void)
 Get the maximum temperature in K. More...
 
double pmax (void)
 Get the maximum pressure in Pa. More...
 
double Ttriple (void)
 Get the triple point temperature in K. More...
 
phases phase (void)
 Get the phase of the state. More...
 
void specify_phase (phases phase)
 Specify the phase for all further calculations with this state class. More...
 
void unspecify_phase (void)
 Unspecify the phase and go back to calculating it based on the inputs. More...
 
double T_critical (void)
 Return the critical temperature in K. More...
 
double p_critical (void)
 Return the critical pressure in Pa. More...
 
double rhomolar_critical (void)
 Return the critical molar density in mol/m^3. More...
 
double rhomass_critical (void)
 Return the critical mass density in kg/m^3. More...
 
std::vector< CriticalStateall_critical_points (void)
 Return the vector of critical points, including points that are unstable or correspond to negative pressure. More...
 
void build_spinodal ()
 Construct the spinodal curve for the mixture (or pure fluid) More...
 
SpinodalData get_spinodal_data ()
 Get the data from the spinodal curve constructed in the call to build_spinodal() More...
 
void criticality_contour_values (double &L1star, double &M1star)
 Calculate the criticality contour values \(\mathcal{L}_1^*\) and \(\mathcal{M}_1^*\). More...
 
double tangent_plane_distance (const double T, const double p, const std::vector< double > &w, const double rhomolar_guess=-1)
 
double T_reducing (void)
 Return the reducing point temperature in K. More...
 
double rhomolar_reducing (void)
 Return the molar density at the reducing point in mol/m^3. More...
 
double rhomass_reducing (void)
 Return the mass density at the reducing point in kg/m^3. More...
 
double p_triple (void)
 Return the triple point pressure in Pa. More...
 
std::string name ()
 Return the name - backend dependent. More...
 
std::string description ()
 Return the description - backend dependent. More...
 
double dipole_moment ()
 Return the dipole moment in C-m (1 D = 3.33564e-30 C-m) More...
 
double keyed_output (parameters key)
 Retrieve a value by key. More...
 
double trivial_keyed_output (parameters key)
 A trivial keyed output like molar mass that does not depend on the state. More...
 
double saturated_liquid_keyed_output (parameters key)
 Get an output from the saturated liquid state by key. More...
 
double saturated_vapor_keyed_output (parameters key)
 Get an output from the saturated vapor state by key. More...
 
double T (void)
 Return the temperature in K. More...
 
double rhomolar (void)
 Return the molar density in mol/m^3. More...
 
double rhomass (void)
 Return the mass density in kg/m^3. More...
 
double p (void)
 Return the pressure in Pa. More...
 
double Q (void)
 Return the vapor quality (mol/mol); Q = 0 for saturated liquid. More...
 
double tau (void)
 Return the reciprocal of the reduced temperature ( \(\tau = T_c/T\)) More...
 
double delta (void)
 Return the reduced density ( \(\delta = \rho/\rho_c\)) More...
 
double molar_mass (void)
 Return the molar mass in kg/mol. More...
 
double acentric_factor (void)
 Return the acentric factor. More...
 
double gas_constant (void)
 Return the mole-fraction weighted gas constant in J/mol/K. More...
 
double Bvirial (void)
 Return the B virial coefficient. More...
 
double dBvirial_dT (void)
 Return the derivative of the B virial coefficient with respect to temperature. More...
 
double Cvirial (void)
 Return the C virial coefficient. More...
 
double dCvirial_dT (void)
 Return the derivative of the C virial coefficient with respect to temperature. More...
 
double compressibility_factor (void)
 Return the compressibility factor \( Z = p/(rho R T) \). More...
 
double hmolar (void)
 Return the molar enthalpy in J/mol. More...
 
double hmolar_residual (void)
 Return the residual molar enthalpy in J/mol. More...
 
double hmass (void)
 Return the mass enthalpy in J/kg. More...
 
double hmolar_excess (void)
 Return the excess molar enthalpy in J/mol. More...
 
double hmass_excess (void)
 Return the excess mass enthalpy in J/kg. More...
 
double smolar (void)
 Return the molar entropy in J/mol/K. More...
 
double smolar_residual (void)
 Return the residual molar entropy (as a function of temperature and density) in J/mol/K. More...
 
double neff (void)
 Return the effective hardness of interaction. More...
 
double smass (void)
 Return the molar entropy in J/kg/K. More...
 
double smolar_excess (void)
 Return the molar entropy in J/mol/K. More...
 
double smass_excess (void)
 Return the molar entropy in J/kg/K. More...
 
double umolar (void)
 Return the molar internal energy in J/mol. More...
 
double umass (void)
 Return the mass internal energy in J/kg. More...
 
double umolar_excess (void)
 Return the excess internal energy in J/mol. More...
 
double umass_excess (void)
 Return the excess internal energy in J/kg. More...
 
double cpmolar (void)
 Return the molar constant pressure specific heat in J/mol/K. More...
 
double cpmass (void)
 Return the mass constant pressure specific heat in J/kg/K. More...
 
double cp0molar (void)
 Return the molar constant pressure specific heat for ideal gas part only in J/mol/K. More...
 
double cp0mass (void)
 Return the mass constant pressure specific heat for ideal gas part only in J/kg/K. More...
 
double cvmolar (void)
 Return the molar constant volume specific heat in J/mol/K. More...
 
double cvmass (void)
 Return the mass constant volume specific heat in J/kg/K. More...
 
double gibbsmolar (void)
 Return the Gibbs energy in J/mol. More...
 
double gibbsmolar_residual (void)
 Return the residual Gibbs energy in J/mol. More...
 
double gibbsmass (void)
 Return the Gibbs energy in J/kg. More...
 
double gibbsmolar_excess (void)
 Return the excess Gibbs energy in J/mol. More...
 
double gibbsmass_excess (void)
 Return the excess Gibbs energy in J/kg. More...
 
double helmholtzmolar (void)
 Return the Helmholtz energy in J/mol. More...
 
double helmholtzmass (void)
 Return the Helmholtz energy in J/kg. More...
 
double helmholtzmolar_excess (void)
 Return the excess Helmholtz energy in J/mol. More...
 
double helmholtzmass_excess (void)
 Return the excess Helmholtz energy in J/kg. More...
 
double volumemolar_excess (void)
 Return the excess volume in m^3/mol. More...
 
double volumemass_excess (void)
 Return the excess volume in m^3/kg. More...
 
double speed_sound (void)
 Return the speed of sound in m/s. More...
 
double isothermal_compressibility (void)
 Return the isothermal compressibility \( \kappa = -\frac{1}{v}\left.\frac{\partial v}{\partial p}\right|_T=\frac{1}{\rho}\left.\frac{\partial \rho}{\partial p}\right|_T\) in 1/Pa. More...
 
double isobaric_expansion_coefficient (void)
 Return the isobaric expansion coefficient \( \beta = \frac{1}{v}\left.\frac{\partial v}{\partial T}\right|_p = -\frac{1}{\rho}\left.\frac{\partial \rho}{\partial T}\right|_p\) in 1/K. More...
 
double isentropic_expansion_coefficient (void)
 Return the isentropic expansion coefficient \( \kappa_s = -\frac{c_p}{c_v}\frac{v}{p}\left.\frac{\partial p}{\partial v}\right|_T = \frac{\rho}{p}\left.\frac{\partial p}{\partial \rho}\right|_s\). More...
 
double fugacity_coefficient (std::size_t i)
 Return the fugacity coefficient of the i-th component of the mixture. More...
 
std::vector< double > fugacity_coefficients ()
 Return a vector of the fugacity coefficients for all components in the mixture. More...
 
double fugacity (std::size_t i)
 Return the fugacity of the i-th component of the mixture. More...
 
double chemical_potential (std::size_t i)
 Return the chemical potential of the i-th component of the mixture. More...
 
double fundamental_derivative_of_gas_dynamics (void)
 Return the fundamental derivative of gas dynamics \( \Gamma \). More...
 
double PIP ()
 Return the phase identification parameter (PIP) of G. Venkatarathnam and L.R. Oellrich, "Identification of the phase of a fluid using partial derivatives of pressure, volume, and temperature without reference to saturation properties: Applications in phase equilibria calculations". More...
 
void true_critical_point (double &T, double &rho)
 Calculate the "true" critical point for pure fluids where dpdrho|T and d2p/drho2|T are equal to zero. More...
 
void ideal_curve (const std::string &type, std::vector< double > &T, std::vector< double > &p)
 Calculate an ideal curve for a pure fluid. More...
 
CoolPropDbl first_partial_deriv (parameters Of, parameters Wrt, parameters Constant)
 The first partial derivative in homogeneous phases. More...
 
CoolPropDbl second_partial_deriv (parameters Of1, parameters Wrt1, parameters Constant1, parameters Wrt2, parameters Constant2)
 The second partial derivative in homogeneous phases. More...
 
CoolPropDbl first_saturation_deriv (parameters Of1, parameters Wrt1)
 The first partial derivative along the saturation curve. More...
 
CoolPropDbl second_saturation_deriv (parameters Of1, parameters Wrt1, parameters Wrt2)
 The second partial derivative along the saturation curve. More...
 
double first_two_phase_deriv (parameters Of, parameters Wrt, parameters Constant)
 Calculate the first "two-phase" derivative as described by Thorade and Sadaat, EAS, 2013. More...
 
double second_two_phase_deriv (parameters Of, parameters Wrt1, parameters Constant1, parameters Wrt2, parameters Constant2)
 Calculate the second "two-phase" derivative as described by Thorade and Sadaat, EAS, 2013. More...
 
double first_two_phase_deriv_splined (parameters Of, parameters Wrt, parameters Constant, double x_end)
 Calculate the first "two-phase" derivative as described by Thorade and Sadaat, EAS, 2013. More...
 
void build_phase_envelope (const std::string &type="")
 Construct the phase envelope for a mixture. More...
 
const CoolProp::PhaseEnvelopeDataget_phase_envelope_data ()
 After having calculated the phase envelope, return the phase envelope data. More...
 
virtual bool has_melting_line (void)
 Return true if the fluid has a melting line - default is false, but can be re-implemented by derived class. More...
 
double melting_line (int param, int given, double value)
 
double saturation_ancillary (parameters param, int Q, parameters given, double value)
 
double viscosity (void)
 Return the viscosity in Pa-s. More...
 
void viscosity_contributions (CoolPropDbl &dilute, CoolPropDbl &initial_density, CoolPropDbl &residual, CoolPropDbl &critical)
 Return the viscosity contributions, each in Pa-s. More...
 
double conductivity (void)
 Return the thermal conductivity in W/m/K. More...
 
void conductivity_contributions (CoolPropDbl &dilute, CoolPropDbl &initial_density, CoolPropDbl &residual, CoolPropDbl &critical)
 Return the thermal conductivity contributions, each in W/m/K. More...
 
double surface_tension (void)
 Return the surface tension in N/m. More...
 
double Prandtl (void)
 Return the Prandtl number (dimensionless) More...
 
void conformal_state (const std::string &reference_fluid, CoolPropDbl &T, CoolPropDbl &rhomolar)
 Find the conformal state needed for ECS. More...
 
void change_EOS (const std::size_t i, const std::string &EOS_name)
 Change the equation of state for a given component to a specified EOS. More...
 
CoolPropDbl alpha0 (void)
 Return the term \( \alpha^0 \). More...
 
CoolPropDbl dalpha0_dDelta (void)
 Return the term \( \alpha^0_{\delta} \). More...
 
CoolPropDbl dalpha0_dTau (void)
 Return the term \( \alpha^0_{\tau} \). More...
 
CoolPropDbl d2alpha0_dDelta2 (void)
 Return the term \( \alpha^0_{\delta\delta} \). More...
 
CoolPropDbl d2alpha0_dDelta_dTau (void)
 Return the term \( \alpha^0_{\delta\tau} \). More...
 
CoolPropDbl d2alpha0_dTau2 (void)
 Return the term \( \alpha^0_{\tau\tau} \). More...
 
CoolPropDbl d3alpha0_dTau3 (void)
 Return the term \( \alpha^0_{\tau\tau\tau} \). More...
 
CoolPropDbl d3alpha0_dDelta_dTau2 (void)
 Return the term \( \alpha^0_{\delta\tau\tau} \). More...
 
CoolPropDbl d3alpha0_dDelta2_dTau (void)
 Return the term \( \alpha^0_{\delta\delta\tau} \). More...
 
CoolPropDbl d3alpha0_dDelta3 (void)
 Return the term \( \alpha^0_{\delta\delta\delta} \). More...
 
CoolPropDbl alphar (void)
 Return the term \( \alpha^r \). More...
 
CoolPropDbl dalphar_dDelta (void)
 Return the term \( \alpha^r_{\delta} \). More...
 
CoolPropDbl dalphar_dTau (void)
 Return the term \( \alpha^r_{\tau} \). More...
 
CoolPropDbl d2alphar_dDelta2 (void)
 Return the term \( \alpha^r_{\delta\delta} \). More...
 
CoolPropDbl d2alphar_dDelta_dTau (void)
 Return the term \( \alpha^r_{\delta\tau} \). More...
 
CoolPropDbl d2alphar_dTau2 (void)
 Return the term \( \alpha^r_{\tau\tau} \). More...
 
CoolPropDbl d3alphar_dDelta3 (void)
 Return the term \( \alpha^r_{\delta\delta\delta} \). More...
 
CoolPropDbl d3alphar_dDelta2_dTau (void)
 Return the term \( \alpha^r_{\delta\delta\tau} \). More...
 
CoolPropDbl d3alphar_dDelta_dTau2 (void)
 Return the term \( \alpha^r_{\delta\tau\tau} \). More...
 
CoolPropDbl d3alphar_dTau3 (void)
 Return the term \( \alpha^r_{\tau\tau\tau} \). More...
 
CoolPropDbl d4alphar_dDelta4 (void)
 Return the term \( \alpha^r_{\delta\delta\delta\delta} \). More...
 
CoolPropDbl d4alphar_dDelta3_dTau (void)
 Return the term \( \alpha^r_{\delta\delta\delta\tau} \). More...
 
CoolPropDbl d4alphar_dDelta2_dTau2 (void)
 Return the term \( \alpha^r_{\delta\delta\tau\tau} \). More...
 
CoolPropDbl d4alphar_dDelta_dTau3 (void)
 Return the term \( \alpha^r_{\delta\tau\tau\tau} \). More...
 
CoolPropDbl d4alphar_dTau4 (void)
 Return the term \( \alpha^r_{\tau\tau\tau\tau} \). More...
 

Public Attributes

shared_ptr< CoolProp::AbstractStateAS
 
TabularDataSetdataset
 

Protected Types

enum  selected_table_options { SELECTED_NO_TABLE = 0 , SELECTED_PH_TABLE , SELECTED_PT_TABLE }
 

Protected Attributes

phases imposed_phase_index
 
bool tables_loaded
 
bool using_single_phase_table
 
bool is_mixture
 
selected_table_options selected_table
 
std::size_t cached_single_phase_i
 
std::size_t cached_single_phase_j
 
std::size_t cached_saturation_iL
 
std::size_t cached_saturation_iV
 
std::vector< std::vector< double > > const * z
 
std::vector< std::vector< double > > const * dzdx
 
std::vector< std::vector< double > > const * dzdy
 
std::vector< std::vector< double > > const * d2zdx2
 
std::vector< std::vector< double > > const * d2zdxdy
 
std::vector< std::vector< double > > const * d2zdy2
 
std::vector< CoolPropDblmole_fractions
 
- Protected Attributes inherited from CoolProp::AbstractState
long _fluid_type
 Some administrative variables. More...
 
phases _phase
 The key for the phase from CoolProp::phases enum. More...
 
phases imposed_phase_index
 If the phase is imposed, the imposed phase index. More...
 
SimpleState _critical
 Two important points. More...
 
SimpleState _reducing
 
CachedElement _molar_mass
 Molar mass [mol/kg]. More...
 
CachedElement _gas_constant
 Universal gas constant [J/mol/K]. More...
 
double _rhomolar
 Bulk values. More...
 
double _T
 
double _p
 
double _Q
 
double _R
 
CachedElement _tau
 
CachedElement _delta
 
CachedElement _viscosity
 Transport properties. More...
 
CachedElement _conductivity
 
CachedElement _surface_tension
 
CachedElement _hmolar
 
CachedElement _smolar
 
CachedElement _umolar
 
CachedElement _logp
 
CachedElement _logrhomolar
 
CachedElement _cpmolar
 
CachedElement _cp0molar
 
CachedElement _cvmolar
 
CachedElement _speed_sound
 
CachedElement _gibbsmolar
 
CachedElement _helmholtzmolar
 
CachedElement _hmolar_residual
 Residual properties. More...
 
CachedElement _smolar_residual
 
CachedElement _gibbsmolar_residual
 
CachedElement _hmolar_excess
 Excess properties. More...
 
CachedElement _smolar_excess
 
CachedElement _gibbsmolar_excess
 
CachedElement _umolar_excess
 
CachedElement _volumemolar_excess
 
CachedElement _helmholtzmolar_excess
 
CachedElement _rhoLanc
 Ancillary values. More...
 
CachedElement _rhoVanc
 
CachedElement _pLanc
 
CachedElement _pVanc
 
CachedElement _TLanc
 
CachedElement _TVanc
 
CachedElement _fugacity_coefficient
 
CachedElement _rho_spline
 Smoothing values. More...
 
CachedElement _drho_spline_dh__constp
 
CachedElement _drho_spline_dp__consth
 
CachedElement _alpha0
 Cached low-level elements for in-place calculation of other properties. More...
 
CachedElement _dalpha0_dTau
 
CachedElement _dalpha0_dDelta
 
CachedElement _d2alpha0_dTau2
 
CachedElement _d2alpha0_dDelta_dTau
 
CachedElement _d2alpha0_dDelta2
 
CachedElement _d3alpha0_dTau3
 
CachedElement _d3alpha0_dDelta_dTau2
 
CachedElement _d3alpha0_dDelta2_dTau
 
CachedElement _d3alpha0_dDelta3
 
CachedElement _alphar
 
CachedElement _dalphar_dTau
 
CachedElement _dalphar_dDelta
 
CachedElement _d2alphar_dTau2
 
CachedElement _d2alphar_dDelta_dTau
 
CachedElement _d2alphar_dDelta2
 
CachedElement _d3alphar_dTau3
 
CachedElement _d3alphar_dDelta_dTau2
 
CachedElement _d3alphar_dDelta2_dTau
 
CachedElement _d3alphar_dDelta3
 
CachedElement _d4alphar_dTau4
 
CachedElement _d4alphar_dDelta_dTau3
 
CachedElement _d4alphar_dDelta2_dTau2
 
CachedElement _d4alphar_dDelta3_dTau
 
CachedElement _d4alphar_dDelta4
 
CachedElement _dalphar_dDelta_lim
 
CachedElement _d2alphar_dDelta2_lim
 
CachedElement _d2alphar_dDelta_dTau_lim
 
CachedElement _d3alphar_dDelta2_dTau_lim
 
CachedElement _rhoLmolar
 Two-Phase variables. More...
 
CachedElement _rhoVmolar
 

Additional Inherited Members

- Static Public Member Functions inherited from CoolProp::AbstractState
static AbstractStatefactory (const std::string &backend, const std::string &fluid_names)
 A factory function to return a pointer to a new-allocated instance of one of the backends. More...
 
static AbstractStatefactory (const std::string &backend, const std::vector< std::string > &fluid_names)
 A factory function to return a pointer to a new-allocated instance of one of the backends. More...
 
- Protected Member Functions inherited from CoolProp::AbstractState
bool isSupercriticalPhase (void)
 
bool isHomogeneousPhase (void)
 
bool isTwoPhase (void)
 
virtual CoolPropDbl calc_hmolar_residual (void)
 Using this backend, calculate the residual molar enthalpy in J/mol. More...
 
virtual CoolPropDbl calc_smolar_residual (void)
 Using this backend, calculate the residual molar entropy in J/mol/K. More...
 
virtual CoolPropDbl calc_neff (void)
 Using this backend, calculate effective hardness of interaction. More...
 
virtual CoolPropDbl calc_gibbsmolar (void)
 Using this backend, calculate the molar Gibbs function in J/mol. More...
 
virtual CoolPropDbl calc_gibbsmolar_residual (void)
 Using this backend, calculate the residual molar Gibbs function in J/mol. More...
 
virtual CoolPropDbl calc_helmholtzmolar (void)
 Using this backend, calculate the molar Helmholtz energy in J/mol. More...
 
virtual CoolPropDbl calc_isothermal_compressibility (void)
 Using this backend, calculate the isothermal compressibility \( \kappa = -\frac{1}{v}\left.\frac{\partial v}{\partial p}\right|_T=\frac{1}{\rho}\left.\frac{\partial \rho}{\partial p}\right|_T\) in 1/Pa. More...
 
virtual CoolPropDbl calc_isobaric_expansion_coefficient (void)
 Using this backend, calculate the isobaric expansion coefficient \( \beta = \frac{1}{v}\left.\frac{\partial v}{\partial T}\right|_p = -\frac{1}{\rho}\left.\frac{\partial \rho}{\partial T}\right|_p\) in 1/K. More...
 
virtual CoolPropDbl calc_isentropic_expansion_coefficient (void)
 Using this backend, calculate the isentropic expansion coefficient \( \kappa_s = -\frac{c_p}{c_v}\frac{v}{p}\left.\frac{\partial p}{\partial v}\right|_T = \frac{\rho}{p}\left.\frac{\partial p}{\partial \rho}\right|_s\). More...
 
virtual CoolPropDbl calc_acentric_factor (void)
 Using this backend, calculate the acentric factor. More...
 
virtual CoolPropDbl calc_pressure (void)
 Using this backend, calculate the pressure in Pa. More...
 
virtual CoolPropDbl calc_gas_constant (void)
 Using this backend, calculate the universal gas constant \(R_u\) in J/mol/K. More...
 
virtual CoolPropDbl calc_fugacity_coefficient (std::size_t i)
 Using this backend, calculate the fugacity coefficient (dimensionless) More...
 
virtual std::vector< CoolPropDblcalc_fugacity_coefficients ()
 Using this backend, calculate the fugacity in Pa. More...
 
virtual CoolPropDbl calc_fugacity (std::size_t i)
 Using this backend, calculate the fugacity in Pa. More...
 
virtual CoolPropDbl calc_chemical_potential (std::size_t i)
 Using this backend, calculate the chemical potential in J/mol. More...
 
virtual CoolPropDbl calc_PIP (void)
 Using this backend, calculate the phase identification parameter (PIP) More...
 
virtual void calc_excess_properties (void)
 Using this backend, calculate and cache the excess properties. More...
 
virtual CoolPropDbl calc_alphar (void)
 Using this backend, calculate the residual Helmholtz energy term \(\alpha^r\) (dimensionless) More...
 
virtual CoolPropDbl calc_dalphar_dDelta (void)
 Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta}\) (dimensionless) More...
 
virtual CoolPropDbl calc_dalphar_dTau (void)
 Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\tau}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d2alphar_dDelta2 (void)
 Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d2alphar_dDelta_dTau (void)
 Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\tau}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d2alphar_dTau2 (void)
 Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\tau\tau}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d3alphar_dDelta3 (void)
 Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta\delta}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d3alphar_dDelta2_dTau (void)
 Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta\tau}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d3alphar_dDelta_dTau2 (void)
 Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\tau\tau}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d3alphar_dTau3 (void)
 Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\tau\tau\tau}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d4alphar_dDelta4 (void)
 Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta\delta\delta}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d4alphar_dDelta3_dTau (void)
 Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta\delta\tau}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d4alphar_dDelta2_dTau2 (void)
 Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta\tau\tau}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d4alphar_dDelta_dTau3 (void)
 Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\tau\tau\tau}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d4alphar_dTau4 (void)
 Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\tau\tau\tau\tau}\) (dimensionless) More...
 
virtual CoolPropDbl calc_alpha0 (void)
 Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0\) (dimensionless) More...
 
virtual CoolPropDbl calc_dalpha0_dDelta (void)
 Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta}\) (dimensionless) More...
 
virtual CoolPropDbl calc_dalpha0_dTau (void)
 Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\tau}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d2alpha0_dDelta_dTau (void)
 Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta\delta}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d2alpha0_dDelta2 (void)
 Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta\tau}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d2alpha0_dTau2 (void)
 Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\tau\tau}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d3alpha0_dDelta3 (void)
 Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta\delta\delta}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d3alpha0_dDelta2_dTau (void)
 Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta\delta\tau}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d3alpha0_dDelta_dTau2 (void)
 Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta\tau\tau}\) (dimensionless) More...
 
virtual CoolPropDbl calc_d3alpha0_dTau3 (void)
 Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\tau\tau\tau}\) (dimensionless) More...
 
virtual void calc_reducing_state (void)
 
virtual CoolPropDbl calc_GWP20 (void)
 Using this backend, calculate the 20-year global warming potential (GWP) More...
 
virtual CoolPropDbl calc_GWP100 (void)
 Using this backend, calculate the 100-year global warming potential (GWP) More...
 
virtual CoolPropDbl calc_GWP500 (void)
 Using this backend, calculate the 500-year global warming potential (GWP) More...
 
virtual CoolPropDbl calc_ODP (void)
 Using this backend, calculate the ozone depletion potential (ODP) More...
 
virtual CoolPropDbl calc_flame_hazard (void)
 Using this backend, calculate the flame hazard. More...
 
virtual CoolPropDbl calc_health_hazard (void)
 Using this backend, calculate the health hazard. More...
 
virtual CoolPropDbl calc_physical_hazard (void)
 Using this backend, calculate the physical hazard. More...
 
virtual CoolPropDbl calc_dipole_moment (void)
 Using this backend, calculate the dipole moment in C-m (1 D = 3.33564e-30 C-m) More...
 
virtual CoolPropDbl calc_second_partial_deriv (parameters Of1, parameters Wrt1, parameters Constant1, parameters Wrt2, parameters Constant2)
 Calculate the second partial derivative using the given backend. More...
 
virtual CoolPropDbl calc_reduced_density (void)
 Using this backend, calculate the reduced density (rho/rhoc) More...
 
virtual CoolPropDbl calc_reciprocal_reduced_temperature (void)
 Using this backend, calculate the reciprocal reduced temperature (Tc/T) More...
 
virtual CoolPropDbl calc_Bvirial (void)
 Using this backend, calculate the second virial coefficient. More...
 
virtual CoolPropDbl calc_Cvirial (void)
 Using this backend, calculate the third virial coefficient. More...
 
virtual CoolPropDbl calc_dBvirial_dT (void)
 Using this backend, calculate the derivative dB/dT. More...
 
virtual CoolPropDbl calc_dCvirial_dT (void)
 Using this backend, calculate the derivative dC/dT. More...
 
virtual CoolPropDbl calc_compressibility_factor (void)
 Using this backend, calculate the compressibility factor Z \( Z = p/(\rho R T) \). More...
 
virtual std::string calc_description (void)
 Using this backend, get the description of the fluid. More...
 
virtual CoolPropDbl calc_T_reducing (void)
 Using this backend, get the reducing point temperature in K. More...
 
virtual CoolPropDbl calc_p_reducing (void)
 Using this backend, get the reducing point pressure in Pa. More...
 
virtual CoolPropDbl calc_rhomass_critical (void)
 Using this backend, get the critical point mass density in kg/m^3 - Added for IF97Backend which is mass based. More...
 
virtual CoolPropDbl calc_rhomolar_reducing (void)
 Using this backend, get the reducing point molar density in mol/m^3. More...
 
virtual void calc_phase_envelope (const std::string &type)
 Using this backend, construct the phase envelope, the variable type describes the type of phase envelope to be built. More...
 
virtual CoolPropDbl calc_rhomass (void)
 
virtual CoolPropDbl calc_hmass (void)
 
virtual CoolPropDbl calc_hmass_excess (void)
 
virtual CoolPropDbl calc_smass (void)
 
virtual CoolPropDbl calc_smass_excess (void)
 
virtual CoolPropDbl calc_cpmass (void)
 
virtual CoolPropDbl calc_cp0mass (void)
 
virtual CoolPropDbl calc_cvmass (void)
 
virtual CoolPropDbl calc_umass (void)
 
virtual CoolPropDbl calc_umass_excess (void)
 
virtual CoolPropDbl calc_gibbsmass (void)
 
virtual CoolPropDbl calc_gibbsmass_excess (void)
 
virtual CoolPropDbl calc_helmholtzmass (void)
 
virtual CoolPropDbl calc_helmholtzmass_excess (void)
 
virtual CoolPropDbl calc_volumemass_excess (void)
 
virtual void update_states (void)
 Update the states after having changed the reference state for enthalpy and entropy. More...
 
virtual CoolPropDbl calc_melting_line (int param, int given, CoolPropDbl value)
 
virtual CoolPropDbl calc_saturation_ancillary (parameters param, int Q, parameters given, double value)
 
virtual const CoolProp::SimpleStatecalc_state (const std::string &state)
 
virtual const CoolProp::PhaseEnvelopeDatacalc_phase_envelope_data (void)
 
virtual std::vector< CoolPropDblcalc_mole_fractions_liquid (void)
 
virtual std::vector< CoolPropDblcalc_mole_fractions_vapor (void)
 
virtual CoolPropDbl calc_fraction_min (void)
 Get the minimum fraction (mole, mass, volume) for incompressible fluid. More...
 
virtual CoolPropDbl calc_fraction_max (void)
 Get the maximum fraction (mole, mass, volume) for incompressible fluid. More...
 
virtual CoolPropDbl calc_T_freeze (void)
 
virtual CoolPropDbl calc_second_saturation_deriv (parameters Of1, parameters Wrt1, parameters Wrt2)
 
virtual CoolPropDbl calc_second_two_phase_deriv (parameters Of, parameters Wrt, parameters Constant, parameters Wrt2, parameters Constant2)
 
virtual void calc_ideal_curve (const std::string &type, std::vector< double > &T, std::vector< double > &p)
 
virtual double calc_tangent_plane_distance (const double T, const double p, const std::vector< double > &w, const double rhomolar_guess)
 Using this backend, calculate the tangent plane distance for a given trial composition. More...
 
virtual void calc_true_critical_point (double &T, double &rho)
 Using this backend, return true critical point where dp/drho|T = 0 and d2p/drho^2|T = 0. More...
 
virtual void calc_conformal_state (const std::string &reference_fluid, CoolPropDbl &T, CoolPropDbl &rhomolar)
 
virtual void calc_viscosity_contributions (CoolPropDbl &dilute, CoolPropDbl &initial_density, CoolPropDbl &residual, CoolPropDbl &critical)
 
virtual void calc_conductivity_contributions (CoolPropDbl &dilute, CoolPropDbl &initial_density, CoolPropDbl &residual, CoolPropDbl &critical)
 
virtual std::vector< CriticalStatecalc_all_critical_points (void)
 
virtual void calc_build_spinodal ()
 
virtual SpinodalData calc_get_spinodal_data ()
 
virtual void calc_criticality_contour_values (double &L1star, double &M1star)
 
virtual void mass_to_molar_inputs (CoolProp::input_pairs &input_pair, CoolPropDbl &value1, CoolPropDbl &value2)
 Convert mass-based input pair to molar-based input pair; If molar-based, do nothing. More...
 
virtual void calc_change_EOS (const std::size_t i, const std::string &EOS_name)
 Change the equation of state for a given component to a specified EOS. More...
 

Member Enumeration Documentation

◆ selected_table_options

Enumerator
SELECTED_NO_TABLE 
SELECTED_PH_TABLE 
SELECTED_PT_TABLE 

Definition at line 1068 of file TabularBackends.h.

Constructor & Destructor Documentation

◆ TabularBackend()

CoolProp::TabularBackend::TabularBackend ( shared_ptr< CoolProp::AbstractState AS)
inline

Definition at line 1087 of file TabularBackends.h.

Member Function Documentation

◆ available_in_high_level()

bool CoolProp::TabularBackend::available_in_high_level ( void  )
inlinevirtual

A function that says whether the backend instance can be instantiated in the high-level interface In general this should be true, except for some other backends (especially the tabular backends) To disable use in high-level interface, implement this function and return false

Reimplemented from CoolProp::AbstractState.

Definition at line 1105 of file TabularBackends.h.

◆ calc_conductivity()

CoolPropDbl CoolProp::TabularBackend::calc_conductivity ( void  )
virtual

Using this backend, calculate the thermal conductivity in W/m/K.

Reimplemented from CoolProp::AbstractState.

Definition at line 586 of file TabularBackends.cpp.

◆ calc_cpmolar()

CoolPropDbl CoolProp::TabularBackend::calc_cpmolar ( void  )
virtual

Using this backend, calculate the molar constant-pressure specific heat in J/mol/K.

Reimplemented from CoolProp::AbstractState.

Definition at line 538 of file TabularBackends.cpp.

◆ calc_cpmolar_idealgas()

CoolPropDbl CoolProp::TabularBackend::calc_cpmolar_idealgas ( void  )
inlinevirtual

Using this backend, calculate the ideal gas molar constant-pressure specific heat in J/mol/K.

Reimplemented from CoolProp::AbstractState.

Definition at line 1306 of file TabularBackends.h.

◆ calc_cvmolar()

CoolPropDbl CoolProp::TabularBackend::calc_cvmolar ( void  )
virtual

Using this backend, calculate the molar constant-volume specific heat in J/mol/K.

Reimplemented from CoolProp::AbstractState.

Definition at line 551 of file TabularBackends.cpp.

◆ calc_first_partial_deriv()

CoolPropDbl CoolProp::TabularBackend::calc_first_partial_deriv ( parameters  Of,
parameters  Wrt,
parameters  Constant 
)
virtual

Calculate the first partial derivative for the desired derivative.

Reimplemented from CoolProp::AbstractState.

Definition at line 620 of file TabularBackends.cpp.

◆ calc_first_saturation_deriv()

CoolPropDbl CoolProp::TabularBackend::calc_first_saturation_deriv ( parameters  Of1,
parameters  Wrt1 
)
virtual

/brief calculate the derivative along the saturation curve, but only if quality is 0 or 1

Reimplemented from CoolProp::AbstractState.

Definition at line 659 of file TabularBackends.cpp.

◆ calc_first_two_phase_deriv()

CoolPropDbl CoolProp::TabularBackend::calc_first_two_phase_deriv ( parameters  Of,
parameters  Wrt,
parameters  Constant 
)
virtual

Reimplemented from CoolProp::AbstractState.

Definition at line 672 of file TabularBackends.cpp.

◆ calc_first_two_phase_deriv_splined()

CoolPropDbl CoolProp::TabularBackend::calc_first_two_phase_deriv_splined ( parameters  Of,
parameters  Wrt,
parameters  Constant,
CoolPropDbl  x_end 
)
virtual

If you need all three values (drho_dh__p, drho_dp__h and rho_spline), you should calculate drho_dp__h first to avoid duplicate calculations.

Reimplemented from CoolProp::AbstractState.

Definition at line 704 of file TabularBackends.cpp.

◆ calc_fluid_names()

std::vector<std::string> CoolProp::TabularBackend::calc_fluid_names ( void  )
inlinevirtual

Using this backend, get a vector of fluid names.

Reimplemented from CoolProp::AbstractState.

Definition at line 1112 of file TabularBackends.h.

◆ calc_hmolar()

CoolPropDbl CoolProp::TabularBackend::calc_hmolar ( void  )
virtual

Using this backend, calculate the molar enthalpy in J/mol.

Reimplemented from CoolProp::AbstractState.

Definition at line 472 of file TabularBackends.cpp.

◆ calc_mass_fractions()

const std::vector<CoolPropDbl> CoolProp::TabularBackend::calc_mass_fractions ( void  )
inlinevirtual

Reimplemented from CoolProp::AbstractState.

Definition at line 1272 of file TabularBackends.h.

◆ calc_molar_mass()

CoolPropDbl CoolProp::TabularBackend::calc_molar_mass ( void  )
inlinevirtual

Using this backend, calculate the molar mass in kg/mol.

Reimplemented from CoolProp::AbstractState.

Definition at line 1276 of file TabularBackends.h.

◆ calc_name()

std::string CoolProp::TabularBackend::calc_name ( void  )
inlinevirtual

Using this backend, get the name of the fluid.

Reimplemented from CoolProp::AbstractState.

Definition at line 1109 of file TabularBackends.h.

◆ calc_p()

CoolPropDbl CoolProp::TabularBackend::calc_p ( void  )

Definition at line 414 of file TabularBackends.cpp.

◆ calc_p_critical()

CoolPropDbl CoolProp::TabularBackend::calc_p_critical ( void  )
inlinevirtual

Using this backend, get the critical point pressure in Pa.

Reimplemented from CoolProp::AbstractState.

Definition at line 1247 of file TabularBackends.h.

◆ calc_p_triple()

CoolPropDbl CoolProp::TabularBackend::calc_p_triple ( void  )
inlinevirtual

Using this backend, get the triple point pressure in Pa.

Reimplemented from CoolProp::AbstractState.

Definition at line 1235 of file TabularBackends.h.

◆ calc_phase()

phases CoolProp::TabularBackend::calc_phase ( void  )
inlinevirtual

Using this backend, calculate the phase.

Reimplemented from CoolProp::AbstractState.

Definition at line 1226 of file TabularBackends.h.

◆ calc_pmax()

CoolPropDbl CoolProp::TabularBackend::calc_pmax ( void  )
inlinevirtual

Using this backend, calculate the maximum pressure in Pa.

Reimplemented from CoolProp::AbstractState.

Definition at line 1238 of file TabularBackends.h.

◆ calc_rhomolar()

CoolPropDbl CoolProp::TabularBackend::calc_rhomolar ( void  )
virtual

Using this backend, get the molar density in mol/m^3.

Reimplemented from CoolProp::AbstractState.

Definition at line 451 of file TabularBackends.cpp.

◆ calc_rhomolar_critical()

CoolPropDbl CoolProp::TabularBackend::calc_rhomolar_critical ( void  )
inlinevirtual

Using this backend, get the critical point molar density in mol/m^3.

Reimplemented from CoolProp::AbstractState.

Definition at line 1250 of file TabularBackends.h.

◆ calc_saturated_liquid_keyed_output()

CoolPropDbl CoolProp::TabularBackend::calc_saturated_liquid_keyed_output ( parameters  key)
virtual

Reimplemented from CoolProp::AbstractState.

Definition at line 402 of file TabularBackends.cpp.

◆ calc_saturated_vapor_keyed_output()

CoolPropDbl CoolProp::TabularBackend::calc_saturated_vapor_keyed_output ( parameters  key)
virtual

Reimplemented from CoolProp::AbstractState.

Definition at line 391 of file TabularBackends.cpp.

◆ calc_smolar()

CoolPropDbl CoolProp::TabularBackend::calc_smolar ( void  )
virtual

Using this backend, calculate the molar entropy in J/mol/K.

Reimplemented from CoolProp::AbstractState.

Definition at line 493 of file TabularBackends.cpp.

◆ calc_specify_phase()

void CoolProp::TabularBackend::calc_specify_phase ( phases  phase_index)
inlinevirtual

Specify the phase - this phase will always be used in calculations.

Parameters
phase_indexThe index from CoolProp::phases

Reimplemented from CoolProp::AbstractState.

Definition at line 1195 of file TabularBackends.h.

◆ calc_speed_sound()

CoolPropDbl CoolProp::TabularBackend::calc_speed_sound ( void  )
virtual

Calculate the speed of sound using a tabular backend [m/s].

Reimplemented from CoolProp::AbstractState.

Definition at line 607 of file TabularBackends.cpp.

◆ calc_surface_tension()

CoolPropDbl CoolProp::TabularBackend::calc_surface_tension ( void  )
inlinevirtual

Calculate the surface tension using the wrapped class (fast enough)

Reimplemented from CoolProp::AbstractState.

Definition at line 1311 of file TabularBackends.h.

◆ calc_T()

CoolPropDbl CoolProp::TabularBackend::calc_T ( void  )
virtual

Using this backend, get the temperature.

Reimplemented from CoolProp::AbstractState.

Definition at line 426 of file TabularBackends.cpp.

◆ calc_T_critical()

CoolPropDbl CoolProp::TabularBackend::calc_T_critical ( void  )
inlinevirtual

Using this backend, get the critical point temperature in K.

Reimplemented from CoolProp::AbstractState.

Definition at line 1229 of file TabularBackends.h.

◆ calc_Tmax()

CoolPropDbl CoolProp::TabularBackend::calc_Tmax ( void  )
inlinevirtual

Using this backend, calculate the maximum temperature in K.

Reimplemented from CoolProp::AbstractState.

Definition at line 1241 of file TabularBackends.h.

◆ calc_Tmin()

CoolPropDbl CoolProp::TabularBackend::calc_Tmin ( void  )
inlinevirtual

Using this backend, calculate the minimum temperature in K.

Reimplemented from CoolProp::AbstractState.

Definition at line 1244 of file TabularBackends.h.

◆ calc_Ttriple()

CoolPropDbl CoolProp::TabularBackend::calc_Ttriple ( void  )
inlinevirtual

Using this backend, get the triple point temperature in K.

Reimplemented from CoolProp::AbstractState.

Definition at line 1232 of file TabularBackends.h.

◆ calc_umolar()

CoolPropDbl CoolProp::TabularBackend::calc_umolar ( void  )
virtual

Using this backend, calculate the molar internal energy in J/mol.

Reimplemented from CoolProp::AbstractState.

Definition at line 514 of file TabularBackends.cpp.

◆ calc_unspecify_phase()

void CoolProp::TabularBackend::calc_unspecify_phase ( void  )
inlinevirtual

Unspecify the phase - the phase is no longer imposed, different solvers can do as they like.

Reimplemented from CoolProp::AbstractState.

Definition at line 1201 of file TabularBackends.h.

◆ calc_viscosity()

CoolPropDbl CoolProp::TabularBackend::calc_viscosity ( void  )
virtual

Using this backend, calculate the viscosity in Pa-s.

Reimplemented from CoolProp::AbstractState.

Definition at line 565 of file TabularBackends.cpp.

◆ check_tables()

void CoolProp::TabularBackend::check_tables ( )
inline

Try to load the tables if you can.

Check directory size

If you cannot load the tables, build them and then write them to file

Load the tables back into memory as a consistency check

Definition at line 1337 of file TabularBackends.h.

◆ connect_pointers()

void CoolProp::TabularBackend::connect_pointers ( parameters  output,
const SinglePhaseGriddedTableData table 
)
inline

Definition at line 1116 of file TabularBackends.h.

◆ evaluate_single_phase_phmolar()

virtual double CoolProp::TabularBackend::evaluate_single_phase_phmolar ( parameters  output,
std::size_t  i,
std::size_t  j 
)
pure virtual

◆ evaluate_single_phase_phmolar_derivative()

virtual double CoolProp::TabularBackend::evaluate_single_phase_phmolar_derivative ( parameters  output,
std::size_t  i,
std::size_t  j,
std::size_t  Nx,
std::size_t  Ny 
)
pure virtual

◆ evaluate_single_phase_phmolar_transport()

virtual double CoolProp::TabularBackend::evaluate_single_phase_phmolar_transport ( parameters  output,
std::size_t  i,
std::size_t  j 
)
pure virtual

◆ evaluate_single_phase_pT()

virtual double CoolProp::TabularBackend::evaluate_single_phase_pT ( parameters  output,
std::size_t  i,
std::size_t  j 
)
pure virtual

◆ evaluate_single_phase_pT_derivative()

virtual double CoolProp::TabularBackend::evaluate_single_phase_pT_derivative ( parameters  output,
std::size_t  i,
std::size_t  j,
std::size_t  Nx,
std::size_t  Ny 
)
pure virtual

◆ evaluate_single_phase_pT_transport()

virtual double CoolProp::TabularBackend::evaluate_single_phase_pT_transport ( parameters  output,
std::size_t  i,
std::size_t  j 
)
pure virtual

◆ find_native_nearest_good_indices()

virtual void CoolProp::TabularBackend::find_native_nearest_good_indices ( SinglePhaseGriddedTableData table,
const std::vector< std::vector< CellCoeffs >> &  coeffs,
double  x,
double  y,
std::size_t &  i,
std::size_t &  j 
)
pure virtual

Ask the derived class to find the nearest good set of i,j that it wants to use (pure virtual)

Implemented in CoolProp::TTSEBackend, and CoolProp::BicubicBackend.

◆ find_nearest_neighbor()

virtual void CoolProp::TabularBackend::find_nearest_neighbor ( SinglePhaseGriddedTableData table,
const std::vector< std::vector< CellCoeffs >> &  coeffs,
const parameters  variable1,
const double  value1,
const parameters  other,
const double  otherval,
std::size_t &  i,
std::size_t &  j 
)
pure virtual

Ask the derived class to find the nearest neighbor (pure virtual)

Implemented in CoolProp::TTSEBackend, and CoolProp::BicubicBackend.

◆ get_mole_fractions()

const std::vector<CoolPropDbl>& CoolProp::TabularBackend::get_mole_fractions ( )
inlinevirtual

Get the mole fractions of the fluid.

Implements CoolProp::AbstractState.

Definition at line 1269 of file TabularBackends.h.

◆ invert_single_phase_x()

virtual void CoolProp::TabularBackend::invert_single_phase_x ( const SinglePhaseGriddedTableData table,
const std::vector< std::vector< CellCoeffs >> &  coeffs,
parameters  output,
double  x,
double  y,
std::size_t  i,
std::size_t  j 
)
pure virtual

◆ invert_single_phase_y()

virtual void CoolProp::TabularBackend::invert_single_phase_y ( const SinglePhaseGriddedTableData table,
const std::vector< std::vector< CellCoeffs >> &  coeffs,
parameters  output,
double  x,
double  y,
std::size_t  i,
std::size_t  j 
)
pure virtual

◆ load_tables()

void CoolProp::TabularBackend::load_tables ( )

Load the tables from file; throws UnableToLoadException if there is a problem.

Definition at line 380 of file TabularBackends.cpp.

◆ pack_matrices()

void CoolProp::TabularBackend::pack_matrices ( )
inline

Definition at line 1287 of file TabularBackends.h.

◆ path_to_tables()

std::string CoolProp::TabularBackend::path_to_tables ( void  )

Returns the path to the tables that shall be written.

Definition at line 351 of file TabularBackends.cpp.

◆ phase_envelope_sat()

CoolPropDbl CoolProp::TabularBackend::phase_envelope_sat ( const PhaseEnvelopeData env,
parameters  output,
parameters  iInput1,
double  value1 
)
inline

Definition at line 1300 of file TabularBackends.h.

◆ recalculate_singlephase_phase()

void CoolProp::TabularBackend::recalculate_singlephase_phase ( )
inline

Definition at line 1171 of file TabularBackends.h.

◆ set_mass_fractions()

void CoolProp::TabularBackend::set_mass_fractions ( const std::vector< CoolPropDbl > &  mass_fractions)
inlinevirtual

Implements CoolProp::AbstractState.

Definition at line 1266 of file TabularBackends.h.

◆ set_mole_fractions()

void CoolProp::TabularBackend::set_mole_fractions ( const std::vector< CoolPropDbl > &  mole_fractions)
inlinevirtual

Implements CoolProp::AbstractState.

Definition at line 1263 of file TabularBackends.h.

◆ update()

void CoolProp::TabularBackend::update ( CoolProp::input_pairs  input_pair,
double  Value1,
double  Value2 
)
virtual

Update the state using two state variables.

Implements CoolProp::AbstractState.

Definition at line 836 of file TabularBackends.cpp.

◆ using_mass_fractions()

bool CoolProp::TabularBackend::using_mass_fractions ( void  )
inlinevirtual

Implements CoolProp::AbstractState.

Definition at line 1256 of file TabularBackends.h.

◆ using_mole_fractions()

bool CoolProp::TabularBackend::using_mole_fractions ( void  )
inlinevirtual

Implements CoolProp::AbstractState.

Definition at line 1253 of file TabularBackends.h.

◆ using_volu_fractions()

bool CoolProp::TabularBackend::using_volu_fractions ( void  )
inlinevirtual

Implements CoolProp::AbstractState.

Definition at line 1259 of file TabularBackends.h.

◆ write_tables()

void CoolProp::TabularBackend::write_tables ( )

Write the tables to file.

Definition at line 366 of file TabularBackends.cpp.

Member Data Documentation

◆ AS

shared_ptr<CoolProp::AbstractState> CoolProp::TabularBackend::AS

Definition at line 1086 of file TabularBackends.h.

◆ cached_saturation_iL

std::size_t CoolProp::TabularBackend::cached_saturation_iL
protected

Definition at line 1076 of file TabularBackends.h.

◆ cached_saturation_iV

std::size_t CoolProp::TabularBackend::cached_saturation_iV
protected

Definition at line 1076 of file TabularBackends.h.

◆ cached_single_phase_i

std::size_t CoolProp::TabularBackend::cached_single_phase_i
protected

Definition at line 1075 of file TabularBackends.h.

◆ cached_single_phase_j

std::size_t CoolProp::TabularBackend::cached_single_phase_j
protected

Definition at line 1075 of file TabularBackends.h.

◆ d2zdx2

std::vector<std::vector<double> > const* CoolProp::TabularBackend::d2zdx2
protected

Definition at line 1080 of file TabularBackends.h.

◆ d2zdxdy

std::vector<std::vector<double> > const* CoolProp::TabularBackend::d2zdxdy
protected

Definition at line 1081 of file TabularBackends.h.

◆ d2zdy2

std::vector<std::vector<double> > const* CoolProp::TabularBackend::d2zdy2
protected

Definition at line 1082 of file TabularBackends.h.

◆ dataset

TabularDataSet* CoolProp::TabularBackend::dataset

Definition at line 1169 of file TabularBackends.h.

◆ dzdx

std::vector<std::vector<double> > const* CoolProp::TabularBackend::dzdx
protected

Definition at line 1078 of file TabularBackends.h.

◆ dzdy

std::vector<std::vector<double> > const* CoolProp::TabularBackend::dzdy
protected

Definition at line 1079 of file TabularBackends.h.

◆ imposed_phase_index

phases CoolProp::TabularBackend::imposed_phase_index
protected

Definition at line 1066 of file TabularBackends.h.

◆ is_mixture

bool CoolProp::TabularBackend::is_mixture
protected

Definition at line 1067 of file TabularBackends.h.

◆ mole_fractions

std::vector<CoolPropDbl> CoolProp::TabularBackend::mole_fractions
protected

Definition at line 1083 of file TabularBackends.h.

◆ selected_table

selected_table_options CoolProp::TabularBackend::selected_table
protected

Definition at line 1074 of file TabularBackends.h.

◆ tables_loaded

bool CoolProp::TabularBackend::tables_loaded
protected

Definition at line 1067 of file TabularBackends.h.

◆ using_single_phase_table

bool CoolProp::TabularBackend::using_single_phase_table
protected

Definition at line 1067 of file TabularBackends.h.

◆ z

std::vector<std::vector<double> > const* CoolProp::TabularBackend::z
protected

Definition at line 1077 of file TabularBackends.h.


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