Added PureFluid to the new Python module
This commit is contained in:
parent
2bd25f52b4
commit
622eed7b75
6 changed files with 84 additions and 0 deletions
|
|
@ -1,4 +1,5 @@
|
|||
from ._cantera import *
|
||||
from .liquidvapor import *
|
||||
|
||||
import os as _os
|
||||
addDirectory(_os.path.join(_os.path.dirname(__file__), 'data'))
|
||||
|
|
|
|||
|
|
@ -34,6 +34,19 @@ cdef extern from "cantera/thermo/ThermoPhase.h" namespace "Cantera":
|
|||
int nSpecies()
|
||||
XML_Node& xml()
|
||||
|
||||
# PureFluid properties
|
||||
double critTemperature() except +
|
||||
double critPressure() except +
|
||||
double critDensity() except +
|
||||
|
||||
double satTemperature(double P) except +
|
||||
double satPressure(double T) except +
|
||||
double vaporFraction() except +
|
||||
|
||||
void setState_Tsat(double T, double x) except +
|
||||
void setState_Psat(double P, double x) except +
|
||||
|
||||
|
||||
cdef extern from "cantera/thermo/IdealGasPhase.h":
|
||||
cdef cppclass CxxIdealGasPhase "Cantera::IdealGasPhase"
|
||||
|
||||
|
|
|
|||
25
interfaces/cython/cantera/liquidvapor.py
Normal file
25
interfaces/cython/cantera/liquidvapor.py
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
from . import PureFluid
|
||||
|
||||
def Water():
|
||||
return PureFluid('liquidvapor.xml','water')
|
||||
|
||||
def Nitrogen():
|
||||
return PureFluid('liquidvapor.xml','nitrogen')
|
||||
|
||||
def Methane():
|
||||
return PureFluid('liquidvapor.xml','methane')
|
||||
|
||||
def Hydrogen():
|
||||
return PureFluid('liquidvapor.xml','hydrogen')
|
||||
|
||||
def Oxygen():
|
||||
return PureFluid('liquidvapor.xml','oxygen')
|
||||
|
||||
def Hfc134a():
|
||||
return PureFluid('liquidvapor.xml','hfc134a')
|
||||
|
||||
def CarbonDioxide():
|
||||
return PureFluid('liquidvapor.xml','carbondioxide')
|
||||
|
||||
def Heptane():
|
||||
return PureFluid('liquidvapor.xml','heptane')
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
from .test_thermo import *
|
||||
from .test_purefluid import *
|
||||
from .test_kinetics import *
|
||||
from .test_transport import *
|
||||
from .test_mixture import *
|
||||
|
|
|
|||
20
interfaces/cython/cantera/test/test_purefluid.py
Normal file
20
interfaces/cython/cantera/test/test_purefluid.py
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
import cantera as ct
|
||||
from . import utilities
|
||||
|
||||
class TestPureFluid(utilities.CanteraTest):
|
||||
def setUp(self):
|
||||
self.water = ct.Water()
|
||||
|
||||
def test_critProperties(self):
|
||||
self.assertNear(self.water.critPressure, 22.089e6)
|
||||
self.assertNear(self.water.critTemperature, 647.286)
|
||||
self.assertNear(self.water.critDensity, 317.0)
|
||||
|
||||
def test_setState(self):
|
||||
self.water._setState_Psat(101325, 0.5)
|
||||
self.assertNear(self.water.pressure, 101325)
|
||||
self.assertNear(self.water.vaporFraction, 0.5)
|
||||
|
||||
self.water._setState_Tsat(500, 0.8)
|
||||
self.assertNear(self.water.temperature, 500)
|
||||
self.assertNear(self.water.vaporFraction, 0.8)
|
||||
|
|
@ -36,3 +36,27 @@ cdef class InterfacePhase(ThermoPhase):
|
|||
return self.surf.siteDensity()
|
||||
def __set__(self, double value):
|
||||
self.surf.setSiteDensity(value)
|
||||
|
||||
|
||||
cdef class PureFluid(ThermoPhase):
|
||||
property critTemperature:
|
||||
def __get__(self):
|
||||
return self.thermo.critTemperature()
|
||||
|
||||
property critPressure:
|
||||
def __get__(self):
|
||||
return self.thermo.critPressure()
|
||||
|
||||
property critDensity:
|
||||
def __get__(self):
|
||||
return self.thermo.critDensity()
|
||||
|
||||
property vaporFraction:
|
||||
def __get__(self):
|
||||
return self.thermo.vaporFraction()
|
||||
|
||||
def _setState_Psat(self, double P, double x):
|
||||
self.thermo.setState_Psat(P, x)
|
||||
|
||||
def _setState_Tsat(self, double T, double x):
|
||||
self.thermo.setState_Tsat(T, x)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue