These changes make it unnecessary to copy header files around during the build process, which tends to confuse IDEs and debuggers. The headers which comprise Cantera's external C++ interface are now in the 'include' directory. All of the samples and demos are now in the 'samples' subdirectory.
58 lines
1.2 KiB
Matlab
Executable file
58 lines
1.2 KiB
Matlab
Executable file
function equil(g)
|
|
% EQUIL a chemical equilibrium example.
|
|
%
|
|
% This example computes the adiabatic flame temperature and
|
|
% equilibrium composition for a methane/air mixture as a function of
|
|
% equivalence ratio.
|
|
help equil;
|
|
|
|
if nargin == 1 & isa(g,'GasMix')
|
|
gas = g;
|
|
else
|
|
gas = IdealGasMix('gri30.cti');
|
|
end
|
|
|
|
nsp = nSpecies(gas);
|
|
phi = [];
|
|
|
|
% find methane, nitrogen, and oxygen indices
|
|
ich4 = speciesIndex(gas,'CH4');
|
|
io2 = speciesIndex(gas,'O2');
|
|
in2 = speciesIndex(gas,'N2');
|
|
|
|
for i = 1:50
|
|
phi(i) = 0.2 + 0.05*i;
|
|
x = zeros(nsp,1);
|
|
x(ich4,1) = phi(i);
|
|
x(io2,1) = 2.0;
|
|
x(in2,1) = 7.52;
|
|
set(gas,'Temperature',300.0,'Pressure',101325.0,'MoleFractions', ...
|
|
x);
|
|
equilibrate(gas,'HP');
|
|
tad(i) = temperature(gas);
|
|
xeq(:,i) = moleFractions(gas);
|
|
end
|
|
|
|
% make plots
|
|
clf;
|
|
subplot(1,2,1);
|
|
plot(phi,tad);
|
|
xlabel('Equivalence Ratio');
|
|
ylabel('Temperature (K)');
|
|
title('Adiabatic Flame Temperature');
|
|
|
|
subplot(1,2,2);
|
|
semilogy(phi,xeq);
|
|
axis([phi(1) phi(50) 1.0e-14 1]);
|
|
%legend(speciesName(gas,1:nsp),1);
|
|
j = 10;
|
|
for k = 1:nsp
|
|
text(phi(j),1.5*xeq(k,j),speciesName(gas,k))
|
|
j = j + 2;
|
|
if j > 46
|
|
j = 10;
|
|
end
|
|
end
|
|
xlabel('Equivalence Ratio');
|
|
ylabel('Mole Fraction');
|
|
title('Equilibrium Composition');
|