Machine learning of hidden variables in multiscale fluid simulation

Archis S. Joglekar, Alexander G. R. Thomas
6/19/2023
physics.comp-phcs.AImath.NA

No official code found. Best implementation: ergodicio/adept (38 stars, MIT, last commit 2026-04-27).

Abstract

Solving fluid dynamics equations often requires the use of closure relations that account for missing microphysics. For example, when solving equations related to fluid dynamics for systems with a large Reynolds number, sub-grid effects become important and a turbulence closure is required, and in systems with a large Knudsen number, kinetic effects become important and a kinetic closure is required. By adding an equation governing the growth and transport of the quantity requiring the closure relation, it becomes possible to capture microphysics through the introduction of ``hidden variables'' that are non-local in space and time. The behavior of the ``hidden variables'' in response to the fluid conditions can be learned from a higher fidelity or ab-initio model that contains all the microphysics. In our study, a partial differential equation simulator that is end-to-end differentiable is used to train judiciously placed neural networks against ground-truth simulations. We show that this method enables an Euler equation based approach to reproduce non-linear, large Knudsen number plasma physics that can otherwise only be modeled using Boltzmann-like equation simulators such as Vlasov or Particle-In-Cell modeling.

View on arXivView PDF

Code Implementations(1)

ergodicio/adeptCommunity100%
MIT

Automatic-Differentiation-Enabled Plasma Transport in JAX

388Python, Jupyter NotebookMar 10, 20235 months agoMIT
automatic-differentiationboltzmann-equationcomputational-fluid-dynamicsfluid-mechanicskinetic-modeling+2 more

Similar Papers

Cite this paper

@article{joglekar2023machine,
  title  = {Machine learning of hidden variables in multiscale fluid simulation},
  author = {Archis S. Joglekar and Alexander G. R. Thomas},
  year   = {2023},
  eprint = {2306.10709},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2306.10709v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2306.10709.svg)](https://codeofpaper.com/paper/2306.10709)

Discussion