Cantera 2.6.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 (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
 
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.

Constructor & Destructor Documentation

◆ Substance()

Substance ( )

Definition at line 24 of file Sub.cpp.

◆ ~Substance()

virtual ~Substance ( )
inlinevirtual

Definition at line 42 of file Sub.h.

Member Function Documentation

◆ setStdState()

void setStdState ( double  h0 = 0.0,
double  s0 = 0.0,
double  t0 = 298.15,
double  p0 = 1.01325e5 
)

Definition at line 37 of file Sub.cpp.

◆ MolWt()

virtual double MolWt ( )
pure virtual

Molecular weight [kg/kmol].

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

◆ Tcrit()

virtual double Tcrit ( )
pure virtual

Critical temperature [K].

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

◆ Pcrit()

virtual double Pcrit ( )
pure virtual

Critical pressure [Pa].

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

◆ Vcrit()

virtual double Vcrit ( )
pure virtual

Critical specific volume [m^3/kg].

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

◆ Tmin()

virtual double Tmin ( )
pure virtual

Minimum temperature for which the equation of state is valid.

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

◆ Tmax()

virtual double Tmax ( )
pure virtual

Maximum temperature for which the equation of state is valid.

Implemented in CarbonDioxide, Heptane, HFC134a, hydrogen, methane, nitrogen, 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.

Referenced by CarbonDioxide::Psat().

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

◆ thermalExpansionCoeff()

double thermalExpansionCoeff ( )
virtual

Definition at line 145 of file Sub.cpp.

◆ isothermalCompressibility()

double isothermalCompressibility ( )
virtual

Definition at line 198 of file Sub.cpp.

◆ Ps()

double Ps ( )

Definition at line 498 of file Sub.cpp.

◆ dPsdT()

double dPsdT ( )
virtual

The derivative of the saturation pressure with respect to temperature.

Definition at line 246 of file Sub.cpp.

◆ Tsat()

double Tsat ( double  p)

Saturation temperature at pressure p.

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

Referenced by hydrogen::Psat(), and methane::Psat().

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

◆ Pp()

virtual double Pp ( )
pure virtual

Implemented in CarbonDioxide, and Heptane.

◆ hp()

double hp ( )
inline

Enthaply of a single-phase state.

Definition at line 158 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 163 of file Sub.h.

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

◆ prop()

double prop ( propertyFlag::type  ijob)

Definition at line 736 of file Sub.cpp.

◆ set_TPp()

void set_TPp ( double  t0,
double  p0 
)

set T and P

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

◆ ldens()

virtual double ldens ( )
protectedpure virtual

◆ Psat()

virtual double Psat ( )
protectedpure virtual

Saturation pressure, Pa.

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

◆ up()

virtual double up ( )
protectedpure virtual

Internal energy of a single-phase state.

Implemented in CarbonDioxide, Heptane, 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 CarbonDioxide, Heptane, HFC134a, hydrogen, methane, nitrogen, oxygen, and water.

Referenced by Substance::gp().

◆ ideal()

virtual int ideal ( )
inlineprotectedvirtual

Definition at line 197 of file Sub.h.

◆ vp()

double vp ( )
inlineprotected

Definition at line 201 of file Sub.h.

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

◆ update_sat()

void update_sat ( )
protected

Update saturated liquid and vapor densities and saturation pressure.

Definition at line 508 of file Sub.cpp.

◆ set_Rho()

void set_Rho ( double  r0)
private

Definition at line 470 of file Sub.cpp.

◆ set_T()

void set_T ( double  t0)
private

Definition at line 479 of file Sub.cpp.

◆ set_v()

void set_v ( double  v0)
private

Definition at line 488 of file Sub.cpp.

◆ BracketSlope()

void BracketSlope ( double  p)
private

Definition at line 762 of file Sub.cpp.

◆ vprop()

double vprop ( propertyFlag::type  ijob)
private

Definition at line 572 of file Sub.cpp.

◆ set_xy()

void set_xy ( propertyFlag::type  if1,
propertyFlag::type  if2,
double  X,
double  Y,
double  atx,
double  aty,
double  rtx,
double  rty 
)
private

Definition at line 633 of file Sub.cpp.

Member Data Documentation

◆ T

double T
protected

Definition at line 178 of file Sub.h.

◆ Rho

double Rho
protected

Definition at line 178 of file Sub.h.

◆ Tslast

double Tslast
protected

Definition at line 179 of file Sub.h.

◆ Rhf

double Rhf
protected

Definition at line 179 of file Sub.h.

◆ Rhv

double Rhv
protected

Definition at line 179 of file Sub.h.

◆ Pst

double Pst
protected

Definition at line 180 of file Sub.h.

◆ m_energy_offset

double m_energy_offset
protected

Definition at line 181 of file Sub.h.

◆ m_entropy_offset

double m_entropy_offset
protected

Definition at line 182 of file Sub.h.

◆ m_name

std::string m_name
protected

Definition at line 183 of file Sub.h.

◆ m_formula

std::string m_formula
protected

Definition at line 184 of file Sub.h.

◆ kbr

int kbr
private

Definition at line 222 of file Sub.h.

◆ Vmin

double Vmin
private

Definition at line 223 of file Sub.h.

◆ Vmax

double Vmax
private

Definition at line 223 of file Sub.h.

◆ Pmin

double Pmin
private

Definition at line 224 of file Sub.h.

◆ Pmax

double Pmax
private

Definition at line 224 of file Sub.h.

◆ dvbf

double dvbf
private

Definition at line 225 of file Sub.h.

◆ dv

double dv
private

Definition at line 225 of file Sub.h.

◆ v_here

double v_here
private

Definition at line 226 of file Sub.h.

◆ P_here

double P_here
private

Definition at line 226 of file Sub.h.


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