Cantera  2.3.0
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
Substance Class Referenceabstract

#include <Sub.h>

Inheritance diagram for Substance:
[legend]

Public Member Functions

void setStdState (double h0=0.0, double s0=0.0, double t0=298.15, double p0=1.01325e5)
 
virtual double Pp ()=0
 
double hp ()
 Enthaply of a single-phase state. More...
 
double gp ()
 Gibbs function of a single-phase state. More...
 
double prop (propertyFlag::type ijob)
 
void set_TPp (double t0, double p0)
 set T and P More...
 
void Set (PropertyPair::type XY, double x0, double y0)
 Function to set or change the state for a property pair XY where x0 is the value of first property and y0 is the value of the second property. More...
 
Information about a substance
virtual double MolWt ()=0
 Molecular weight [kg/kmol]. More...
 
virtual double Tcrit ()=0
 Critical temperature [K]. More...
 
virtual double Pcrit ()=0
 Critical pressure [Pa]. More...
 
virtual double Vcrit ()=0
 Critical specific volume [m^3/kg]. More...
 
virtual double Tmin ()=0
 Minimum temperature for which the equation of state is valid. More...
 
virtual double Tmax ()=0
 Maximum temperature for which the equation of state is valid. More...
 
const char * name ()
 Name of the substance. More...
 
const char * formula ()
 Chemical formula for the substance. More...
 
Properties
double P ()
 Pressure [Pa]. More...
 
double Temp ()
 Temperature [K]. More...
 
double v ()
 Specific volume [m^3/kg]. More...
 
double u ()
 Internal energy [J/kg]. More...
 
double h ()
 Enthalpy [J/kg]. More...
 
double s ()
 Entropy [J/kg/K]. More...
 
double f ()
 Helmholtz function [J/kg]. More...
 
double g ()
 Gibbs function [J/kg]. More...
 
virtual double cv ()
 Specific heat at constant volume [J/kg/K]. More...
 
virtual double cp ()
 Specific heat at constant pressure [J/kg/K]. More...
 
virtual double thermalExpansionCoeff ()
 
virtual double isothermalCompressibility ()
 
Saturation Properties
double Ps ()
 
virtual double dPsdT ()
 The derivative of the saturation pressure with respect to temperature. More...
 
double Tsat (double p)
 Saturation temperature at pressure p. More...
 
double x ()
 Vapor mass fraction. More...
 
int TwoPhase ()
 Returns 1 if the current state is a liquid/vapor mixture, 0 otherwise. More...
 

Protected Member Functions

virtual double ldens ()=0
 
virtual double Psat ()=0
 Saturation pressure, Pa. More...
 
virtual double up ()=0
 Internal energy of a single-phase state. More...
 
virtual double sp ()=0
 Entropy of a single-phase state. More...
 
virtual int ideal ()
 
double vp ()
 
int Lever (int itp, double sat, double val, propertyFlag::type ifunc)
 Uses the lever rule to set state in the dome. More...
 
void update_sat ()
 Update saturated liquid and vapor densities and saturation pressure. More...
 

Protected Attributes

double T
 
double Rho
 
double Tslast
 
double Rhf
 
double Rhv
 
double Pst
 
double m_energy_offset
 
double m_entropy_offset
 
std::string m_name
 
std::string m_formula
 

Private Member Functions

void set_Rho (double r0)
 
void set_T (double t0)
 
void set_v (double v0)
 
void BracketSlope (double p)
 
double vprop (propertyFlag::type ijob)
 
void set_xy (propertyFlag::type if1, propertyFlag::type if2, double X, double Y, double atx, double aty, double rtx, double rty)
 

Private Attributes

int kbr
 
double Vmin
 
double Vmax
 
double Pmin
 
double Pmax
 
double dvbf
 
double dv
 
double v_here
 
double P_here
 

Detailed Description

Base class from which all pure substances are derived

Definition at line 37 of file Sub.h.

Member Function Documentation

◆ MolWt()

virtual double MolWt ( )
pure virtual

Molecular weight [kg/kmol].

Implemented in RedlichKwong, leekesler, HFC134a, CarbonDioxide, hydrogen, methane, nitrogen, Heptane, oxygen, and water.

◆ Tcrit()

virtual double Tcrit ( )
pure virtual

Critical temperature [K].

Implemented in RedlichKwong, leekesler, HFC134a, CarbonDioxide, hydrogen, methane, nitrogen, Heptane, oxygen, and water.

◆ Pcrit()

virtual double Pcrit ( )
pure virtual

Critical pressure [Pa].

Implemented in RedlichKwong, leekesler, HFC134a, CarbonDioxide, hydrogen, methane, nitrogen, Heptane, oxygen, and water.

◆ Vcrit()

virtual double Vcrit ( )
pure virtual

Critical specific volume [m^3/kg].

Implemented in RedlichKwong, leekesler, HFC134a, CarbonDioxide, hydrogen, methane, nitrogen, Heptane, oxygen, and water.

