CoolProp
|
Public Types | |
enum | StationaryPointReturnFlag { ZERO_STATIONARY_POINTS, ONE_STATIONARY_POINT_FOUND, TWO_STATIONARY_POINTS_FOUND } |
Public Member Functions | |
HelmholtzEOSMixtureBackend (const std::vector< CoolPropFluid > &components, bool generate_SatL_and_SatV=true) | |
HelmholtzEOSMixtureBackend (const std::vector< std::string > &component_names, bool generate_SatL_and_SatV=true) | |
virtual HelmholtzEOSMixtureBackend * | get_copy (bool generate_SatL_and_SatV=true) |
void | sync_linked_states (const HelmholtzEOSMixtureBackend *const) |
std::string | backend_name (void) |
Get a string representation of the backend - for instance "HelmholtzEOSMixtureBackend" for the core mixture model in CoolProp. More... | |
bool | clear () |
Clear all the cached values. More... | |
bool | using_mole_fractions () |
bool | using_mass_fractions () |
bool | using_volu_fractions () |
bool | is_pure () |
bool | has_melting_line () |
Return true if the fluid has a melting line - default is false, but can be re-implemented by derived class. | |
CoolPropDbl | calc_melting_line (int param, int given, CoolPropDbl value) |
std::string | fluid_param_string (const std::string &) |
Return a string from the backend for the mixture/fluid. | |
virtual void | set_reference_stateS (const std::string &reference_state) |
brief Set the reference state based on a string representation | |
virtual void | set_reference_stateD (double T, double rhomolar, double hmolar0, double smolar0) |
Set the reference state based on a thermodynamic state point specified by temperature and molar density. More... | |
virtual void | set_binary_interaction_double (const std::size_t i, const std::size_t j, const std::string ¶meter, const double value) |
Set binary mixture floating point parameter. More... | |
virtual double | get_binary_interaction_double (const std::size_t i, const std::size_t j, const std::string ¶meter) |
Get binary mixture double value. More... | |
void | set_binary_interaction_string (const std::size_t i, const std::size_t j, const std::string ¶meter, const std::string &value) |
Set a binary interaction string. More... | |
void | apply_simple_mixing_rule (std::size_t i, std::size_t j, const std::string &model) |
Apply a simple mixing rule. | |
virtual void | set_cubic_alpha_C (const size_t i, const std::string ¶meter, const double c1, const double c2, const double c3) |
Set the cubic alpha function's constants: | |
virtual void | set_fluid_parameter_double (const size_t i, const std::string ¶meter, const double value) |
Set fluid parameter (currently the volume translation parameter for cubic) | |
phases | calc_phase (void) |
Using this backend, calculate the 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. | |
CoolPropDbl | calc_saturation_ancillary (parameters param, int Q, parameters given, double value) |
void | calc_ssat_max (void) |
void | calc_hsat_max (void) |
CoolPropDbl | calc_GWP20 () |
Using this backend, calculate the 20-year global warming potential (GWP) | |
CoolPropDbl | calc_GWP500 () |
Using this backend, calculate the 500-year global warming potential (GWP) | |
CoolPropDbl | calc_GWP100 () |
Using this backend, calculate the 100-year global warming potential (GWP) | |
CoolPropDbl | calc_ODP () |
Using this backend, calculate the ozone depletion potential (ODP) | |
CoolPropDbl | calc_first_saturation_deriv (parameters Of1, parameters Wrt1) |
CoolPropDbl | calc_first_saturation_deriv (parameters Of1, parameters Wrt1, HelmholtzEOSMixtureBackend &SatL, HelmholtzEOSMixtureBackend &SatV) |
CoolPropDbl | calc_second_saturation_deriv (parameters Of1, parameters Wrt1, parameters Wrt2) |
CoolPropDbl | calc_first_two_phase_deriv (parameters Of, parameters Wrt, parameters Constant) |
CoolPropDbl | calc_second_two_phase_deriv (parameters Of, parameters Wrt1, parameters Constant1, parameters Wrt2, parameters Constant2) |
CoolPropDbl | calc_first_two_phase_deriv_splined (parameters Of, parameters Wrt, parameters Constant, CoolPropDbl x_end) |
CriticalState | calc_critical_point (double rho0, double T0) |
std::vector< CoolProp::CriticalState > | calc_all_critical_points () |
An overload to make the compiler (clang in this case) happy. | |
virtual void | get_critical_point_starting_values (double &delta0, double &tau0) |
virtual void | get_critical_point_search_radii (double &R_delta, double &R_tau) |
Get the search radius in delta and tau for the tracer. | |
virtual bool | get_critical_is_terminated (double &delta, double &tau) |
Checking function to see if we should stop the tracing of the critical contour. | |
virtual void | calc_build_spinodal () |
Build the spinodal curve. | |
virtual SpinodalData | calc_get_spinodal_data () |
Get the data from the spinodal curve. | |
void | calc_criticality_contour_values (double &L1star, double &M1star) |
Calculate the values \(\mathcal{L}_1^*\) and \(\mathcal{M}_1^*\). | |
double | calc_tangent_plane_distance (const double T, const double p, const std::vector< double > &w, const double rhomolar_guess) |
Calculate tangent plane distance for given trial composition w. | |
void | recalculate_singlephase_phase () |
Calculate the phase once the state is fully calculated but you aren't sure if it is liquid or gas or ... | |
void | calc_change_EOS (const std::size_t i, const std::string &EOS_name) |
Change the equation of state for one component. | |
const CoolProp::SimpleState & | calc_state (const std::string &state) |
Using this backend, calculate a phase given by the state string. More... | |
virtual const double | get_fluid_constant (std::size_t i, parameters param) const |
Get a constant for one of the fluids forming this mixture. More... | |
const std::vector< CoolPropFluid > & | get_components () const |
std::vector< CoolPropFluid > & | get_components () |
std::vector< CoolPropDbl > & | get_K () |
std::vector< CoolPropDbl > & | get_lnK () |
HelmholtzEOSMixtureBackend & | get_SatL () |
HelmholtzEOSMixtureBackend & | get_SatV () |
std::vector< CoolPropDbl > | calc_mole_fractions_liquid (void) |
std::vector< CoolPropDbl > | calc_mole_fractions_vapor (void) |
const std::vector< CoolPropDbl > | calc_mass_fractions (void) |
const CoolProp::PhaseEnvelopeData & | calc_phase_envelope_data () |
void | calc_conformal_state (const std::string &reference_fluid, CoolPropDbl &T, CoolPropDbl &rhomolar) |
Calculate the conformal state (unity shape factors starting point if T < 0 and rhomolar < 0) | |
void | resize (std::size_t N) |
virtual void | update (CoolProp::input_pairs input_pair, double value1, double value2) |
The standard update function. More... | |
void | update_with_guesses (CoolProp::input_pairs input_pair, double Value1, double Value2, const GuessesStructure &guesses) |
Update the state using guess values. More... | |
void | update_internal (HelmholtzEOSMixtureBackend &HEOS) |
Update all the internal variables for a state by copying from another state. | |
void | update_TP_guessrho (CoolPropDbl T, CoolPropDbl p, CoolPropDbl rho_guess) |
Update with TP and a guess for rho. More... | |
void | update_DmolarT_direct (CoolPropDbl rhomolar, CoolPropDbl T) |
void | update_HmolarQ_with_guessT (CoolPropDbl hmolar, CoolPropDbl Q, CoolPropDbl Tguess) |
virtual void | set_components (const std::vector< CoolPropFluid > &components, bool generate_SatL_and_SatV=true) |
Set the components of the mixture. More... | |
void | set_mixture_parameters () |
Set the mixture parameters - binary pair reducing functions, departure functions, F_ij, etc. | |
void | set_mole_fractions (const std::vector< CoolPropDbl > &mf) |
Set the mole fractions. More... | |
const std::vector< CoolPropDbl > & | get_mole_fractions () |
Get the mole fractions of the fluid. | |
std::vector< CoolPropDbl > & | get_mole_fractions_ref () |
std::vector< double > & | get_mole_fractions_doubleref (void) |
void | set_mass_fractions (const std::vector< CoolPropDbl > &mass_fractions) |
Set the mass fractions. More... | |
void | calc_ideal_curve (const std::string &type, std::vector< double > &T, std::vector< double > &p) |
CoolPropDbl | calc_molar_mass (void) |
Using this backend, calculate the molar mass in kg/mol. | |
CoolPropDbl | calc_gas_constant (void) |
Using this backend, calculate the universal gas constant \(R_u\) in J/mol/K. | |
CoolPropDbl | calc_acentric_factor (void) |
Using this backend, calculate the acentric factor. | |
CoolPropDbl | calc_Bvirial (void) |
Using this backend, calculate the second virial coefficient. | |
CoolPropDbl | calc_Cvirial (void) |
Using this backend, calculate the third virial coefficient. | |
CoolPropDbl | calc_dBvirial_dT (void) |
Using this backend, calculate the derivative dB/dT. | |
CoolPropDbl | calc_dCvirial_dT (void) |
Using this backend, calculate the derivative dC/dT. | |
CoolPropDbl | calc_pressure (void) |
Using this backend, calculate the pressure in Pa. | |
CoolPropDbl | calc_cvmolar (void) |
Using this backend, calculate the molar constant-volume specific heat in J/mol/K. | |
CoolPropDbl | calc_cpmolar (void) |
Using this backend, calculate the molar constant-pressure specific heat in J/mol/K. | |
CoolPropDbl | calc_gibbsmolar (void) |
Using this backend, calculate the molar Gibbs function in J/mol. | |
CoolPropDbl | calc_gibbsmolar_residual (void) |
Using this backend, calculate the residual molar Gibbs function in J/mol. | |
CoolPropDbl | calc_gibbsmolar_nocache (CoolPropDbl T, CoolPropDbl rhomolar) |
CoolPropDbl | calc_helmholtzmolar (void) |
Using this backend, calculate the molar Helmholtz energy in J/mol. | |
CoolPropDbl | calc_cpmolar_idealgas (void) |
Using this backend, calculate the ideal gas molar constant-pressure specific heat in J/mol/K. | |
CoolPropDbl | calc_pressure_nocache (CoolPropDbl T, CoolPropDbl rhomolar) |
CoolPropDbl | calc_smolar (void) |
Using this backend, calculate the molar entropy in J/mol/K. | |
CoolPropDbl | calc_smolar_residual (void) |
Using this backend, calculate the residual molar entropy in J/mol/K. | |
CoolPropDbl | calc_smolar_nocache (CoolPropDbl T, CoolPropDbl rhomolar) |
CoolPropDbl | calc_hmolar (void) |
Using this backend, calculate the molar enthalpy in J/mol. | |
CoolPropDbl | calc_hmolar_residual (void) |
Using this backend, calculate the residual molar enthalpy in J/mol. | |
CoolPropDbl | calc_hmolar_nocache (CoolPropDbl T, CoolPropDbl rhomolar) |
CoolPropDbl | calc_umolar_nocache (CoolPropDbl T, CoolPropDbl rhomolar) |
CoolPropDbl | calc_umolar (void) |
Using this backend, calculate the molar internal energy in J/mol. | |
CoolPropDbl | calc_speed_sound (void) |
Using this backend, calculate the speed of sound in m/s. | |
void | calc_excess_properties () |
Using this backend, calculate and cache the excess properties. | |
CoolPropDbl | calc_phase_identification_parameter (void) |
The phase identification parameter of Venkatarathnam et al., FPE, 2011. More... | |
CoolPropDbl | calc_fugacity (std::size_t i) |
Using this backend, calculate the fugacity in Pa. | |
virtual CoolPropDbl | calc_fugacity_coefficient (std::size_t i) |
Using this backend, calculate the fugacity coefficient (dimensionless) | |
CoolPropDbl | calc_chemical_potential (std::size_t i) |
Using this backend, calculate the chemical potential in J/mol. | |
CoolPropDbl | calc_flame_hazard (void) |
Using this backend, calculate the flame hazard. | |
CoolPropDbl | calc_health_hazard (void) |
Using this backend, calculate the health hazard. | |
CoolPropDbl | calc_physical_hazard (void) |
Using this backend, calculate the physical hazard. | |
CoolPropDbl | calc_alphar (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r\) (dimensionless) | |
CoolPropDbl | calc_dalphar_dDelta (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta}\) (dimensionless) | |
CoolPropDbl | calc_dalphar_dTau (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\tau}\) (dimensionless) | |
CoolPropDbl | calc_d2alphar_dDelta2 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta}\) (dimensionless) | |
CoolPropDbl | calc_d2alphar_dDelta_dTau (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\tau}\) (dimensionless) | |
CoolPropDbl | calc_d2alphar_dTau2 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\tau\tau}\) (dimensionless) | |
CoolPropDbl | calc_d3alphar_dDelta3 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta\delta}\) (dimensionless) | |
CoolPropDbl | calc_d3alphar_dDelta2_dTau (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta\tau}\) (dimensionless) | |
CoolPropDbl | calc_d3alphar_dDelta_dTau2 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\tau\tau}\) (dimensionless) | |
CoolPropDbl | calc_d3alphar_dTau3 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\tau\tau\tau}\) (dimensionless) | |
CoolPropDbl | calc_d4alphar_dDelta4 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta\delta\delta}\) (dimensionless) | |
CoolPropDbl | calc_d4alphar_dDelta3_dTau (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta\delta\tau}\) (dimensionless) | |
CoolPropDbl | calc_d4alphar_dDelta2_dTau2 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta\tau\tau}\) (dimensionless) | |
CoolPropDbl | calc_d4alphar_dDelta_dTau3 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\tau\tau\tau}\) (dimensionless) | |
CoolPropDbl | calc_d4alphar_dTau4 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\tau\tau\tau\tau}\) (dimensionless) | |
CoolPropDbl | calc_alpha0 (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0\) (dimensionless) | |
CoolPropDbl | calc_dalpha0_dDelta (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta}\) (dimensionless) | |
CoolPropDbl | calc_dalpha0_dTau (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\tau}\) (dimensionless) | |
CoolPropDbl | calc_d2alpha0_dDelta2 (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta\tau}\) (dimensionless) | |
CoolPropDbl | calc_d2alpha0_dDelta_dTau (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta\delta}\) (dimensionless) | |
CoolPropDbl | calc_d2alpha0_dTau2 (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\tau\tau}\) (dimensionless) | |
CoolPropDbl | calc_d3alpha0_dDelta3 (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta\delta\delta}\) (dimensionless) | |
CoolPropDbl | calc_d3alpha0_dDelta2_dTau (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta\delta\tau}\) (dimensionless) | |
CoolPropDbl | calc_d3alpha0_dDelta_dTau2 (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta\tau\tau}\) (dimensionless) | |
CoolPropDbl | calc_d3alpha0_dTau3 (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\tau\tau\tau}\) (dimensionless) | |
CoolPropDbl | calc_surface_tension (void) |
Using this backend, calculate the surface tension in N/m. | |
CoolPropDbl | calc_viscosity (void) |
Using this backend, calculate the viscosity in Pa-s. | |
CoolPropDbl | calc_viscosity_dilute (void) |
CoolPropDbl | calc_viscosity_background (void) |
CoolPropDbl | calc_viscosity_background (CoolPropDbl eta_dilute, CoolPropDbl &initial_density, CoolPropDbl &residual) |
CoolPropDbl | calc_conductivity (void) |
Using this backend, calculate the thermal conductivity in W/m/K. | |
CoolPropDbl | calc_conductivity_background (void) |
void | calc_viscosity_contributions (CoolPropDbl &dilute, CoolPropDbl &initial_density, CoolPropDbl &residual, CoolPropDbl &critical) |
Calculate each of the contributions to the viscosity. More... | |
void | calc_conductivity_contributions (CoolPropDbl &dilute, CoolPropDbl &initial_density, CoolPropDbl &residual, CoolPropDbl &critical) |
Calculate each of the contributions to the conductivity. More... | |
CoolPropDbl | calc_saturated_liquid_keyed_output (parameters key) |
CoolPropDbl | calc_saturated_vapor_keyed_output (parameters key) |
CoolPropDbl | calc_Tmin (void) |
Using this backend, calculate the minimum temperature in K. | |
CoolPropDbl | calc_Tmax (void) |
Using this backend, calculate the maximum temperature in K. | |
CoolPropDbl | calc_pmax (void) |
Using this backend, calculate the maximum pressure in Pa. | |
CoolPropDbl | calc_Ttriple (void) |
Using this backend, get the triple point temperature in K. | |
CoolPropDbl | calc_p_triple (void) |
Using this backend, get the triple point pressure in Pa. | |
CoolPropDbl | calc_pmax_sat (void) |
CoolPropDbl | calc_Tmax_sat (void) |
void | calc_Tmin_sat (CoolPropDbl &Tmin_satL, CoolPropDbl &Tmin_satV) |
void | calc_pmin_sat (CoolPropDbl &pmin_satL, CoolPropDbl &pmin_satV) |
virtual CoolPropDbl | calc_T_critical (void) |
Using this backend, get the critical point temperature in K. | |
virtual CoolPropDbl | calc_p_critical (void) |
Using this backend, get the critical point pressure in Pa. | |
virtual CoolPropDbl | calc_rhomolar_critical (void) |
Using this backend, get the critical point molar density in mol/m^3. | |
CoolPropDbl | calc_T_reducing (void) |
Using this backend, get the reducing point temperature in K. | |
CoolPropDbl | calc_rhomolar_reducing (void) |
Using this backend, get the reducing point molar density in mol/m^3. | |
CoolPropDbl | calc_p_reducing (void) |
Using this backend, get the reducing point pressure in Pa. | |
CoolPropDbl | calc_PIP (void) |
Using this backend, calculate the phase identification parameter (PIP) | |
std::string | calc_name (void) |
Using this backend, get the name of the fluid. | |
std::vector< std::string > | calc_fluid_names (void) |
Using this backend, get a vector of fluid names. | |
void | calc_all_alphar_deriv_cache (const std::vector< CoolPropDbl > &mole_fractions, const CoolPropDbl &tau, const CoolPropDbl &delta) |
virtual CoolPropDbl | calc_alphar_deriv_nocache (const int nTau, const int nDelta, const std::vector< CoolPropDbl > &mole_fractions, const CoolPropDbl &tau, const CoolPropDbl &delta) |
CoolPropDbl | calc_alpha0_deriv_nocache (const int nTau, const int nDelta, const std::vector< CoolPropDbl > &mole_fractions, const CoolPropDbl &tau, const CoolPropDbl &delta, const CoolPropDbl &Tr, const CoolPropDbl &rhor) |
Take derivatives of the ideal-gas part of the Helmholtz energy, don't use any cached values, or store any cached values. More... | |
virtual void | calc_reducing_state (void) |
virtual SimpleState | calc_reducing_state_nocache (const std::vector< CoolPropDbl > &mole_fractions) |
const CoolProp::SimpleState & | get_reducing_state () |
Get the state that is used in the equation of state or mixture model to reduce the state. More... | |
void | update_states () |
Update the states after having changed the reference state for enthalpy and entropy. | |
CoolPropDbl | calc_compressibility_factor (void) |
Using this backend, calculate the compressibility factor Z \( Z = p/(\rho R T) \). | |
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. | |
CoolPropDbl | SRK_covolume () |
void | T_phase_determination_pure_or_pseudopure (int other, CoolPropDbl value) |
void | p_phase_determination_pure_or_pseudopure (int other, CoolPropDbl value, bool &saturation_called) |
void | DmolarP_phase_determination () |
virtual CoolPropDbl | solver_rho_Tp (CoolPropDbl T, CoolPropDbl p, CoolPropDbl rho_guess=-1) |
virtual CoolPropDbl | solver_rho_Tp_SRK (CoolPropDbl T, CoolPropDbl p, phases phase) |
virtual StationaryPointReturnFlag | solver_dpdrho0_Tp (CoolPropDbl T, CoolPropDbl p, CoolPropDbl rhomax, CoolPropDbl &light, CoolPropDbl &heavy) |
virtual CoolPropDbl | solver_rho_Tp_global (CoolPropDbl T, CoolPropDbl p, CoolPropDbl rhomax) |
Public Member Functions inherited from CoolProp::AbstractState | |
void | set_T (CoolPropDbl T) |
Set the internal variable T without a flash call (expert use only!) | |
virtual void | set_volu_fractions (const std::vector< CoolPropDbl > &mass_fractions) |
std::vector< CoolPropDbl > | mole_fractions_liquid (void) |
Get the mole fractions of the equilibrium liquid phase. | |
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) | |
std::vector< CoolPropDbl > | mole_fractions_vapor (void) |
Get the mole fractions of the equilibrium vapor phase. | |
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) | |
virtual const std::vector< CoolPropDbl > | get_mass_fractions (void) |
Get the mass fractions of the fluid. | |
virtual bool | available_in_high_level (void) |
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. | |
std::vector< std::string > | fluid_names (void) |
Return a vector of strings of the fluid names that are in use. | |
virtual void | set_binary_interaction_double (const std::string &CAS1, const std::string &CAS2, const std::string ¶meter, const double value) |
Set binary mixture floating point parameter (EXPERT USE ONLY!!!) | |
virtual void | set_binary_interaction_string (const std::string &CAS1, const std::string &CAS2, const std::string ¶meter, const std::string &value) |
Set binary mixture string parameter (EXPERT USE ONLY!!!) | |
virtual double | get_binary_interaction_double (const std::string &CAS1, const std::string &CAS2, const std::string ¶meter) |
Get binary mixture double value (EXPERT USE ONLY!!!) | |
virtual std::string | get_binary_interaction_string (const std::string &CAS1, const std::string &CAS2, const std::string ¶meter) |
Get binary mixture string value (EXPERT USE ONLY!!!) | |
virtual double | get_fluid_parameter_double (const size_t i, const std::string ¶meter) |
Double fluid parameter (currently the volume translation parameter for cubic) | |
virtual bool | clear_comp_change () |
When the composition changes, clear all cached values that are only dependent on composition, but not the thermodynamic state. | |
const CoolProp::SimpleState & | get_state (const std::string &state) |
Get a desired state point - backend dependent. | |
double | Tmin (void) |
Get the minimum temperature in K. | |
double | Tmax (void) |
Get the maximum temperature in K. | |
double | pmax (void) |
Get the maximum pressure in Pa. | |
double | Ttriple (void) |
Get the triple point temperature in K. | |
phases | phase (void) |
Get the phase of the state. | |
void | specify_phase (phases phase) |
Specify the phase for all further calculations with this state class. | |
void | unspecify_phase (void) |
Unspecify the phase and go back to calculating it based on the inputs. | |
double | T_critical (void) |
Return the critical temperature in K. | |
double | p_critical (void) |
Return the critical pressure in Pa. | |
double | rhomolar_critical (void) |
Return the critical molar density in mol/m^3. | |
double | rhomass_critical (void) |
Return the critical mass density in kg/m^3. | |
std::vector< CriticalState > | all_critical_points (void) |
Return the vector of critical points, including points that are unstable or correspond to negative pressure. | |
void | build_spinodal () |
Construct the spinodal curve for the mixture (or pure fluid) | |
SpinodalData | get_spinodal_data () |
Get the data from the spinodal curve constructed in the call to build_spinodal() | |
void | criticality_contour_values (double &L1star, double &M1star) |
Calculate the criticality contour values \(\mathcal{L}_1^*\) and \(\mathcal{M}_1^*\). | |
double | tangent_plane_distance (const double T, const double p, const std::vector< double > &w, const double rhomolar_guess=-1) |
Return the tangent plane distance for a given trial composition w. More... | |
double | T_reducing (void) |
Return the reducing point temperature in K. | |
double | rhomolar_reducing (void) |
Return the molar density at the reducing point in mol/m^3. | |
double | rhomass_reducing (void) |
Return the mass density at the reducing point in kg/m^3. | |
double | p_triple (void) |
Return the triple point pressure in Pa. | |
std::string | name () |
Return the name - backend dependent. | |
std::string | description () |
Return the description - backend dependent. | |
double | dipole_moment () |
Return the dipole moment in C-m (1 D = 3.33564e-30 C-m) | |
double | keyed_output (parameters key) |
Retrieve a value by key. | |
double | trivial_keyed_output (parameters key) |
A trivial keyed output like molar mass that does not depend on the state. | |
double | saturated_liquid_keyed_output (parameters key) |
Get an output from the saturated liquid state by key. | |
double | saturated_vapor_keyed_output (parameters key) |
Get an output from the saturated vapor state by key. | |
double | T (void) |
Return the temperature in K. | |
double | rhomolar (void) |
Return the molar density in mol/m^3. | |
double | rhomass (void) |
Return the mass density in kg/m^3. | |
double | p (void) |
Return the pressure in Pa. | |
double | Q (void) |
Return the vapor quality (mol/mol); Q = 0 for saturated liquid. | |
double | tau (void) |
Return the reciprocal of the reduced temperature ( \(\tau = T_c/T\)) | |
double | delta (void) |
Return the reduced density ( \(\delta = \rho/\rho_c\)) | |
double | molar_mass (void) |
Return the molar mass in kg/mol. | |
double | acentric_factor (void) |
Return the acentric factor. | |
double | gas_constant (void) |
Return the mole-fraction weighted gas constant in J/mol/K. | |
double | Bvirial (void) |
Return the B virial coefficient. | |
double | dBvirial_dT (void) |
Return the derivative of the B virial coefficient with respect to temperature. | |
double | Cvirial (void) |
Return the C virial coefficient. | |
double | dCvirial_dT (void) |
Return the derivative of the C virial coefficient with respect to temperature. | |
double | compressibility_factor (void) |
Return the compressibility factor \( Z = p/(rho R T) \). | |
double | hmolar (void) |
Return the molar enthalpy in J/mol. | |
double | hmolar_residual (void) |
Return the residual molar enthalpy in J/mol. | |
double | hmass (void) |
Return the mass enthalpy in J/kg. | |
double | hmolar_excess (void) |
Return the excess molar enthalpy in J/mol. | |
double | hmass_excess (void) |
Return the excess mass enthalpy in J/kg. | |
double | smolar (void) |
Return the molar entropy in J/mol/K. | |
double | smolar_residual (void) |
Return the residual molar entropy (as a function of temperature and density) in J/mol/K. | |
double | smass (void) |
Return the molar entropy in J/kg/K. | |
double | smolar_excess (void) |
Return the molar entropy in J/mol/K. | |
double | smass_excess (void) |
Return the molar entropy in J/kg/K. | |
double | umolar (void) |
Return the molar internal energy in J/mol. | |
double | umass (void) |
Return the mass internal energy in J/kg. | |
double | umolar_excess (void) |
Return the excess internal energy in J/mol. | |
double | umass_excess (void) |
Return the excess internal energy in J/kg. | |
double | cpmolar (void) |
Return the molar constant pressure specific heat in J/mol/K. | |
double | cpmass (void) |
Return the mass constant pressure specific heat in J/kg/K. | |
double | cp0molar (void) |
Return the molar constant pressure specific heat for ideal gas part only in J/mol/K. | |
double | cp0mass (void) |
Return the mass constant pressure specific heat for ideal gas part only in J/kg/K. | |
double | cvmolar (void) |
Return the molar constant volume specific heat in J/mol/K. | |
double | cvmass (void) |
Return the mass constant volume specific heat in J/kg/K. | |
double | gibbsmolar (void) |
Return the Gibbs energy in J/mol. | |
double | gibbsmolar_residual (void) |
Return the residual Gibbs energy in J/mol. | |
double | gibbsmass (void) |
Return the Gibbs energy in J/kg. | |
double | gibbsmolar_excess (void) |
Return the excess Gibbs energy in J/mol. | |
double | gibbsmass_excess (void) |
Return the excess Gibbs energy in J/kg. | |
double | helmholtzmolar (void) |
Return the Helmholtz energy in J/mol. | |
double | helmholtzmass (void) |
Return the Helmholtz energy in J/kg. | |
double | helmholtzmolar_excess (void) |
Return the excess Helmholtz energy in J/mol. | |
double | helmholtzmass_excess (void) |
Return the excess Helmholtz energy in J/kg. | |
double | volumemolar_excess (void) |
Return the excess volume in m^3/mol. | |
double | volumemass_excess (void) |
Return the excess volume in m^3/kg. | |
double | speed_sound (void) |
Return the speed of sound in m/s. | |
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. | |
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. | |
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\). | |
double | fugacity_coefficient (std::size_t i) |
Return the fugacity coefficient of the i-th component of the mixture. | |
std::vector< double > | fugacity_coefficients () |
Return a vector of the fugacity coefficients for all components in the mixture. | |
double | fugacity (std::size_t i) |
Return the fugacity of the i-th component of the mixture. | |
double | chemical_potential (std::size_t i) |
Return the chemical potential of the i-th component of the mixture. | |
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". | |
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. | |
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::PhaseEnvelopeData & | get_phase_envelope_data () |
After having calculated the phase envelope, return the phase envelope data. | |
double | melting_line (int param, int given, double value) |
Return a value from the melting line. More... | |
double | saturation_ancillary (parameters param, int Q, parameters given, double value) |
Return the value from a saturation ancillary curve (if the backend implements it) More... | |
double | viscosity (void) |
Return the viscosity in Pa-s. | |
void | viscosity_contributions (CoolPropDbl &dilute, CoolPropDbl &initial_density, CoolPropDbl &residual, CoolPropDbl &critical) |
Return the viscosity contributions, each in Pa-s. | |
double | conductivity (void) |
Return the thermal conductivity in W/m/K. | |
void | conductivity_contributions (CoolPropDbl &dilute, CoolPropDbl &initial_density, CoolPropDbl &residual, CoolPropDbl &critical) |
Return the thermal conductivity contributions, each in W/m/K. | |
double | surface_tension (void) |
Return the surface tension in N/m. | |
double | Prandtl (void) |
Return the Prandtl number (dimensionless) | |
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 \). | |
CoolPropDbl | dalpha0_dDelta (void) |
Return the term \( \alpha^0_{\delta} \). | |
CoolPropDbl | dalpha0_dTau (void) |
Return the term \( \alpha^0_{\tau} \). | |
CoolPropDbl | d2alpha0_dDelta2 (void) |
Return the term \( \alpha^0_{\delta\delta} \). | |
CoolPropDbl | d2alpha0_dDelta_dTau (void) |
Return the term \( \alpha^0_{\delta\tau} \). | |
CoolPropDbl | d2alpha0_dTau2 (void) |
Return the term \( \alpha^0_{\tau\tau} \). | |
CoolPropDbl | d3alpha0_dTau3 (void) |
Return the term \( \alpha^0_{\tau\tau\tau} \). | |
CoolPropDbl | d3alpha0_dDelta_dTau2 (void) |
Return the term \( \alpha^0_{\delta\tau\tau} \). | |
CoolPropDbl | d3alpha0_dDelta2_dTau (void) |
Return the term \( \alpha^0_{\delta\delta\tau} \). | |
CoolPropDbl | d3alpha0_dDelta3 (void) |
Return the term \( \alpha^0_{\delta\delta\delta} \). | |
CoolPropDbl | alphar (void) |
Return the term \( \alpha^r \). | |
CoolPropDbl | dalphar_dDelta (void) |
Return the term \( \alpha^r_{\delta} \). | |
CoolPropDbl | dalphar_dTau (void) |
Return the term \( \alpha^r_{\tau} \). | |
CoolPropDbl | d2alphar_dDelta2 (void) |
Return the term \( \alpha^r_{\delta\delta} \). | |
CoolPropDbl | d2alphar_dDelta_dTau (void) |
Return the term \( \alpha^r_{\delta\tau} \). | |
CoolPropDbl | d2alphar_dTau2 (void) |
Return the term \( \alpha^r_{\tau\tau} \). | |
CoolPropDbl | d3alphar_dDelta3 (void) |
Return the term \( \alpha^r_{\delta\delta\delta} \). | |
CoolPropDbl | d3alphar_dDelta2_dTau (void) |
Return the term \( \alpha^r_{\delta\delta\tau} \). | |
CoolPropDbl | d3alphar_dDelta_dTau2 (void) |
Return the term \( \alpha^r_{\delta\tau\tau} \). | |
CoolPropDbl | d3alphar_dTau3 (void) |
Return the term \( \alpha^r_{\tau\tau\tau} \). | |
CoolPropDbl | d4alphar_dDelta4 (void) |
Return the term \( \alpha^r_{\delta\delta\delta\delta} \). | |
CoolPropDbl | d4alphar_dDelta3_dTau (void) |
Return the term \( \alpha^r_{\delta\delta\delta\tau} \). | |
CoolPropDbl | d4alphar_dDelta2_dTau2 (void) |
Return the term \( \alpha^r_{\delta\delta\tau\tau} \). | |
CoolPropDbl | d4alphar_dDelta_dTau3 (void) |
Return the term \( \alpha^r_{\delta\tau\tau\tau} \). | |
CoolPropDbl | d4alphar_dTau4 (void) |
Return the term \( \alpha^r_{\tau\tau\tau\tau} \). | |
Public Attributes | |
shared_ptr< ReducingFunction > | Reducing |
shared_ptr< ResidualHelmholtz > | residual_helmholtz |
PhaseEnvelopeData | PhaseEnvelope |
SimpleState | hsat_max |
SsatSimpleState | ssat_max |
SpinodalData | spinodal_values |
shared_ptr< HelmholtzEOSMixtureBackend > | SatL |
shared_ptr< HelmholtzEOSMixtureBackend > | SatV |
Protected Member Functions | |
void | pre_update (CoolProp::input_pairs &input_pair, CoolPropDbl &value1, CoolPropDbl &value2) |
void | post_update (bool optional_checks=true) |
virtual void | add_TPD_state () |
Update the state class used to calculate the tangent-plane-distance. | |
virtual void | add_critical_state () |
Update the state class used to calculate the critical point(s) | |
virtual void | add_transient_pure_state () |
Update the state class used to calculate the critical point(s) | |
std::vector< CoolProp::CriticalState > | _calc_all_critical_points (bool find_critical_points=true) |
This overload is protected because it doesn't follow the base class definition, since this function is needed for constructing spinodals. | |
Protected Member Functions inherited from CoolProp::AbstractState | |
bool | isSupercriticalPhase (void) |
bool | isHomogeneousPhase (void) |
bool | isTwoPhase (void) |
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. | |
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. | |
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\). | |
virtual std::vector< CoolPropDbl > | calc_fugacity_coefficients () |
Using this backend, calculate the fugacity in Pa. | |
virtual CoolPropDbl | calc_dipole_moment (void) |
Using this backend, calculate the dipole moment in C-m (1 D = 3.33564e-30 C-m) | |
virtual CoolPropDbl | calc_first_partial_deriv (parameters Of, parameters Wrt, parameters Constant) |
Calculate the first partial derivative for the desired derivative. | |
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. | |
virtual CoolPropDbl | calc_reduced_density (void) |
Using this backend, calculate the reduced density (rho/rhoc) | |
virtual CoolPropDbl | calc_reciprocal_reduced_temperature (void) |
Using this backend, calculate the reciprocal reduced temperature (Tc/T) | |
virtual std::string | calc_description (void) |
Using this backend, get the description of the fluid. | |
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. | |
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 CoolPropDbl | calc_fraction_min (void) |
Get the minimum fraction (mole, mass, volume) for incompressible fluid. | |
virtual CoolPropDbl | calc_fraction_max (void) |
Get the maximum fraction (mole, mass, volume) for incompressible fluid. | |
virtual CoolPropDbl | calc_T_freeze (void) |
virtual CoolPropDbl | calc_T (void) |
Using this backend, get the temperature. | |
virtual CoolPropDbl | calc_rhomolar (void) |
Using this backend, get the molar density in mol/m^3. | |
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. | |
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... | |
Static Protected Member Functions | |
static void | set_fluid_enthalpy_entropy_offset (CoolPropFluid &component, double delta_a1, double delta_a2, const std::string &ref) |
Protected Attributes | |
std::vector< shared_ptr< HelmholtzEOSMixtureBackend > > | linked_states |
States that are linked to this one, and should be updated (BIP, reference state, etc.) | |
shared_ptr< HelmholtzEOSMixtureBackend > | transient_pure_state |
A temporary state used for calculations of pure fluid properties. | |
shared_ptr< HelmholtzEOSMixtureBackend > | TPD_state |
A temporary state used for calculations of the tangent-plane-distance. | |
shared_ptr< HelmholtzEOSMixtureBackend > | critical_state |
A temporary state used for calculations of the critical point(s) | |
std::vector< CoolPropFluid > | components |
The components that are in use. | |
bool | is_pure_or_pseudopure |
A flag for whether the substance is a pure or pseudo-pure fluid (true) or a mixture (false) | |
MoleFractions | mole_fractions |
The bulk mole fractions of the mixture. | |
std::vector< CoolPropDbl > | K |
The K factors for the components. | |
std::vector< CoolPropDbl > | lnK |
The natural logarithms of the K factors of the components. | |
SimpleState | _crit |
std::size_t | N |
Number of components. | |
Protected Attributes inherited from CoolProp::AbstractState | |
long | _fluid_type |
Some administrative variables. | |
phases | _phase |
The key for the phase from CoolProp::phases enum. | |
phases | imposed_phase_index |
If the phase is imposed, the imposed phase index. | |
SimpleState | _critical |
Two important points. | |
SimpleState | _reducing |
CachedElement | _molar_mass |
Molar mass [mol/kg]. | |
CachedElement | _gas_constant |
Universal gas constant [J/mol/K]. | |
double | _rhomolar |
Bulk values. | |
double | _T |
double | _p |
double | _Q |
double | _R |
CachedElement | _tau |
CachedElement | _delta |
CachedElement | _viscosity |
Transport properties. | |
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. | |
CachedElement | _smolar_residual |
CachedElement | _gibbsmolar_residual |
CachedElement | _hmolar_excess |
Excess properties. | |
CachedElement | _smolar_excess |
CachedElement | _gibbsmolar_excess |
CachedElement | _umolar_excess |
CachedElement | _volumemolar_excess |
CachedElement | _helmholtzmolar_excess |
CachedElement | _rhoLanc |
Ancillary values. | |
CachedElement | _rhoVanc |
CachedElement | _pLanc |
CachedElement | _pVanc |
CachedElement | _TLanc |
CachedElement | _TVanc |
CachedElement | _fugacity_coefficient |
CachedElement | _rho_spline |
Smoothing values. | |
CachedElement | _drho_spline_dh__constp |
CachedElement | _drho_spline_dp__consth |
CachedElement | _alpha0 |
Cached low-level elements for in-place calculation of other properties. | |
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. | |
CachedElement | _rhoVmolar |
Friends | |
class | FlashRoutines |
class | TransportRoutines |
class | MixtureDerivatives |
class | PhaseEnvelopeRoutines |
class | MixtureParameters |
class | CorrespondingStatesTerm |
Additional Inherited Members | |
Static Public Member Functions inherited from CoolProp::AbstractState | |
static AbstractState * | factory (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 AbstractState * | factory (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... | |
|
inlinevirtual |
Get a string representation of the backend - for instance "HelmholtzEOSMixtureBackend" for the core mixture model in CoolProp.
Must be overloaded by the backend to provide the backend's name
Implements CoolProp::AbstractState.
CoolPropDbl CoolProp::HelmholtzEOSMixtureBackend::calc_alpha0_deriv_nocache | ( | const int | nTau, |
const int | nDelta, | ||
const std::vector< CoolPropDbl > & | mole_fractions, | ||
const CoolPropDbl & | tau, | ||
const CoolPropDbl & | delta, | ||
const CoolPropDbl & | Tr, | ||
const CoolPropDbl & | rhor | ||
) |
Take derivatives of the ideal-gas part of the Helmholtz energy, don't use any cached values, or store any cached values.
nTau | How many derivatives with respect to \(\tau\) to take |
nDelta | How many derivatives with respect to \(\delta\) to take |
mole_fractions | Mole fractions |
tau | Reciprocal reduced temperature where \(\tau=T_r / T\) |
delta | Reduced density where \(\delta = \rho / \rho_r \) |
Tr | Reducing temperature of the mixture [K] |
rhor | Reducing molar density of the mixture [mol/m^3] |
\[ \alpha^0 = \displaystyle\sum_{i=1}^{N}x_i[\alpha^0_{oi}(\rho,T) + \ln x_i] \]
where in this case, we use the \(\alpha^0\) for the given fluid, which uses the inputs \(\tau_i\) and \(\delta_i\), so we do the conversion between mixture and component reduced states with
\[ \tau_i = \frac{T_{c,i}}{T} = \frac{\tau T_{c,i}}{T_r} \]
\[ \delta_i = \frac{\rho}{\rho_{c,i}} = \frac{\delta\rho_r}{\rho_{c,i}} \]
|
virtual |
Calculate each of the contributions to the conductivity.
If the conductivity model is hardcoded or ECS is being used, there will only be one entry in initial_density and all others will be zero
Reimplemented from CoolProp::AbstractState.
CoolProp::CriticalState CoolProp::HelmholtzEOSMixtureBackend::calc_critical_point | ( | double | rho0, |
double | T0 | ||
) |
Not used, for testing purposes
CoolPropDbl CoolProp::HelmholtzEOSMixtureBackend::calc_phase_identification_parameter | ( | void | ) |
The phase identification parameter of Venkatarathnam et al., FPE, 2011.
|
virtual |
Reimplemented from CoolProp::AbstractState.
|
virtual |
param | The key for the parameter to be returned |
Q | The quality for the parameter that is given (0 = saturated liquid, 1 = saturated vapor) |
given | The key for the parameter that is given |
value | The value for the parameter that is given |
Reimplemented from CoolProp::AbstractState.
|
inlinevirtual |
Specify the phase - this phase will always be used in calculations.
phase_index | The index from CoolProp::phases |
Reimplemented from CoolProp::AbstractState.
|
virtual |
Using this backend, calculate a phase given by the state string.
state | A string that describes the state desired, one of "hs_anchor", "critical"/"crit", "reducing" |
Reimplemented from CoolProp::AbstractState.
|
virtual |
Calculate each of the contributions to the viscosity.
If the viscosity model is hardcoded or ECS is being used, there will only be one entry in critical and all others will be zero
Reimplemented from CoolProp::AbstractState.
|
inlinevirtual |
Clear all the cached values.
Ancillary curve values
Bulk values
Smoothing values
Cached low-level elements for in-place calculation of other properties
Two-Phase variables
Transport properties
Reimplemented from CoolProp::AbstractState.
|
virtual |
Get binary mixture double value.
Get binary mixture floating point parameter for this instance.
Reimplemented from CoolProp::AbstractState.
Reimplemented in CoolProp::AbstractCubicBackend, and CoolProp::VTPRBackend.
|
inlinevirtual |
Get a constant for one of the fluids forming this mixture.
i | Index (0-based) of the fluid |
param | parameter you want to obtain (probably one that is a trivial parameter) |
Reimplemented from CoolProp::AbstractState.
Reimplemented in CoolProp::AbstractCubicBackend.
|
inlinevirtual |
Get the state that is used in the equation of state or mixture model to reduce the state.
For pure fluids this is usually, but not always, the critical point. For mixture models, it is usually composition dependent
Reimplemented from CoolProp::AbstractState.
|
virtual |
Set binary mixture floating point parameter.
Set binary mixture floating point parameter for this instance.
Also set the parameters in the managed pointers for other states
Reimplemented from CoolProp::AbstractState.
Reimplemented in CoolProp::AbstractCubicBackend, and CoolProp::VTPRBackend.
|
virtual |
Set a binary interaction string.
Set binary mixture floating point parameter for this instance.
Also set the parameters in the managed pointers for other states
Reimplemented from CoolProp::AbstractState.
|
virtual |
Set the components of the mixture.
components | The components that are to be used in this mixture |
generate_SatL_and_SatV | true if SatL and SatV classes should be added, false otherwise. Added so that saturation classes can be added without infinite recursion of adding saturation classes |
|
virtual |
Set the mass fractions.
mass_fractions | The vector of mass fractions of the components |
Implements CoolProp::AbstractState.
|
virtual |
Set the mole fractions.
mole_fractions | The vector of mole fractions of the components |
Implements CoolProp::AbstractState.
|
virtual |
Set the reference state based on a thermodynamic state point specified by temperature and molar density.
T | Temperature at reference state [K] |
rhomolar | Molar density at reference state [mol/m^3] |
hmolar0 | Molar enthalpy at reference state [J/mol] |
smolar0 | Molar entropy at reference state [J/mol/K] |
Reimplemented from CoolProp::AbstractState.
|
virtual |
The residual to be used to find the location where dpdrho=0 for given T
|
virtual |
The standard update function.
input_pair | The pair of inputs that will be provided |
value1 | The first input value |
value2 | The second input value |
Implements CoolProp::AbstractState.
Reimplemented in CoolProp::AbstractCubicBackend.
void CoolProp::HelmholtzEOSMixtureBackend::update_TP_guessrho | ( | CoolPropDbl | T, |
CoolPropDbl | p, | ||
CoolPropDbl | rho_guess | ||
) |
Update with TP and a guess for rho.
T | Temperature in K |
p | Pressure in Pa |
rho_guess | Density in mol/m^3 guessed |
|
virtual |
Update the state using guess values.
Reimplemented from CoolProp::AbstractState.