cantera/Cantera/python/Cantera/Transport.py
2003-07-04 06:37:42 +00:00

90 lines
2.8 KiB
Python
Executable file

import _cantera
from Numeric import asarray
class Transport:
"""Transport property manager. In most cases, this class is used
as a base class to provide transport properties, and is not
instantiated directly.
A transport property manager is responsible for computing transport
properties.
"""
def __init__(self, xml_phase=None,
phase=None, model = "", loglevel=0):
"""Create a transport property manager.
xml_phase --- XML phase element
phase --- ThermoPhase instance representing phase transport
properties are for
model --- transport model
loglevel --- controls amount of diagnostic output
"""
self._phase = phase
if model == "" or model == "Default":
try:
self.model = xml_phase.child('transport')['model']
except:
self.model = ""
else:
self.model = model
self.__tr_id = 0
self.__tr_id = _cantera.Transport(self.model,
phase._phase_id, loglevel)
self.trnsp = phase.nSpecies()
self._models = {}
self._models[self.model] = self.__tr_id
def __del__(self):
try:
_cantera.tran_delete(self.__tr_id)
except:
pass
def setTransportModel(self, model):
if self._models.has_key(model):
self.__tr_id = self._models[model]
else:
self.__tr_id = _cantera.Transport(model,
self._phase._phase_id, 0)
self.model = model
def desc(self):
if self.model == 'Multi':
return 'Multicomponent'
elif self.model == 'Mix':
return 'Mixture-averaged'
else:
return 'Unknown'
def transport_id(self):
return self.__tr_id
def viscosity(self):
return _cantera.tran_viscosity(self.__tr_id)
def thermalConductivity(self):
return _cantera.tran_thermalConductivity(self.__tr_id)
def thermalDiffCoeffs(self):
return _cantera.tran_thermalDiffCoeffs(self.__tr_id,
self.trnsp)
def binaryDiffCoeffs(self):
return _cantera.tran_binaryDiffCoeffs(self.__tr_id,
self.trnsp)
def mixDiffCoeffs(self):
return _cantera.tran_mixDiffCoeffs(self.__tr_id,
self.trnsp)
def multiDiffCoeffs(self):
return _cantera.tran_multiDiffCoeffs(self.__tr_id,
self.trnsp)
def setParameters(self, type, k, params):
return _cantera.tran_setParameters(self.__tr_id,
type, k, asarray(params))