Combustion Toolbox

A MATLAB-GUI based tool for solving gaseous combustion problems
1.3K Downloads
Updated Mon, 29 Jan 2024 13:50:50 +0000

Combustion Toolbox

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

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. equilence ratio)

This project is also part of the PhD of Alberto Cuadra-Lara.

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

@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.0.5",
    doi = {https://doi.org/10.5281/zenodo.5554911}
}

@phdthesis{cuadra2023_thesis,
    title            = {Development of a wide-spectrum thermochemical code with application to planar reacting and non-reacting shocks},
    author           = {Cuadra, A.},
    year             = 2023,
    month            = {May},
    address          = {Madrid, Spain},
    note             = {Available at \url{http://hdl.handle.net/10016/38179}},
    school           = {Universidad Carlos III de Madrid},
    type             = {PhD thesis}
}

Cite As

Cuadra, A., Huete, C., & Vera, M. (2024). Combustion Toolbox: A MATLAB-GUI based open-source tool for solving gaseous combustion problems (Version 1.0.5) [Computer software]. https://doi.org/10.5281/zenodo.5554911

Cuadra, A. (2023). Development of a wide-spectrum thermochemical code with application to planar reacting and non-reacting shocks. PhD thesis, Universidad Carlos III de Madrid. Available at http://hdl.handle.net/10016/38179.

MATLAB Release Compatibility
Created with R2021b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

databases/askari

databases/eos/Peng-Robinson

examples

gui

gui/addons

gui/utils

modules/ct_equil

modules/ct_rocket

modules/ct_sd

modules/self/App

modules/self/Constants

modules/self/Elements

modules/self/Miscellaneous

modules/self/ProblemDescription

modules/self/ProblemSolution

modules/self/Species

modules/self/TuningProperties

utils

utils/databases

utils/display

utils/eos

utils/eos/@eos_PR_classdef

utils/eos/@eos_VW

utils/export

utils/extensions

utils/root_finding

utils/root_finding/newton

utils/root_finding/nsteffenson

utils/root_finding/steffenson

utils/thermo

utils/validations

validations

validations/cea

validations/other stuff

validations/other stuff/tests

validations/other stuff/tests/bishnu1997

validations/papers/cuadra2020

validations/papers/cuadra2023b

validations/papers/huete2021

validations/sdtoolbox

validations/tea

validations/unit_test

validations/unit_test/modules_test

Version Published Release Notes
1.0.5

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v1.0.5

1.0.4

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v1.0.4

1.0.3

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v1.0.3

1.0.2.0

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v1.0.2

1.0.1.0

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v1.0.1

1.0.0.0

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v1.0.0

0.9.997.0

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.9.997

0.9.996.0

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.9.996

0.9.995.0

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.9.995

0.9.994.0

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.9.994

0.9.993.0

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.9.993

0.9.992

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.9.992

0.9.93

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.9.93

0.9.92

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.9.92

0.9.91

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.9.91

0.9.9

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.9.9

0.9.8

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.9.8

0.9.7

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.9.7

0.9.6

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.9.6

0.9.5

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.9.5

0.9.1

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.9.1

0.9.0

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.9.0

0.8.9

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.8.9

0.8.7

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.8.7

0.8.3

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.8.3

0.8.0

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.8.0

0.7.7

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.7.7

0.7.3

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.7.3

0.7.1

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.7.1
See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.7.1

0.7.0

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.7.0
See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.7.0

0.6.0

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.6.0

0.5.2

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.5.2

0.5.1

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.5.1

0.5.0

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.5.0

0.4.022

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.4.022

0.4.021

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.4.021

0.3.90

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.3.90

0.3.82

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.3.82

0.3.74

See release notes for this release on GitHub: https://github.com/AlbertoCuadra/combustion_toolbox/releases/tag/v0.3.74

0.3.72

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.