CoolProp
6.6.1dev
An open-source fluid property and humid air property database
|
Definition at line 32 of file CubicBackend.h.
#include <CubicBackend.h>
Public Member Functions | |
void | setup (bool generate_SatL_and_SatV=true) |
Set the pointer to the residual helmholtz class, etc. More... | |
void | set_alpha_from_components () |
Set the alpha function based on the alpha function defined in the components vector;. More... | |
void | set_alpha0_from_components () |
Set the non-dimensionalized Helmholtz energy based on the fluids defined in the components vector. More... | |
shared_ptr< AbstractCubic > & | get_cubic () |
Get a reference to the shared pointer managing the generalized cubic class. More... | |
std::vector< std::string > | calc_fluid_names (void) |
Using this backend, get a vector of fluid names. More... | |
bool | using_mole_fractions (void) |
bool | using_mass_fractions (void) |
bool | using_volu_fractions (void) |
void | set_mass_fractions (const std::vector< CoolPropDbl > &mass_fractions) |
void | set_volu_fractions (const std::vector< CoolPropDbl > &volu_fractions) |
const std::vector< CoolPropDbl > & | get_mole_fractions (void) |
Get the mole fractions of the fluid. More... | |
const double | get_fluid_constant (std::size_t i, parameters param) const |
std::string | fluid_param_string (const std::string &) |
Return a string from the backend for the mixture/fluid. More... | |
CoolPropDbl | calc_gas_constant (void) |
Calculate the gas constant in J/mol/K. More... | |
SimpleState | calc_reducing_state_nocache (const std::vector< CoolPropDbl > &mole_fractions) |
Get the reducing state to be used. More... | |
CoolPropDbl | calc_reduced_density (void) |
Using this backend, calculate the reduced density (rho/rhoc) More... | |
CoolPropDbl | calc_reciprocal_reduced_temperature (void) |
Using this backend, calculate the reciprocal reduced temperature (Tc/T) More... | |
std::vector< double > | spinodal_densities () |
CoolPropDbl | calc_T_critical (void) |
Using this backend, get the critical point temperature in K. More... | |
CoolPropDbl | calc_p_critical (void) |
Using this backend, get the critical point pressure in Pa. More... | |
CoolPropDbl | calc_acentric_factor (void) |
Using this backend, calculate the acentric factor. More... | |
CoolPropDbl | calc_rhomolar_critical (void) |
Using this backend, get the critical point molar density in mol/m^3. More... | |
void | get_linear_reducing_parameters (double &rhomolar, double &T) |
Get linear mole fraction weighting of the critical molar volumes and temperatures these are used in te. More... | |
void | get_critical_point_starting_values (double &delta0, double &tau0) |
Get the the starting values for the critical point evaluation routines. More... | |
void | get_critical_point_search_radii (double &R_delta, double &R_tau) |
Get the search radius in delta and tau for the tracer, scaled appropriately for cubic. More... | |
bool | get_critical_is_terminated (double &delta, double &tau) |
Checking function to see if we should stop the tracing of the critical contour. More... | |
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_pressure_nocache (CoolPropDbl T, CoolPropDbl rhomolar) |
Calculate the pressure in most computationally efficient manner. More... | |
virtual void | update_DmolarT () |
Update the state for DT inputs if phase is imposed. Otherwise delegate to base class. More... | |
virtual void | update (CoolProp::input_pairs input_pair, double value1, double value2) |
The standard update function. More... | |
void | rho_Tp_cubic (CoolPropDbl T, CoolPropDbl p, int &Nsolns, double &rho0, double &rho1, double &rho2) |
CoolPropDbl | solver_rho_Tp_SRK (CoolPropDbl T, CoolPropDbl p, phases phase) |
In this class, we are already doing cubic evaluation, just delegate to our function. More... | |
CoolPropDbl | solver_rho_Tp (CoolPropDbl T, CoolPropDbl p, CoolPropDbl rho_guess=-1) |
CoolPropDbl | solver_rho_Tp_global (CoolPropDbl T, CoolPropDbl p, CoolPropDbl rhomax) |
void | update_TPD_state () |
Update the state used to calculate the tangent-plane-distance. More... | |
void | saturation (CoolProp::input_pairs inputs) |
Cubic backend flashes for PQ, and QT. More... | |
CoolPropDbl | calc_molar_mass (void) |
Using this backend, calculate the molar mass in kg/mol. More... | |
void | set_binary_interaction_double (const std::size_t i1, const std::size_t i2, const std::string ¶meter, const double value) |
Set binary mixture floating point parameter. More... | |
double | get_binary_interaction_double (const std::size_t i1, const std::size_t i2, const std::string ¶meter) |
Get binary mixture double value. More... | |
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!!!) More... | |
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!!!) More... | |
virtual HelmholtzEOSMixtureBackend * | get_copy (bool generate_SatL_and_SatV=true)=0 |
void | copy_k (AbstractCubicBackend *donor) |
void | copy_all_alpha_functions (AbstractCubicBackend *donor) |
void | copy_internals (AbstractCubicBackend &donor) |
Copy the internals from another class into this one (kij, alpha functions, cp0 functions, etc.) More... | |
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: More... | |
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) More... | |
double | get_fluid_parameter_double (const size_t i, const std::string ¶meter) |
Double fluid parameter (currently the volume translation parameter for cubic) More... | |
Public Member Functions inherited from CoolProp::HelmholtzEOSMixtureBackend | |
HelmholtzEOSMixtureBackend () | |
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) | |
void | sync_linked_states (const HelmholtzEOSMixtureBackend *const) |
virtual | ~HelmholtzEOSMixtureBackend () |
std::string | backend_name (void) |
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. More... | |
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. More... | |
virtual void | set_reference_stateS (const std::string &reference_state) |
brief Set the reference state based on a string representation More... | |
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... | |
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. More... | |
phases | calc_phase (void) |
Using this backend, calculate the phase. More... | |
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... | |
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) More... | |
CoolPropDbl | calc_GWP500 () |
Using this backend, calculate the 500-year global warming potential (GWP) More... | |
CoolPropDbl | calc_GWP100 () |
Using this backend, calculate the 100-year global warming potential (GWP) More... | |
CoolPropDbl | calc_ODP () |
Using this backend, calculate the ozone depletion potential (ODP) More... | |
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. More... | |
virtual void | calc_build_spinodal () |
Build the spinodal curve. More... | |
virtual SpinodalData | calc_get_spinodal_data () |
Get the data from the spinodal curve. More... | |
void | calc_criticality_contour_values (double &L1star, double &M1star) |
Calculate the values \(\mathcal{L}_1^*\) and \(\mathcal{M}_1^*\). More... | |
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. More... | |
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 ... More... | |
void | calc_change_EOS (const std::size_t i, const std::string &EOS_name) |
Change the equation of state for one component. More... | |
const CoolProp::SimpleState & | calc_state (const std::string &state) |
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) More... | |
void | resize (std::size_t N) |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
CoolPropDbl | calc_gas_constant (void) |
Using this backend, calculate the universal gas constant \(R_u\) in J/mol/K. More... | |
CoolPropDbl | calc_acentric_factor (void) |
Using this backend, calculate the acentric factor. More... | |
CoolPropDbl | calc_Bvirial (void) |
Using this backend, calculate the second virial coefficient. More... | |
CoolPropDbl | calc_Cvirial (void) |
Using this backend, calculate the third virial coefficient. More... | |
CoolPropDbl | calc_dBvirial_dT (void) |
Using this backend, calculate the derivative dB/dT. More... | |
CoolPropDbl | calc_dCvirial_dT (void) |
Using this backend, calculate the derivative dC/dT. More... | |
CoolPropDbl | calc_pressure (void) |
Using this backend, calculate the pressure in Pa. More... | |
CoolPropDbl | calc_cvmolar (void) |
Using this backend, calculate the molar constant-volume specific heat in J/mol/K. More... | |
CoolPropDbl | calc_cpmolar (void) |
Using this backend, calculate the molar constant-pressure specific heat in J/mol/K. More... | |
CoolPropDbl | calc_gibbsmolar (void) |
Using this backend, calculate the molar Gibbs function in J/mol. More... | |
CoolPropDbl | calc_gibbsmolar_residual (void) |
Using this backend, calculate the residual molar Gibbs function in J/mol. More... | |
CoolPropDbl | calc_gibbsmolar_nocache (CoolPropDbl T, CoolPropDbl rhomolar) |
CoolPropDbl | calc_helmholtzmolar (void) |
Using this backend, calculate the molar Helmholtz energy in J/mol. More... | |
CoolPropDbl | calc_cpmolar_idealgas (void) |
Using this backend, calculate the ideal gas molar constant-pressure specific heat in J/mol/K. More... | |
CoolPropDbl | calc_pressure_nocache (CoolPropDbl T, CoolPropDbl rhomolar) |
CoolPropDbl | calc_smolar (void) |
Using this backend, calculate the molar entropy in J/mol/K. More... | |
CoolPropDbl | calc_smolar_residual (void) |
Using this backend, calculate the residual molar entropy in J/mol/K. More... | |
CoolPropDbl | calc_smolar_nocache (CoolPropDbl T, CoolPropDbl rhomolar) |
CoolPropDbl | calc_hmolar (void) |
Using this backend, calculate the molar enthalpy in J/mol. More... | |
CoolPropDbl | calc_hmolar_residual (void) |
Using this backend, calculate the residual molar enthalpy in J/mol. More... | |
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. More... | |
CoolPropDbl | calc_speed_sound (void) |
Using this backend, calculate the speed of sound in m/s. More... | |
void | calc_excess_properties () |
Using this backend, calculate and cache the excess properties. More... | |
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. More... | |
virtual CoolPropDbl | calc_fugacity_coefficient (std::size_t i) |
Using this backend, calculate the fugacity coefficient (dimensionless) More... | |
CoolPropDbl | calc_chemical_potential (std::size_t i) |
Using this backend, calculate the chemical potential in J/mol. More... | |
CoolPropDbl | calc_flame_hazard (void) |
Using this backend, calculate the flame hazard. More... | |
CoolPropDbl | calc_health_hazard (void) |
Using this backend, calculate the health hazard. More... | |
CoolPropDbl | calc_physical_hazard (void) |
Using this backend, calculate the physical hazard. More... | |
CoolPropDbl | calc_alphar (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r\) (dimensionless) More... | |
CoolPropDbl | calc_dalphar_dDelta (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta}\) (dimensionless) More... | |
CoolPropDbl | calc_dalphar_dTau (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\tau}\) (dimensionless) More... | |
CoolPropDbl | calc_d2alphar_dDelta2 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta}\) (dimensionless) More... | |
CoolPropDbl | calc_d2alphar_dDelta_dTau (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\tau}\) (dimensionless) More... | |
CoolPropDbl | calc_d2alphar_dTau2 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\tau\tau}\) (dimensionless) More... | |
CoolPropDbl | calc_d3alphar_dDelta3 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta\delta}\) (dimensionless) More... | |
CoolPropDbl | calc_d3alphar_dDelta2_dTau (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta\tau}\) (dimensionless) More... | |
CoolPropDbl | calc_d3alphar_dDelta_dTau2 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\tau\tau}\) (dimensionless) More... | |
CoolPropDbl | calc_d3alphar_dTau3 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\tau\tau\tau}\) (dimensionless) More... | |
CoolPropDbl | calc_d4alphar_dDelta4 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta\delta\delta}\) (dimensionless) More... | |
CoolPropDbl | calc_d4alphar_dDelta3_dTau (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta\delta\tau}\) (dimensionless) More... | |
CoolPropDbl | calc_d4alphar_dDelta2_dTau2 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\delta\tau\tau}\) (dimensionless) More... | |
CoolPropDbl | calc_d4alphar_dDelta_dTau3 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\delta\tau\tau\tau}\) (dimensionless) More... | |
CoolPropDbl | calc_d4alphar_dTau4 (void) |
Using this backend, calculate the residual Helmholtz energy term \(\alpha^r_{\tau\tau\tau\tau}\) (dimensionless) More... | |
CoolPropDbl | calc_alpha0 (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0\) (dimensionless) More... | |
CoolPropDbl | calc_dalpha0_dDelta (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta}\) (dimensionless) More... | |
CoolPropDbl | calc_dalpha0_dTau (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\tau}\) (dimensionless) More... | |
CoolPropDbl | calc_d2alpha0_dDelta2 (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta\tau}\) (dimensionless) More... | |
CoolPropDbl | calc_d2alpha0_dDelta_dTau (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta\delta}\) (dimensionless) More... | |
CoolPropDbl | calc_d2alpha0_dTau2 (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\tau\tau}\) (dimensionless) More... | |
CoolPropDbl | calc_d3alpha0_dDelta3 (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta\delta\delta}\) (dimensionless) More... | |
CoolPropDbl | calc_d3alpha0_dDelta2_dTau (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta\delta\tau}\) (dimensionless) More... | |
CoolPropDbl | calc_d3alpha0_dDelta_dTau2 (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\delta\tau\tau}\) (dimensionless) More... | |
CoolPropDbl | calc_d3alpha0_dTau3 (void) |
Using this backend, calculate the ideal-gas Helmholtz energy term \(\alpha^0_{\tau\tau\tau}\) (dimensionless) More... | |
CoolPropDbl | calc_surface_tension (void) |
Using this backend, calculate the surface tension in N/m. More... | |
CoolPropDbl | calc_viscosity (void) |
Using this backend, calculate the viscosity in Pa-s. More... | |
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. More... | |
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. More... | |
CoolPropDbl | calc_Tmax (void) |
Using this backend, calculate the maximum temperature in K. More... | |
CoolPropDbl | calc_pmax (void) |
Using this backend, calculate the maximum pressure in Pa. 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_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) |
CoolPropDbl | calc_T_reducing (void) |
Using this backend, get the reducing point temperature in K. More... | |
CoolPropDbl | calc_rhomolar_reducing (void) |
Using this backend, get the reducing point molar density in mol/m^3. More... | |
CoolPropDbl | calc_p_reducing (void) |
Using this backend, get the reducing point pressure in Pa. More... | |
CoolPropDbl | calc_PIP (void) |
Using this backend, calculate the phase identification parameter (PIP) More... | |
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 | calc_all_alphar_deriv_cache (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) |
const CoolProp::SimpleState & | get_reducing_state () |
void | update_states () |
Update the states after having changed the reference state for enthalpy and entropy. More... | |
CoolPropDbl | calc_compressibility_factor (void) |
Using this backend, calculate the compressibility factor Z \( Z = p/(\rho R T) \). More... | |
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... | |
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 StationaryPointReturnFlag | solver_dpdrho0_Tp (CoolPropDbl T, CoolPropDbl p, CoolPropDbl rhomax, CoolPropDbl &light, CoolPropDbl &heavy) |
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... | |
std::vector< CoolPropDbl > | mole_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< CoolPropDbl > | mole_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< CoolPropDbl > | get_mass_fractions (void) |
Get the mass fractions of the fluid. More... | |
virtual bool | available_in_high_level (void) |
std::vector< std::string > | fluid_names (void) |
Return a vector of strings of the fluid names that are in use. More... | |
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!!!) More... | |
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!!!) 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... | |
const CoolProp::SimpleState & | get_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< CriticalState > | all_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::PhaseEnvelopeData & | get_phase_envelope_data () |
After having calculated the phase envelope, return the phase envelope data. 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... | |
Additional Inherited Members | |
Public Types inherited from CoolProp::HelmholtzEOSMixtureBackend | |
enum | StationaryPointReturnFlag { ZERO_STATIONARY_POINTS , ONE_STATIONARY_POINT_FOUND , TWO_STATIONARY_POINTS_FOUND } |
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... | |
Public Attributes inherited from CoolProp::HelmholtzEOSMixtureBackend | |
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 inherited from CoolProp::HelmholtzEOSMixtureBackend | |
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. More... | |
virtual void | add_critical_state () |
Update the state class used to calculate the critical point(s) More... | |
virtual void | add_transient_pure_state () |
Update the state class used to calculate the critical point(s) More... | |
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. More... | |
Protected Member Functions inherited from CoolProp::AbstractState | |
bool | isSupercriticalPhase (void) |
bool | isHomogeneousPhase (void) |
bool | isTwoPhase (void) |
virtual CoolPropDbl | calc_neff (void) |
Using this backend, calculate effective hardness of interaction. 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 std::vector< CoolPropDbl > | calc_fugacity_coefficients () |
Using this backend, calculate the fugacity in Pa. 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_first_partial_deriv (parameters Of, parameters Wrt, parameters Constant) |
Calculate the first partial derivative for the desired derivative. 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 std::string | calc_description (void) |
Using this backend, get the description of the fluid. 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_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. 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_T (void) |
Using this backend, get the temperature. More... | |
virtual CoolPropDbl | calc_rhomolar (void) |
Using this backend, get the molar density in mol/m^3. 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 | 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 inherited from CoolProp::HelmholtzEOSMixtureBackend | |
static void | set_fluid_enthalpy_entropy_offset (CoolPropFluid &component, double delta_a1, double delta_a2, const std::string &ref) |
|
inlinevirtual |
Using this backend, calculate the acentric factor.
Reimplemented from CoolProp::AbstractState.
Definition at line 134 of file CubicBackend.h.
|
virtual |
Reimplemented from CoolProp::HelmholtzEOSMixtureBackend.
Definition at line 210 of file CubicBackend.cpp.
|
virtual |
Using this backend, get a vector of fluid names.
Reimplemented from CoolProp::AbstractState.
Reimplemented in CoolProp::VTPRBackend.
Definition at line 127 of file CubicBackend.cpp.
|
inlinevirtual |
Calculate the gas constant in J/mol/K.
Reimplemented from CoolProp::AbstractState.
Definition at line 102 of file CubicBackend.h.
|
virtual |
Using this backend, calculate the molar mass in kg/mol.
Reimplemented from CoolProp::AbstractState.
Reimplemented in CoolProp::VTPRBackend.
Definition at line 579 of file CubicBackend.cpp.
|
inlinevirtual |
Using this backend, get the critical point pressure in Pa.
Reimplemented from CoolProp::HelmholtzEOSMixtureBackend.
Definition at line 127 of file CubicBackend.h.
CoolPropDbl CoolProp::AbstractCubicBackend::calc_pressure_nocache | ( | CoolPropDbl | T, |
CoolPropDbl | rhomolar | ||
) |
Calculate the pressure in most computationally efficient manner.
Definition at line 192 of file CubicBackend.cpp.
|
inlinevirtual |
Using this backend, calculate the reciprocal reduced temperature (Tc/T)
Reimplemented from CoolProp::AbstractState.
Definition at line 115 of file CubicBackend.h.
|
inlinevirtual |
Using this backend, calculate the reduced density (rho/rhoc)
Reimplemented from CoolProp::AbstractState.
Definition at line 112 of file CubicBackend.h.
|
inlinevirtual |
Get the reducing state to be used.
Reimplemented from CoolProp::HelmholtzEOSMixtureBackend.
Definition at line 106 of file CubicBackend.h.
|
inlinevirtual |
Using this backend, get the critical point molar density in mol/m^3.
Reimplemented from CoolProp::HelmholtzEOSMixtureBackend.
Definition at line 141 of file CubicBackend.h.
|
inlinevirtual |
Using this backend, get the critical point temperature in K.
Reimplemented from CoolProp::HelmholtzEOSMixtureBackend.
Definition at line 120 of file CubicBackend.h.
void CoolProp::AbstractCubicBackend::copy_all_alpha_functions | ( | AbstractCubicBackend * | donor | ) |
Definition at line 626 of file CubicBackend.cpp.
void CoolProp::AbstractCubicBackend::copy_internals | ( | AbstractCubicBackend & | donor | ) |
Copy the internals from another class into this one (kij, alpha functions, cp0 functions, etc.)
Definition at line 642 of file CubicBackend.cpp.
void CoolProp::AbstractCubicBackend::copy_k | ( | AbstractCubicBackend * | donor | ) |
Definition at line 634 of file CubicBackend.cpp.
|
virtual |
Return a string from the backend for the mixture/fluid.
Reimplemented from CoolProp::AbstractState.
Definition at line 87 of file CubicBackend.cpp.
|
virtual |
Get binary mixture double value.
Get binary mixture floating point parameter for this instance.
Reimplemented from CoolProp::HelmholtzEOSMixtureBackend.
Reimplemented in CoolProp::VTPRBackend.
Definition at line 608 of file CubicBackend.cpp.
|
inlinevirtual |
Get binary mixture double value (EXPERT USE ONLY!!!)
Reimplemented from CoolProp::AbstractState.
Definition at line 228 of file CubicBackend.h.
|
pure virtual |
Reimplemented from CoolProp::HelmholtzEOSMixtureBackend.
Implemented in CoolProp::VTPRBackend, CoolProp::PengRobinsonBackend, and CoolProp::SRKBackend.
|
virtual |
Checking function to see if we should stop the tracing of the critical contour.
Reimplemented from CoolProp::HelmholtzEOSMixtureBackend.
Definition at line 161 of file CubicBackend.cpp.
|
virtual |
Get the search radius in delta and tau for the tracer, scaled appropriately for cubic.
Reimplemented from CoolProp::HelmholtzEOSMixtureBackend.
Definition at line 150 of file CubicBackend.cpp.
|
virtual |
Get the the starting values for the critical point evaluation routines.
Reimplemented from CoolProp::HelmholtzEOSMixtureBackend.
Definition at line 171 of file CubicBackend.cpp.
|
inline |
Get a reference to the shared pointer managing the generalized cubic class.
Definition at line 48 of file CubicBackend.h.
|
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::HelmholtzEOSMixtureBackend.
Definition at line 74 of file CubicBackend.h.
|
virtual |
Double fluid parameter (currently the volume translation parameter for cubic)
Reimplemented from CoolProp::AbstractState.
Definition at line 697 of file CubicBackend.cpp.
void CoolProp::AbstractCubicBackend::get_linear_reducing_parameters | ( | double & | rhomolar, |
double & | T | ||
) |
Get linear mole fraction weighting of the critical molar volumes and temperatures these are used in te.
Definition at line 135 of file CubicBackend.cpp.
|
inlinevirtual |
Get the mole fractions of the fluid.
Implements CoolProp::AbstractState.
Definition at line 70 of file CubicBackend.h.
void CoolProp::AbstractCubicBackend::rho_Tp_cubic | ( | CoolPropDbl | T, |
CoolPropDbl | p, | ||
int & | Nsolns, | ||
double & | rho0, | ||
double & | rho1, | ||
double & | rho2 | ||
) |
Use the cubic EOS to solve for density
\[ \left[ \begin{array}{l} Z^3 \\ +Z^2[B(\Delta_1+\Delta_2-1)-1] +Z[A-B(\Delta_1+\Delta_2)-B^2(\Delta_1+\Delta_2-\Delta_1\Delta_2)] +[-AB-\Delta_1\Delta2(-B^2-B^3)] \right] \]
with
\[ A = \frac{ap}{R^2T^2} \]
\[ B = \frac{bp}{RT} \]
Sympy code: R,T,v,b,a,Delta_1,Delta_2,p,Z,A,B = symbols('R,T,v,b,a,Delta_1,Delta_2,p,Z,A,B') eqn = (R*T/(v-b)-a/(v+Delta_1*b)/(v+Delta_2*b)-p).subs(v,Z*R*T/p) eqn2 = eqn*(R*T*Z/p-b)*(R*T*Z/p+Delta_2*b)*(R*T*Z/p+Delta_1*b)/(R**3*T**3/p**2) collect(expand(factor(-eqn2)),Z).subs(b*p/(R*T),B).subs(a*p/(R**2*T**2),A)
Definition at line 337 of file CubicBackend.cpp.
void CoolProp::AbstractCubicBackend::saturation | ( | CoolProp::input_pairs | inputs | ) |
Cubic backend flashes for PQ, and QT.
Definition at line 447 of file CubicBackend.cpp.
void CoolProp::AbstractCubicBackend::set_alpha0_from_components | ( | ) |
Set the non-dimensionalized Helmholtz energy based on the fluids defined in the components vector.
Definition at line 69 of file CubicBackend.cpp.
void CoolProp::AbstractCubicBackend::set_alpha_from_components | ( | ) |
Set the alpha function based on the alpha function defined in the components vector;.
If components is not present, you are using a vanilla cubic, so don't do anything
Definition at line 45 of file CubicBackend.cpp.
|
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::HelmholtzEOSMixtureBackend.
Reimplemented in CoolProp::VTPRBackend.
Definition at line 587 of file CubicBackend.cpp.
|
inlinevirtual |
Set binary mixture floating point parameter (EXPERT USE ONLY!!!)
Reimplemented from CoolProp::AbstractState.
Definition at line 225 of file CubicBackend.h.
|
virtual |
Set the cubic alpha function's constants:
Reimplemented from CoolProp::HelmholtzEOSMixtureBackend.
Definition at line 656 of file CubicBackend.cpp.
|
virtual |
Set fluid parameter (currently the volume translation parameter for cubic)
Reimplemented from CoolProp::HelmholtzEOSMixtureBackend.
Definition at line 675 of file CubicBackend.cpp.
|
inlinevirtual |
Implements CoolProp::AbstractState.
Definition at line 64 of file CubicBackend.h.
|
inlinevirtual |
Reimplemented from CoolProp::AbstractState.
Definition at line 67 of file CubicBackend.h.
void CoolProp::AbstractCubicBackend::setup | ( | bool | generate_SatL_and_SatV = true | ) |
Set the pointer to the residual helmholtz class, etc.
Definition at line 6 of file CubicBackend.cpp.
|
virtual |
/brief Solve for rho = f(T,p)
You can often get three solutions, to overcome this problem you must either specify the phase, or provide a reasonable guess value for rho_guess, but not both
Reimplemented from CoolProp::HelmholtzEOSMixtureBackend.
Definition at line 514 of file CubicBackend.cpp.
|
virtual |
Reimplemented from CoolProp::HelmholtzEOSMixtureBackend.
Definition at line 510 of file CubicBackend.cpp.
|
inlinevirtual |
In this class, we are already doing cubic evaluation, just delegate to our function.
Reimplemented from CoolProp::HelmholtzEOSMixtureBackend.
Definition at line 200 of file CubicBackend.h.
std::vector< double > CoolProp::AbstractCubicBackend::spinodal_densities | ( | ) |
Definition at line 411 of file CubicBackend.cpp.
|
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 |
Reimplemented from CoolProp::HelmholtzEOSMixtureBackend.
Definition at line 283 of file CubicBackend.cpp.
|
virtual |
Update the state for DT inputs if phase is imposed. Otherwise delegate to base class.
Definition at line 198 of file CubicBackend.cpp.
|
inline |
Update the state used to calculate the tangent-plane-distance.
Definition at line 213 of file CubicBackend.h.
|
inlinevirtual |
Implements CoolProp::AbstractState.
Definition at line 57 of file CubicBackend.h.
|
inlinevirtual |
Implements CoolProp::AbstractState.
Definition at line 54 of file CubicBackend.h.
|
inlinevirtual |
Implements CoolProp::AbstractState.
Definition at line 60 of file CubicBackend.h.
|
protected |
The components that are in use.
Definition at line 36 of file CubicBackend.h.
|
protected |
Definition at line 35 of file CubicBackend.h.