Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • openfoam openfoam
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 380
    • Issues 380
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 11
    • Merge requests 11
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Development
  • openfoamopenfoam
  • Issues
  • #1915

Closed
Open
Created Nov 09, 2020 by Thorsten Zirwes@g3

Contribution: Bilger Mixture Fraction Function Object

Dear all,

I recently created a new function object for computing the Bilger mixture fraction from species data. I'm not sure what the correct channel is to contribute the code, since I cannot create a fork here on gitlab. For example, should I upload a git patch file for code review?

Here are more information about the new function object:

The Bilger mixture fraction indicates the mixing ratio of fuel and oxidizer (kg fuel / kg mixture) and is often used in combustion simulations, either as part of a combustion model or to study the structure of flames. By having a function object that computes the mixture fraction from the resolved chemical species, users can create their own lookup tables for mixture fraction based combustion models or simply use it for post processing/visualization.

My implementation is based on a pull request I did some time ago for the open-source thermo-chemical library Cantera (https://github.com/Cantera/cantera/pull/851). It computes the mixture fraction based on the elemental composition of fuel, oxidizer and the mixture.

Similar functionality has been requested before (link, link, link, link). There are also some user implementations (link, link), however, they only work for specific solvers and do not make use of the information provided by the reactingMixture types.

I tested my implementation with the following solvers to make sure that it is compatible with a wide range of solvers and models:

  • combustion: reactingFoam, rhoReactingFoam, rhoBuoyantReactingFoam, chemFoam, fireFoam
  • lagrangian: sprayFoam, coalChemistryFoam, reactingParcelFoam
  • heatTransfer: chtMultiRegionFoam
  • multiphase: reactingTwoPhaseEulerFoam

I also ran the test cases from the Cantera test suite to validate the results. Everything is tested with the current develop branch (1d544540) and gcc 10.

Let me know if this is of interest and if so what the best way is to start the contribution process.

Kind regards,

Thorsten

Assignee
Assign to
Time tracking