Cantera  2.0
mix_defs.h
1 #ifndef CT_MIX_DEFS_H
2 #define CT_MIX_DEFS_H
3 
4 namespace Cantera
5 {
6 
7 /**
8  * This generic id is used as the default in virtual base
9  * classes that employ id's. It is used to indicate the lack
10  * of an inherited class that would define the id.
11  */
12 const int cNone = 0;
13 
14 // species thermo types
15 const int cNASA = 1;
16 const int cShomate = 2;
17 const int cNASA96 = 3;
18 const int cHarmonicOsc = 4;
19 
20 /**
21  * Equation of state types:
22  *
23  * These types are used in the member function eosType() of
24  * the virtual base class ThermoPhase. They are used to
25  * distinguish different types of equation of states. Also, they
26  * may be used for upcasting from the ThermoPhase class. Their
27  * id's should be distinct.
28  *
29  * Users who wish to define their own equation of states which
30  * derive from ThermoPhase should define a unique id which
31  * doesn't conflict with those listed below. The Cantera Kernel
32  * however, will not be know about the class and will therefore
33  * not be able to initialize the class within its "factory"
34  * routines.
35  */
36 const int cIdealGas = 1; // IdealGasPhase in IdealGasPhase.h
37 const int cIncompressible = 2; // ConstDensityThermo in ConstDensityThermo.h
38 /// A surface phase. Used by class SurfPhase.
39 const int cSurf = 3;
40 
41 /// A metal phase.
42 const int cMetal = 4; // MetalPhase in MetalPhase.h
43 // const int cSolidCompound = 5; // SolidCompound in SolidCompound.h
44 const int cStoichSubstance = 5; // StoichSubstance.h
45 const int cSemiconductor = 7;
46 
47 const int cMineralEQ3 = 8; // MineralEQ3 in MineralEQ3.h
48 const int cMetalSHEelectrons = 9; // SHE electrode electrons
49 
50 const int cLatticeSolid = 20; // LatticeSolidPhase.h
51 const int cLattice = 21; //LatticePhase.h
52 
53 // pure fluids with liquid/vapor eqs of state
54 const int cPureFluid = 10;
55 
56 /// An edge between two 2D surfaces
57 const int cEdge = 6;
58 
59 //! Stoichiometric compound with a constant chemical potential
60 const int cFixedChemPot = 70;
61 
62 /// Constant partial molar volume solution IdealSolidSolnPhase.h
63 const int cIdealSolidSolnPhase = 5009;
64 
65 //! HMW - Strong electrolyte using the Pitzer formulation
66 const int cHMW = 40;
67 
68 //! DebyeHuckel - Weak electrolyte using various Debye-Huckel formulations
69 const int cDebyeHuckel = 50;
70 
71 //! IdealMolalSoln - molality based solution with molality-based act coeffs of 1
72 const int cIdealMolalSoln = 60;
73 
74 const int cIdealSolnGasVPSS = 500;
75 const int cIdealSolnGasVPSS_iscv = 501;
76 
77 //! Fugacity Models
78 const int cMixtureFugacityTP = 700;
79 const int cRedlichKwongMFTP = 701;
80 
81 const int cMargulesVPSSTP = 301;
82 
83 const int cRedlichKisterVPSSTP = 303;
84 
85 const int cMolarityIonicVPSSTP = 401;
86 const int cMixedSolventElectrolyte = 402;
87 
88 const int cPhaseCombo_Interaction = 305;
89 
90 const int cIonsFromNeutral = 2000;
91 
92 //! Variable Pressure Standard State ThermoPhase objects
93 const int cVPSS_IdealGas = 1001;
94 const int cVPSS_ConstVol = 1002;
95 const int cVPSS_PureFluid = 1010;
96 const int cVPSS_HMW = 1040;
97 const int cVPSS_DebyeHuckel = 1050;
98 const int cVPSS_MolalSoln = 1060;
99 
100 //! Types of general formulations for the specification of the standard state volume
102  //! This approximation is for a constant volume
104  //! This approximation is for a species with a quadratic polynomial in temperature
105  /*!
106  * V^ss_i = ai + bi T + ci T2
107  */
109  //! This approximation is for a species where the density is expressed as a
110  //! quadratic polynomial in temperature
111  /*!
112  * V^ss_i = M_i / (ai + bi T + ci T2)
113  */
115 };
116 
117 //! Types of PDSS's
119  cPDSS_UNDEF = 100,
120  cPDSS_IDEALGAS,
121  cPDSS_CONSTVOL,
122  cPDSS_SSVOL,
123  cPDSS_MOLAL_CONSTVOL,
124  cPDSS_WATER,
125  cPDSS_MOLAL_HKFT,
126  cPDSS_IONSFROMNEUTRAL
127 };
128 
129 
130 //! enum for VPSSMgr types
132  cVPSSMGR_UNDEF = 1000,
133  cVPSSMGR_IDEALGAS,
134  cVPSSMGR_CONSTVOL ,
135  cVPSSMGR_PUREFLUID,
136  cVPSSMGR_WATER_CONSTVOL,
137  cVPSSMGR_WATER_HKFT,
138  cVPSSMGR_GENERAL
139 };
140 
141 
142 // kinetic manager types
143 const int cGasKinetics = 2;
144 const int cGRI30 = 3;
145 const int cInterfaceKinetics = 4;
146 const int cLineKinetics = 5;
147 const int cEdgeKinetics = 6;
148 const int cSolidKinetics = 7;
149 const int cAqueousKinetics = 8;
150 }
151 
152 #endif
153