72 int main(
int argc,
char *argv[])
81 IFstream controlFile(controlFileName);
84 if (!controlFile.good())
87 <<
"Cannot read file " << controlFileName
95 word fuelName(control.lookup(
"fuel"));
100 Info<<
nl <<
"Reading Burcat data dictionary" <<
endl;
105 IFstream BurcatCpDataFile(BurcatCpDataFileName);
108 if (!BurcatCpDataFile.good())
111 <<
"Cannot read file " << BurcatCpDataFileName
118 scalar stoicO2 = n + m/4.0;
119 scalar stoicN2 = (0.79/0.21)*(n + m/4.0);
121 scalar stoicH2O = m/2.0;
126 thermo(CpData.lookup(fuelName))
132 stoicO2*
thermo(CpData.lookup(
"O2"))
133 + stoicN2*
thermo(CpData.lookup(
"N2"))
138 "stoichiometricAirFuelMassRatio",
140 (oxidant.W()*oxidant.nMoles())/fuel.W()
143 Info<<
"stoichiometricAirFuelMassRatio "
144 << stoichiometricAirFuelMassRatio <<
';' <<
endl;
146 for (
int i=0; i<300; i++)
148 scalar equiv = (i + 1)*0.01;
149 scalar
ft = 1/(1 + stoichiometricAirFuelMassRatio.value()/equiv);
151 Info<<
"phi = " << equiv <<
nl
152 <<
"ft = " << ft <<
endl;
154 scalar o2 = (1.0/equiv)*stoicO2;
155 scalar n2 = (0.79/0.21)*o2;
156 scalar fres =
max(1.0 - 1.0/equiv, 0.0);
157 scalar ores =
max(1.0/equiv - 1.0, 0.0);
158 scalar fburnt = 1.0 - fres;
163 thermo(CpData.lookup(fuelName))
165 Info<<
"fuel " << fuel <<
';' <<
endl;
170 o2*
thermo(CpData.lookup(
"O2"))
171 + n2*
thermo(CpData.lookup(
"N2"))
173 Info<<
"oxidant " << (1/oxidant.nMoles())*oxidant <<
';' << endl;
180 Info<<
"reactants " << (1/reactants.nMoles())*reactants <<
';' << endl;
185 + (n2 - (0.79/0.21)*ores*stoicO2)*
thermo(CpData.lookup(
"N2"))
186 + fburnt*stoicCO2*
thermo(CpData.lookup(
"CO2"))
187 + fburnt*stoicH2O*
thermo(CpData.lookup(
"H2O"))
189 Info<<
"burntProducts "
190 << (1/burntProducts.nMoles())*burntProducts <<
';' << endl;
196 + n2*
thermo(CpData.lookup(
"N2"))
197 + fburnt*stoicCO2*
thermo(CpData.lookup(
"CO2"))
198 + fburnt*stoicH2O*
thermo(CpData.lookup(
"H2O"))
199 + ores*stoicO2*
thermo(CpData.lookup(
"O2"))
202 Info<<
"products " << (1/products.nMoles())*products <<
';' << endl;
204 scalar Tad = products.TH(reactants.H(T0), 1000.0);