https://github.com/ascillitoe/mondrian_turbulence
A python toolset to augment RANS models with LES/DNS data, using Random or Mondrian forests.
https://github.com/ascillitoe/mondrian_turbulence
cfd machine-learning turbulence-modelling
Last synced: about 1 month ago
JSON representation
A python toolset to augment RANS models with LES/DNS data, using Random or Mondrian forests.
- Host: GitHub
- URL: https://github.com/ascillitoe/mondrian_turbulence
- Owner: ascillitoe
- License: gpl-3.0
- Created: 2020-03-05T15:31:26.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2021-01-12T16:51:43.000Z (over 4 years ago)
- Last Synced: 2025-01-28T22:33:44.610Z (3 months ago)
- Topics: cfd, machine-learning, turbulence-modelling
- Language: Python
- Homepage: https://doi.org/10.1016/j.jcp.2021.110116
- Size: 109 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Data-driven turbulence modelling with random and Mondrian forests
This python package trains random forests and Mondrian forests on high fidelity LES/DNS data. The trained models can then be used to predict turbulence parameters for a new RANS flowfield. For more details see:
Ashley Scillitoe, Pranay Seshadri, Mark Girolami,
*Uncertainty quantification for data-driven turbulence modelling with mondrian forests*,
Journal of Computational Physics,
2021,
110116,
ISSN 0021-9991,
doi: [10.1016/j.jcp.2021.110116](https://doi.org/10.1016/j.jcp.2021.110116).
arXiv: [2003.01968](http://arxiv.org/abs/2003.01968).### How to use
Instructions and examples coming soon!### Notes
* Regressors and classifiers are implemented, however the classifer code is out of date and should be used with caution!
* requirements.txt file to enable easy installation is in the works.### Key dependencies
* `scikit-learn`: For Random forest classifier and regressor - https://scikit-learn.org/stable/
* `scikit-garden`: For Mondrian forest regressor - https://scikit-garden.github.io
* `pyvista`: For reading and writing vtk files, and built into the `CaseData` class - https://github.com/pyvista/pyvista
* `forestci`: For calculating infinitesimal jackknife uncertainty estimates for random forests - https://github.com/scikit-learn-contrib/forest-confidence-interval
* `shap`: For calculating SHAP values - https://github.com/ascillitoe/shap (forked from https://github.com/slundberg/shap)
* `eli5`: For calculating permutation importance - https://github.com/TeamHG-Memex/eli5### Acknowledgments
This work was supported by wave 1 of The UKRI Strategic Priorities Fund under the EPSRC grant EP/T001569/1, particularly the [Digital Twins in Aeronautics](https://www.turing.ac.uk/research/research-projects/digital-twins-aeronautics) theme within that grant, and [The Alan Turing Institute](https://www.turing.ac.uk).