Machine Learning for State-to-State
This project aims at investigating the usage of machine learning algorithms for the solution of high-speed (viscous and inviscid, reacting and non-reacting) non-equilibrium flows according to a state-to-state (STS) formulation. Several machine learning methods, including neural networks are considered. In this framework, the following tasks have been identified:
- Regression of transport coefficients
- Regression of chemical reaction rates
- Regression of chemical relaxation terms
- Coupling of machine learning with ODE solver
- Coupling of machine learning with PDE solver
- Solution of Euler and Navier-Stokes equations with NN
- Matlab to Julia conversion for ODE problems
- Matlab to Python conversion for ODE problems
- RNN/LSTM for ODE integration
- CNN for solution inference
- GAN for data generation and super-resolution
Assuming an available python3 version, the following packages may be required in order to run some tasks:
In the directory tree, the following abbreviations have been used:
- DT - Decision Tree
- SVM - Support Vector Machine
- KR - Kernel Ridge
- LDA - Linear Discriminant Analysis
- QDA - Quadratic Discriminant Analysis
- PCA - Principal Component Analysis
- SVD - Singular Value Decomposition
- kNN - Nearest Neighbors
- GP - Gaussian Processes
- NB - Naive Bayes
- RF - Random Forest
- ET - Extreme Tree
- GB - Gradient Boosting
- HGB - Histogram-Based Gradient Boosting
- MLP - Multi-layer Perceptron
- NN - Neural Network
- model implementation for shear, bulk viscosity, thermal conductivity and thermal/mass diffusion
- hyperparameters tuning
- solve the problem of big data for the mass diffusion (probably with Dask and/or cluster)
- coupling with Spark CFD solver
- define optimal interface Fortran -> Python
- model implementation
- hyperparameters tuning
- model implementation
- hyperparameters tuning
- model implementation
- find optimal coupling strategy
- model implementation
- find optimal coupling strategy
In this directory, I try to solve the full system of Euler equations for a one-dimensional reacting shock flow.
The directory contains both the .py
and .ipynb
files, for convenience, but they are the same.
The PINN.py
deals with the solution of the Euler equations without STS.
The PINN_STS.py
deals with the solution of the Euler equations with STS.
- model implementation
- hyperparameters tuning
- re-write in compact form
- bigfix
In this directory several experiments of coupling between machine learning and CFD codes or libraries are investigated.
ML4STS is an open source project, it is distributed under the LGPL v3. Anyone interested in using, developing or contributing to ML4STS is welcome. Take a look at the contributing guidelines to start to contribute to the project.
If you use ML4STS in your scientific publications, we would appreciate citations to the following paper:
- Campoli, L., Kustova, E., & Maltseva, P. (2021). Assessment of machine learning methods for state-to-state approaches. arXiv preprint arXiv:2104.01042.
Bibtex
@article{campoli2021assessment,
title={Assessment of machine learning methods for state-to-state approaches},
author={Campoli, Lorenzo and Kustova, Elena and Maltseva, Polina},
journal={arXiv preprint arXiv:2104.01042},
year={2021}
}
[1] Nagnibeda, E., & Kustova, E. (2009). Non-equilibrium reacting gas flows: kinetic theory of transport and relaxation processes. Springer Science & Business Media.
[2] Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., ... & Vanderplas, J. (2011). Scikit-learn: Machine learning in Python. the Journal of machine Learning research, 12, 2825-2830.
[3] Géron, A. (2019). Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow: Concepts, tools, and techniques to build intelligent systems. O'Reilly Media.
[4] Chollet, F. (2017). Deep Learning with Python.
[5] VanderPlas, J. (2016). Python data science handbook: Essential tools for working with data. " O'Reilly Media, Inc.".
[6] Mao, Z., Jagtap, A. D., & Karniadakis, G. E. (2020). Physics-informed neural networks for high-speed flows. Computer Methods in Applied Mechanics and Engineering, 360, 112789.