◆ Tmin()

virtual double Tmin ( )
pure virtual

Minimum temperature for which the equation of state is valid.

Implemented in RedlichKwong, leekesler, HFC134a, CarbonDioxide, hydrogen, methane, nitrogen, Heptane, oxygen, and water.

◆ Tmax()

virtual double Tmax ( )
pure virtual

Maximum temperature for which the equation of state is valid.

Implemented in RedlichKwong, leekesler, HFC134a, CarbonDioxide, hydrogen, methane, nitrogen, Heptane, oxygen, and water.

◆ name()

const char* name ( )
inline

Name of the substance.

Definition at line 69 of file Sub.h.

◆ formula()

const char* formula ( )
inline

Chemical formula for the substance.

Definition at line 74 of file Sub.h.

◆ P()

double P ( )

Pressure [Pa].

If two phases are present, return the saturation pressure; otherwise return the pressure computed directly from the underlying eos.

Definition at line 48 of file Sub.cpp.

◆ Temp()

double Temp ( )
inline

Temperature [K].

Definition at line 89 of file Sub.h.

◆ v()

double v ( )
inline

Specific volume [m^3/kg].

Definition at line 94 of file Sub.h.

◆ u()

double u ( )
inline

Internal energy [J/kg].

Definition at line 99 of file Sub.h.

Referenced by Substance::f().

◆ h()

double h ( )
inline

Enthalpy [J/kg].

Definition at line 104 of file Sub.h.

Referenced by Substance::g().

◆ s()

double s ( )
inline

Entropy [J/kg/K].

Definition at line 109 of file Sub.h.

Referenced by Substance::f(), and Substance::g().

◆ f()

double f ( )
inline

Helmholtz function [J/kg].

Definition at line 114 of file Sub.h.

References Substance::s(), and Substance::u().

◆ g()

double g ( )
inline

Gibbs function [J/kg].

Definition at line 119 of file Sub.h.

References Substance::h(), and Substance::s().

◆ cv()

double cv ( )
virtual

Specific heat at constant volume [J/kg/K].

Definition at line 55 of file Sub.cpp.

◆ cp()

double cp ( )
virtual

Specific heat at constant pressure [J/kg/K].

Definition at line 86 of file Sub.cpp.

◆ dPsdT()

double dPsdT ( )
virtual

The derivative of the saturation pressure with respect to temperature.

Definition at line 198 of file Sub.cpp.

◆ Tsat()

double Tsat ( double  p)

Saturation temperature at pressure p.

Definition at line 235 of file Sub.cpp.

◆ x()

double x ( )

Vapor mass fraction.

If T >= Tcrit, 0 is returned for v < Vcrit, and 1 is returned if v > Vcrit.

Definition at line 217 of file Sub.cpp.

◆ TwoPhase()

int TwoPhase ( )

Returns 1 if the current state is a liquid/vapor mixture, 0 otherwise.

Definition at line 208 of file Sub.cpp.

◆ hp()

double hp ( )
inline

Enthaply of a single-phase state.

Definition at line 156 of file Sub.h.

References Substance::up().

Referenced by Substance::gp().

◆ gp()

double gp ( )
inline

Gibbs function of a single-phase state.

Definition at line 161 of file Sub.h.

References Substance::hp(), and Substance::sp().

◆ set_TPp()

void set_TPp ( double  t0,
double  p0 
)

set T and P

Definition at line 718 of file Sub.cpp.

◆ Set()

void Set ( PropertyPair::type  XY,
double  x0,
double  y0 
)

Function to set or change the state for a property pair XY where x0 is the value of first property and y0 is the value of the second property.

Definition at line 285 of file Sub.cpp.

◆ Psat()

virtual double Psat ( )
protectedpure virtual

Saturation pressure, Pa.

Implemented in RedlichKwong, CarbonDioxide, Heptane, HFC134a, leekesler, hydrogen, methane, nitrogen, oxygen, and water.

◆ up()

virtual double up ( )
protectedpure virtual

Internal energy of a single-phase state.

Implemented in RedlichKwong, CarbonDioxide, Heptane, leekesler, HFC134a, hydrogen, methane, nitrogen, oxygen, and water.

Referenced by Substance::hp().

◆ sp()

virtual double sp ( )
protectedpure virtual

Entropy of a single-phase state.

Implemented in RedlichKwong, CarbonDioxide, Heptane, leekesler, HFC134a, hydrogen, methane, nitrogen, oxygen, and water.

Referenced by Substance::gp().

◆ Lever()

int Lever ( int  itp,
double  sat,
double  val,
propertyFlag::type  ifunc 
)
protected

Uses the lever rule to set state in the dome.

Returns 1 if in dome, 0 if not, in which case state not set.

Definition at line 527 of file Sub.cpp.

◆ update_sat()

void update_sat ( )
protected

Update saturated liquid and vapor densities and saturation pressure.

Definition at line 441 of file Sub.cpp.


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