Chemical equilibrium at constant enthalpy and pressure for natural gas#

 1% -------------------------------------------------------------------------
 2% EXAMPLE: HP_NATURAL_GAS
 3%
 4% Compute adiabatic temperature and equilibrium composition at constant
 5% pressure (p = 1.01325 bar) for lean to rich natural gas (0.85% CH4, ...
 6% 0.10% C2H6, 0.05% C3H8)-air mixtures at T = 300 K, and a set of 
 7% equivalence ratios phi contained in (0.5, 5) [-]
 8%   
 9% See wiki or setListspecies method from ChemicalSystem class for predefined
10% sets of species
11%
12% @author: Alberto Cuadra Lara
13%                 
14% Last update October 06 2025
15% -------------------------------------------------------------------------
16
17% Import packages
18import combustiontoolbox.databases.NasaDatabase
19import combustiontoolbox.core.*
20import combustiontoolbox.equilibrium.*
21
22% Get Nasa database
23DB = NasaDatabase();
24
25% Define chemical system
26system = ChemicalSystem(DB);
27
28% Initialize mixture
29mix = Mixture(system);
30
31% Define chemical state
32set(mix, {'CH4', 'C2H6', 'C3H8'}, 'fuel', [0.85, 0.1, 0.05]);
33set(mix, {'N2', 'O2', 'Ar', 'CO2'}, 'oxidizer', [78.084, 20.9476, 0.9365, 0.0319] / 20.9476);
34
35% Define properties
36mixArray = setProperties(mix, 'temperature', 300, 'pressure', 1 * 1.01325, 'equivalenceRatio', 0.5:0.01:5);
37
38% Initialize solver
39solver = EquilibriumSolver('problemType', 'HP');
40
41% Solve problem
42solver.solveArray(mixArray);
43
44% Generate report
45report(solver, mixArray);