of standard states and the specification of activities independent of each other. PDSS Behavior ------------------------- PDSS is an object that carries out and reports on the evaluation of the pressure dependent standard state of a single species in a mixture. VPSSMgr Point of View -------------------------------------- This is the calculator for the standard states. From The Point of View of the ThermoPhase Function --------------------------------------------------------- At the VPStandardStateTP object, the ThermoPhase object is enriched to include a new object called VPSSMgr. VPSSMgr is a base class that is responsible for calculating the standard states of all of the species in the mixture. It is analogous to the SpeciesThermo virtual base class, which handles all of the reference state calculations for a class. The VPSSMgr class usurps all calculations. There are PDSS objects for each species. VPStandardStateTP contains a vector of pointers to PDSS, of length nSpecies in the phase. It owns the list. VPSSMgr also contains the same vector of pointers to PDSS, of length nSpecies in the phase. VPSSMgr is a methods class. It organizes how to calculate the SS values efficiently. It may also have specific rules for how to handle the pressure dependence (i.e., there will be a specific class for ideal gases). The VPSSMgr organizes when to update the internal states of the PDSS objects. The determination of which VPSSMgr virtual class to use with which phase is determined by the phase itself. It know which method to use. setState Treatment with Temperature and Pressure ------------------------------------------------------ The VPStandardStateTP object always has the current value of T and P held within it. It determines when T and P have changed. If it determines that T or P has changed, it calls VPSSMgr so that VPSSMgr may update its internal states. VPSSMgr contains the current T and P, also, separately. If it determines that T or P has changed, it recalculates its own internal state. PDSS Object point of View ----------------------------------------- During the evaluation of the phase thermodynamics, the PDSS object may be called to evaluate the (T,P) Standard State and RefState information. The PDSS object may or may not own the reference state calculation. If it doesn't own the calculation, the ThermoPhase object owns the calculation through its m_spthermo object. Then the PDSS objects uses pointers into the m_spthermo object to satisfy its requirement to supply (T,P) ss information. It may own or surplant the reference state calculation. For example, for waterPDSS, there is no specific reference state calculation, since the regular temperature polynomial process is ignored (except to set the basis state). The reference state functions are evaluated the same as other standard state functions. If PDSS owns the calculation of the reference state thermo, then the m_spthermo pointer within the PDSS object is zero. It does it's own reference state calculation. If PDSS uses the SpeciesThermo object to calculate the reference state, it needs to know whether the SpeciesThermo object calculations are current. It checks this. If it is, then it retrieves the result from storage in VPSSMgr object. If it isn't, then it recalculates the results. PDSS has its own storage for the current state of T and P. |
||
|---|---|---|
| .. | ||
| clib | ||
| cxx | ||
| fortran | ||
| lib | ||
| matlab | ||
| python | ||
| src | ||
| user | ||
| .cvsignore | ||
| cmake_install.cmake | ||
| CMakeLists.txt | ||
| Makefile.in | ||
| README.txt | ||
This directory contains the source for Cantera and its various
language interfaces.
clib - the library of C-callable functions used by the Python and
Matlab interfaces.
cxx - files that are only required for C++ application programs.
matlab - the Cantera Matlab toolbox
python - the Cantera Python package
src - the Cantera kernel, used by Cantera in all its forms