Skip to content

lkampoli/ML4STS

Welcome to ML4STS!

Machine Learning for State-to-State

binder stars forks watchers license activity size lines

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

Requisites

Assuming an available python3 version, the following packages may be required in order to run some tasks:

Nomenclature

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

Regression of transport coefficients

  • 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

Regression of chemical reaction rate coefficients, k_ci

  • model implementation
  • hyperparameters tuning

Regression of chemical relaxation terms, R_ci

  • model implementation
  • hyperparameters tuning

Coupling of machine learning with ODE solver

  • model implementation
  • find optimal coupling strategy

Coupling of machine learning with PDE solver

  • model implementation
  • find optimal coupling strategy

Euler_1d_shock_STS

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

ML4CFD

In this directory several experiments of coupling between machine learning and CFD codes or libraries are investigated.

Copyrights

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.

Citing ML4STS

If you use ML4STS in your scientific publications, we would appreciate citations to the following paper:

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

Bibliography

[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.