jvwilliams23 / turbulent-dispersion-neuralSDE

Modelling particle turbulent dispersion with stochastic differential equations, learned from artificial neural networks using tensorflow/keras.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Turbulent dispersion neuralSDE

DOI

Train a neural network to learn drift and diffusion components of stochastic differential equations (SDEs), using OpenFOAM data. We use this for modelling turbulent dispersion.

J. Williams, U. Wolfram, and A. Ozel, Neural stochastic differential equations for particle dispersion in large-eddy simulations of homogeneous isotropic turbulence, Physics of Fluids 34, 113315 (2022); https://doi.org/10.1063/5.0121344, link: https://aip.scitation.org/doi/10.1063/5.0121344

Installation

Installation - OpenFOAM

A make file is provided in openfoam/AllMake. This compiles the modified "lagrangian" libraries (namely, "intermediate" and "turbulence" libraries).

Installation - Python

To install the required packages for the python script, use:

conda create --name sdeenv tensorflow=2.4.1 Keras=2.4.3 numpy=1.20 scipy=1.6.0 setuptools=51.0 joblib=1.0.1 python=3.8 
conda activate sdeenv
pip install hjson

Also, the python script assumes that the dataset from our Kaggle repository has been downloaded to "dataset-filteredDNS/" (feel free to modify the path).

BibTeX Citation

If you use our model in a scientific publication, we would appreciate using the following citation for our preprint (paper citation will be added later), and dataset:

@article{williams2022neuralSDE,
  title = {Neural stochastic differential equations for particle dispersion in large-eddy simulations of homogeneous isotropic turbulence},
  author = {Williams, Josh and Wolfram, Uwe and Ozel, Ali},
  journal = {Physics of Fluids},
  volume = {34},
  number = {11},
  pages = {113315},
  year = {2022},
  doi = {10.1063/5.0121344},
}

@misc{williams2022filteredDNSkaggle,
  title={Filtered direct numerical simulation dataset},
  url={https://www.kaggle.com/dsv/3998403},
  DOI={10.34740/KAGGLE/DSV/3998403},
  publisher={Kaggle},
  author={Josh Williams and Uwe Wolfram and Ali Ozel},
  year={2022}
}

@software{williams2022turbDispersionGithub,
  author       = {Josh Williams and Uwe Wolfram and Ali Ozel},
  title        = {{jvwilliams23/turbulent-dispersion-neuralSDE: 
                   v0.1.2}},
  month        = nov,
  year         = 2022,
  publisher    = {Zenodo},
  version      = {v0.1.2},
  doi          = {10.5281/zenodo.7323946},
  url          = {https://doi.org/10.5281/zenodo.7323946}
}

About

Modelling particle turbulent dispersion with stochastic differential equations, learned from artificial neural networks using tensorflow/keras.

License:GNU General Public License v3.0


Languages

Language:C++ 46.3%Language:C 29.2%Language:Python 24.2%Language:Shell 0.2%