1 //! @file vcs_species_thermo.h 2 3 // This file is part of Cantera. See License.txt in the top-level directory or 4 // at https://cantera.org/license.txt for license and copyright information. 5 6 #ifndef VCS_SPECIES_THERMO_H 7 #define VCS_SPECIES_THERMO_H 8 9 #include "cantera/equil/vcs_defs.h" 10 11 namespace Cantera 12 { 13 14 class vcs_VolPhase; 15 16 // Models for the species standard state Naught temperature dependence 17 #define VCS_SS0_NOTHANDLED -1 18 #define VCS_SS0_CONSTANT 0 19 //#define VCS_SS0_NASA_POLY 1 20 #define VCS_SS0_CONSTANT_CP 2 21 22 // Models for the species standard state extra pressure dependence 23 #define VCS_SSSTAR_NOTHANDLED -1 24 #define VCS_SSSTAR_CONSTANT 0 25 #define VCS_SSSTAR_IDEAL_GAS 1 26 27 /*! 28 * Identifies the thermo model for the species. This structure is shared by 29 * volumetric and surface species. However, each will have its own types of 30 * thermodynamic models. These quantities all have appropriate units. 31 */ 32 class VCS_SPECIES_THERMO 33 { 34 /* 35 * All objects are public for ease of development 36 */ 37 public: 38 //! Index of the phase that this species belongs to. 39 size_t IndexPhase; 40 41 //! Index of this species in the current phase. 42 size_t IndexSpeciesPhase; 43 44 //! Pointer to the owning phase object. 45 vcs_VolPhase* OwningPhase; 46 47 //! Integer representing the models for the species standard state Naught 48 //! temperature dependence. They are listed above and start with VCS_SS0_... 49 int SS0_Model; 50 51 //! Internal storage of the last calculation of the reference naught Gibbs 52 //! free energy at SS0_TSave. (always in units of Kelvin) 53 double SS0_feSave; 54 55 //! Internal storage of the last temperature used in the calculation of the 56 //! reference naught Gibbs free energy. units = kelvin 57 double SS0_TSave; 58 59 //! Base temperature used in the VCS_SS0_CONSTANT_CP model 60 double SS0_T0; 61 62 //! Base enthalpy used in the VCS_SS0_CONSTANT_CP model 63 double SS0_H0; 64 65 //! Base entropy used in the VCS_SS0_CONSTANT_CP model 66 double SS0_S0; 67 68 //! Base heat capacity used in the VCS_SS0_CONSTANT_CP model 69 double SS0_Cp0; 70 71 //! Value of the pressure for the reference state. 72 //! defaults to 1.01325E5 = 1 atm 73 double SS0_Pref; 74 75 //! Integer value representing the star state model. 76 int SSStar_Model; 77 78 //! Models for the standard state volume of each species 79 int SSStar_Vol_Model; 80 81 //! parameter that is used in the VCS_SSVOL_CONSTANT model. 82 double SSStar_Vol0; 83 VCS_SPECIES_THERMO()84 VCS_SPECIES_THERMO() 85 : IndexPhase(0) 86 , IndexSpeciesPhase(0) 87 , OwningPhase(0) 88 , SS0_Model(VCS_SS0_CONSTANT) 89 , SS0_feSave(0.0) 90 , SS0_TSave(-90.0) 91 , SS0_T0(273.15) 92 , SS0_H0(0.0) 93 , SS0_S0(0.0) 94 , SS0_Cp0(0.0) 95 , SS0_Pref(1.01325E5) 96 , SSStar_Model(VCS_SSSTAR_CONSTANT) 97 , SSStar_Vol_Model(VCS_SSVOL_IDEALGAS) 98 , SSStar_Vol0(-1.0) 99 { 100 } 101 }; 102 103 } 104 105 #endif 106