Cantera  3.1.0a1
Substance Class Referenceabstract

Base class from which all pure substances are derived. More...

#include <Sub.h>

Inheritance diagram for Substance:
[legend]

Detailed Description

Base class from which all pure substances are derived.

Definition at line 36 of file Sub.h.

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 ()
 Enthalpy 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 (bool strict=false)
 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 = Undef
 
double Rho = Undef
 
double Tslast = Undef
 
double Rhf = Undef
 
double Rhv = Undef
 
double Pst = Undef
 
double m_energy_offset = 0.0
 
double m_entropy_offset = 0.0
 
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 = 0
 
double Vmin
 
double Vmax
 
double Pmin
 
double Pmax
 
double dvbf
 
double dv
 
double v_here
 
double P_here
 

Member Function Documentation

◆ MolWt()

virtual double MolWt ( )
pure virtual

Molecular weight [kg/kmol].

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

◆ Tcrit()

virtual double Tcrit ( )
pure virtual

Critical temperature [K].

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

◆ Pcrit()

virtual double Pcrit ( )
pure virtual

Critical pressure [Pa].

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

◆ Vcrit()

virtual double Vcrit ( )
pure virtual

Critical specific volume [m^3/kg].

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

◆ Tmin()

virtual double Tmin ( )
pure virtual

Minimum temperature for which the equation of state is valid.

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

◆ Tmax()

virtual double Tmax ( )
pure virtual

Maximum temperature for which the equation of state is valid.

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

◆ name()

const char* name ( )
inline

Name of the substance.

Definition at line 68 of file Sub.h.

◆ formula()

const char* formula ( )
inline

Chemical formula for the substance.

Definition at line 73 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 35 of file Sub.cpp.

◆ Temp()

double Temp ( )
inline

Temperature [K].

Definition at line 88 of file Sub.h.

◆ v()

double v ( )
inline

Specific volume [m^3/kg].

Definition at line 93 of file Sub.h.

◆ u()

double u ( )
inline

Internal energy [J/kg].

Definition at line 98 of file Sub.h.

◆ h()

double h ( )
inline

Enthalpy [J/kg].

Definition at line 103 of file Sub.h.

◆ s()

double s ( )
inline

Entropy [J/kg/K].

Definition at line 108 of file Sub.h.

◆ f()

double f ( )
inline

Helmholtz function [J/kg].

Definition at line 113 of file Sub.h.

◆ g()

double g ( )
inline

Gibbs function [J/kg].

Definition at line 118 of file Sub.h.

◆ cv()

double cv ( )
virtual

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

Definition at line 42 of file Sub.cpp.

◆ cp()

double cp ( )
virtual

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

Definition at line 80 of file Sub.cpp.

◆ dPsdT()

double dPsdT ( )
virtual

The derivative of the saturation pressure with respect to temperature.

Definition at line 233 of file Sub.cpp.

◆ Tsat()

double Tsat ( double  p)

Saturation temperature at pressure p.

Definition at line 280 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 262 of file Sub.cpp.

◆ TwoPhase()

int TwoPhase ( bool  strict = false)

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

By default, saturated vapor and saturated liquid are included; setting the flag strict to true will exclude the boundaries.

Definition at line 250 of file Sub.cpp.

◆ hp()

double hp ( )
inline

Enthalpy of a single-phase state.

Definition at line 157 of file Sub.h.

◆ gp()

double gp ( )
inline

Gibbs function of a single-phase state.

Definition at line 162 of file Sub.h.

◆ set_TPp()

void set_TPp ( double  t0,
double  p0 
)

set T and P

Definition at line 768 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 333 of file Sub.cpp.

◆ Psat()

virtual double Psat ( )
protectedpure virtual

Saturation pressure, Pa.

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

◆ up()

virtual double up ( )
protectedpure virtual

Internal energy of a single-phase state.

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

◆ sp()

virtual double sp ( )
protectedpure virtual

Entropy of a single-phase state.

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

◆ 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 577 of file Sub.cpp.

◆ update_sat()

void update_sat ( )
protected

Update saturated liquid and vapor densities and saturation pressure.

Definition at line 495 of file Sub.cpp.


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