Skip to content

CombustionToolbox/combustion_toolbox

Repository files navigation

Combustion Toolbox

Combustion Toolbox: A MATLAB-GUI based open-source tool for solving gaseous combustion problems

DOI Open in MATLAB Online File Exchange CD Documentation license


     

Main features

  • The code stems from the minimization of the free energy of the system by using Lagrange multipliers combined with a Newton-Raphson method, upon condition that initial gas properties are defined by two functions of states (e.g., temperature and pressure)
  • When temperature is not externally imposed, the code retrieves a routine also based on Newton-Raphson method to find the equilibrium temperature
  • Solve processes that involve strong changes in the dynamic pressure, such as detonations and shock waves in the steady state
  • Find the equilibrium conditions of the different phenomena undergoing behind the shock: molecular vibrational excitation up to dissociation, and electronic excitation up to ionization, thereby providing the properties of the gas in plasma state within the temperature range given by the NASA’s 9-coefficient polynomial fits.
  • Calculate the chemical equilibrium composition of a mixture by selecting which species can react or remain chemically frozen (inert).
  • The corresponding thermodynamic properties of the species are modelled with NASA’s 9-coefficient polynomial fits, which ranges up to 20000 K, and the ideal gas equation of state
  • Results are in excellent agreement with NASA’s Chemical Equilibrium with Applications (CEA) program, CANTERA and Caltech’s Shock and Detonation Toolbox, and TEA
  • Chemical equilibrium problems
    • TP: Equilibrium composition at defined temperature and pressure
    • HP: Adiabatic temperature and composition at constant pressure
    • SP: Isentropic compression/expansion to a specified pressure
    • TV: Equilibrium composition at defined temperature and constant volume
    • EV: Adiabatic temperature and composition at constant volume
    • SV: Isentropic compression/expansion to a specified volume
  • Shock calculations:
    • Pre-shock and post-shock states
    • Equilibrium or frozen composition
    • Incident or reflected shocks
    • Chapman-Jouguet detonations, overdriven detonations, and underdriven detonations
    • Reflected detonations
    • Oblique shocks/detonations
    • Shock/detonation polar curves for incident and reflected states
    • Hugoniot curves
    • Ideal jump conditions for a given adiabatic index and pre-shock Mach number
  • Rocket propellant performance assuming:
    • Infinite-Area-Chamber model (IAC)
    • Finite-Area-Chamber model (FAC)
  • All the routines and computations are encapsulated in a more comprehensive and user-friendly GUI
  • The code is in it’s transition to Python
  • Export results in a spreadsheet
  • Export results as a .mat format
  • Display predefined plots (e.g., molar fraction vs. equivalence ratio)

Start here!

  • The tutorials will help you get started using the Combustion Toolbox on your pc.
  • See examples of Combustion Toolbox applications.
  • Check the documentation of almost every functions.

Gallery

We have several examples of what the Combustion Toolbox can do. Here we show a preview of the GUI and some results obtained from the Combustion Toolbox.

Figure 1: Current state of the GUI.

Figure 2: Hugoniot curves for different molecular gases at pre-shock temperature T1 = 300 K and pressure p1 = 1 atm [numerical results obtained with Combustion Toolbox (lines) and contrasted with NASA’s Chemical Equilibrium with Applications (CEA) code excluding ionization (symbols)].

Figure 3: Example CJ detonation for lean to rich CH4-air mixtures at standard conditions: (a) variation of molar fraction, (b) variation of temperature. The computational time was of 9.25 seconds using a Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz for a set of 24 species considered and a total of 351 case studies.

Figure 4: Pressure-deflection shock polar (left) and wave angle-deflection shock polar (right) for an air mixture (78.084% N2, 20.9476% O2, 0.9365% Ar, 0.0319% CO2) at pre-shock temperature T1 = 300 K and pressure p1 = 1 atm, and a range of preshock Mach numbers M1 = [2, 14]; line: considering dissociation, ionization, and recombination in multi-species mixtures; dashed: considering a thermochemically frozen air mixture.

Contributing

Please read CONTRIBUTING.md for details of the process for submitting pull requests to the repository.

Please send feedback or inquiries to acuadra@ing.uc3m.es

Thank you for using the Combustion Toolbox!

Acknowledgements

People

Grupo de Mecánica de Fluidos, Universidad Carlos III, Av. Universidad 30, 28911, Leganés, Spain

See also the list of contributors who participated in this project.

Citing Combustion Toolbox

@article{cuadra2024a_preprint,
    title         = {{Combustion Toolbox: An open-source thermochemical code for gas- and condensed-phase problems involving chemical equilibrium}},
    author        = {Cuadra, A. and Huete, C. and Vera, M.},
    journal       = {{arXiv preprint arXiv:2409.15086}},
    year          = {2024},
    eprint        = {2409.15086},
    archivePrefix = {arXiv},
    primaryClass  = {physics.chem-ph},
    doi           = {10.48550/arXiv.2409.15086}
}

@misc{combustiontoolbox,
    author  = "Cuadra, A. and Huete, C. and Vera, M.",
    title   = "{Combustion Toolbox: A MATLAB-GUI based open-source tool for solving gaseous combustion problems}",
    year    = 2024,
    note    = "Version 1.1.3",
    doi     = {https://doi.org/10.5281/zenodo.5554911}
}