GithubHelp home page GithubHelp logo

combustiontoolbox / combustion_toolbox Goto Github PK

View Code? Open in Web Editor NEW
19.0 2.0 5.0 1.38 GB

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

Home Page: https://combustion-toolbox-website.readthedocs.io

License: GNU General Public License v3.0

MATLAB 99.87% M 0.13%
chemical-equilibrium thermochemistry matlab detonation app open-source shock-waves toolbox windows linux macos hypersonics ionization rocket dissociation thermochemical-code combustion combustion-toolbox

combustion_toolbox's Introduction

Combustion Toolbox

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

DOI 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 [email protected]

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}
}

combustion_toolbox's People

Contributors

albertocuadra avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

combustion_toolbox's Issues

Add: routine plot error

The objective of this routine is to check if any of the results are compromise in some way, e.g., stop criteria > tolerance.

Add: theoretical rocket performance

  • solve chamber (HP)
  • solve chamber to throat (SP)
  • include a routine to obtain the pressure at the throat.
  • obtain exit conditions
  • solve Infinite Area Chamber (IAC)
  • solve Finite Area Chamber (FAC)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.