Cantera  2.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 40 of file Sub.h.

Member Function Documentation

virtual double MolWt ( )
pure virtual

Molecular weight [kg/kmol].

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

Referenced by PureFluidPhase::initThermo().

virtual double Tcrit ( )
pure virtual

Critical temperature [K].

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

Referenced by PureFluidPhase::critTemperature().

virtual double Pcrit ( )
pure virtual

Critical pressure [Pa].

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

Referenced by PureFluidPhase::critPressure(), and PureFluidPhase::initThermo().

virtual double Vcrit ( )
pure virtual

Critical specific volume [m^3/kg].

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

Referenced by PureFluidPhase::critDensity().

virtual double Tmin ( )
pure virtual

Minimum temperature for which the equation of state is valid.

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

Referenced by Substance::cp(), and Substance::cv().

virtual double Tmax ( )
pure virtual

Maximum temperature for which the equation of state is valid.

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

Referenced by Substance::cp(), and Substance::cv().

const char* name ( )
inline

Name of the substance.

Definition at line 80 of file Sub.h.

const char* formula ( )
inline

Chemical formula for the substance.

Definition at line 85 of file Sub.h.

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

Referenced by Substance::cp(), PureFluidPhase::initThermo(), and PureFluidPhase::pressure().

double Temp ( )
inline
double v ( )
inline
double u ( )
inline

Internal energy [J/kg].

Definition at line 110 of file Sub.h.

Referenced by Substance::f(), and PureFluidPhase::intEnergy_mole().

double h ( )
inline

Enthalpy [J/kg].

Definition at line 115 of file Sub.h.

Referenced by PureFluidPhase::enthalpy_mole(), and Substance::g().

double s ( )
inline

Entropy [J/kg/K].

Definition at line 120 of file Sub.h.

Referenced by Substance::cp(), Substance::cv(), PureFluidPhase::entropy_mole(), Substance::f(), and Substance::g().

double f ( )
inline

Helmholtz function [J/kg].

Definition at line 125 of file Sub.h.

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

double g ( )
inline

Gibbs function [J/kg].

Definition at line 130 of file Sub.h.

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

Referenced by PureFluidPhase::gibbs_mole().

virtual double cv ( )
inlinevirtual

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

Definition at line 135 of file Sub.h.

References Substance::s(), Substance::Tmax(), and Substance::Tmin().

Referenced by PureFluidPhase::cv_mole().

virtual double cp ( )
inlinevirtual

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

Definition at line 148 of file Sub.h.

References Substance::P(), Substance::s(), Substance::Set(), Substance::Tmax(), and Substance::Tmin().

Referenced by PureFluidPhase::cp_mole().

double dPsdT ( )
virtual

The derivative of the saturation pressure with respect to temperature.

Definition at line 40 of file Sub.cpp.

double Tsat ( double  p)

Saturation temperature at pressure p.

Definition at line 77 of file Sub.cpp.

Referenced by PureFluidPhase::satTemperature().

double x ( )

Vapor mass fraction.

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

Definition at line 59 of file Sub.cpp.

Referenced by PureFluidPhase::vaporFraction().

int TwoPhase ( )

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

Definition at line 50 of file Sub.cpp.

double hp ( )
inline

Enthaply of a single-phase state.

Definition at line 207 of file Sub.h.

References Substance::up().

Referenced by Substance::gp().

double gp ( )
inline

Gibbs function of a single-phase state.

Definition at line 212 of file Sub.h.

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

void set_TPp ( double  t0,
double  p0 
)

set T and P

Definition at line 580 of file Sub.cpp.

References Cantera::fp2str().

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

References Cantera::fp2str().

Referenced by Substance::cp(), PureFluidPhase::initThermo(), and PureFluidPhase::Set().

virtual double Psat ( )
protectedpure virtual

Saturation pressure, Pa.

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

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().

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().

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

void update_sat ( )
protected

Update saturated liquid and vapor densities and saturation pressure.

Definition at line 297 of file Sub.cpp.

References Cantera::fp2str().


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