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 | ( |  | ) |
| inline virtual

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 | ( |  | ) |
| protected pure virtual

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

## ◆ Psat()

virtual double Psat | ( |  | ) |
| protected pure virtual

Saturation pressure, Pa.

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

## ◆ up()

virtual double up | ( |  | ) |
| protected pure 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 | ( |  | ) |
| protected pure 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 | ( |  | ) |
| inline protected virtual

Definition at line 197 of file Sub.h.

## ◆ vp()

double vp | ( |  | ) |
| inline protected

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:

- Sub.h
- Sub.cpp