spinn-bgk

Separable Physics-Informed Neural Networks for Solving the BGK Model of the Boltzmann Equation

https://github.com/jaeminoh/spinn-bgk

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.4%) to scientific vocabulary

Keywords

boltzmann-equation physics-informed-neural-networks
Last synced: 6 months ago · JSON representation

Repository

Separable Physics-Informed Neural Networks for Solving the BGK Model of the Boltzmann Equation

Basic Info
Statistics
  • Stars: 4
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
boltzmann-equation physics-informed-neural-networks
Created about 1 year ago · Last pushed 9 months ago
Metadata Files
Readme Citation

README.md

SPINN-BGK: Separable PINNs for the Boltzmann-BGK Model

Paper, arXiv

Abstract

In this study, we present a new approach based on Separable Physics-Informed Neural Networks (SPINNs), specifically designed to efficiently solve the BGK model. While the mesh-free nature of Physics-Informed Neural Networks (PINNs) offers significant advantages for handling high-dimensional partial differential equations (PDEs), applying quadrature rules for accurate integral evaluation in the BGK operator can compromise these benefits and increase computational costs. To address this issue, we leverage the canonical polyadic decomposition structure of SPINNs and the linear nature of moment calculation to significantly reduce the computational expense associated with quadrature rules. However, the multi-scale nature of the particle density function poses challenges for precisely approximating macroscopic moments using neural networks. To overcome this, we introduce SPINN-BGK, a specialized variant of SPINNs that fuses SPINNs with Gaussian functions and utilizes a relative loss approach. This modification enables SPINNs to decay as rapidly as Maxwellian distributions, enhancing the accuracy of macroscopic moment approximations. The relative loss design ensures that both large and small-scale features are effectively captured by the SPINNs. The effectiveness of our approach is validated through six numerical experiments, including a complex 3D Riemann problem. These experiments demonstrate the potential of our method to efficiently and accurately tackle intricate challenges in computational physics, offering significant improvements in computational efficiency and solution accuracy.

Visualization

1D3V

Kn=0.01

https://github.com/user-attachments/assets/48dcfe42-be6a-41a2-990e-24bd956eb8d0

Kn=1

https://github.com/user-attachments/assets/c56ac8d8-98a6-4b68-8dd5-d663af1d2051

2D3V

Kn=0.01

https://github.com/user-attachments/assets/d9bf2abd-2150-4854-ac7a-8fb2ceaa2c9e

Kn=1

https://github.com/user-attachments/assets/9622bb81-675f-4e25-bed3-0b5067725887

3D3V

Kn=0.01 3d_Kn0 01

Kn=1 3d_Kn1 0

How to run

Dependency

  • Python version: 3.12
  • Install JAX
  • Install additional dependencies: run pip install -r requirements.txt

Change the arguments, if necessary.

Training

Run python smooth_3d.py --Kn=0.01 --rank=256 for the (3+3+1) smooth problem.

Error tables

(3+3+1) dimensional problems: run python error_3d.py --problem="smooth" --Kn=1.0

Citation

If you find this repository useful in your research, please consider citing us!

bibtex @article{oh2025separable, title={Separable physics-informed neural networks for solving the {BGK} model of the {B}oltzmann equation}, author={Oh, Jaemin and Cho, Seung Yeon and Yun, Seok-Bae and Park, Eunbyung and Hong, Youngjoon}, journal={SIAM Journal on Scientific Computing}, volume={47}, number={2}, pages={C451--C474}, year={2025}, publisher={SIAM} }

Owner

  • Name: Jaemin Oh
  • Login: jaeminoh
  • Kind: user

Math PhD students @ KAIST.

GitHub Events

Total
  • Watch event: 5
  • Push event: 4
  • Create event: 2
Last Year
  • Watch event: 5
  • Push event: 4
  • Create event: 2

Dependencies

requirements.txt pypi
  • PyYAML ==6.0.1
  • Pygments ==2.18.0
  • absl-py ==2.1.0
  • cfgv ==3.4.0
  • contextlib2 ==21.6.0
  • contourpy ==1.2.1
  • cycler ==0.12.1
  • distlib ==0.3.8
  • equinox ==0.11.4
  • et-xmlfile ==1.1.0
  • etils ==1.8.0
  • filelock ==3.14.0
  • fire ==0.6.0
  • fonttools ==4.51.0
  • fsspec ==2024.3.1
  • identify ==2.5.36
  • importlib_resources ==6.4.0
  • kiwisolver ==1.4.5
  • markdown-it-py ==3.0.0
  • matplotlib ==3.8.4
  • mdurl ==0.1.2
  • mkposters ==0.0.4
  • ml-dtypes ==0.4.0
  • msgpack ==1.0.8
  • nest-asyncio ==1.6.0
  • nodeenv ==1.8.0
  • numpy ==1.26.4
  • openpyxl ==3.1.2
  • optax ==0.2.2
  • packaging ==24.0
  • pandas ==2.2.2
  • pillow ==10.3.0
  • platformdirs ==4.2.1
  • pre-commit ==3.7.0
  • protobuf ==5.26.1
  • pyparsing ==3.1.2
  • python-dateutil ==2.9.0.post0
  • pytz ==2024.1
  • rich ==13.7.1
  • scipy ==1.13.0
  • setuptools ==68.2.2
  • six ==1.16.0
  • tensorstore ==0.1.59
  • termcolor ==2.4.0
  • toolz ==0.12.1
  • tqdm ==4.66.4
  • typeguard ==2.13.3
  • typing_extensions ==4.11.0
  • tzdata ==2024.1
  • uv ==0.3.3
  • virtualenv ==20.26.1
  • wheel ==0.41.2
  • zipp ==3.18.1