Create README.md
Browse files
README.md
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: "cc-by-nc-sa-4.0"
|
| 3 |
+
tags:
|
| 4 |
+
- gas-surface-interaction
|
| 5 |
+
- normalizing-flow
|
| 6 |
+
- real-nvp
|
| 7 |
+
- variational-autoencoder
|
| 8 |
+
- molecular-dynamics
|
| 9 |
+
- piclas
|
| 10 |
+
- dsmc
|
| 11 |
+
- rarefied-gas-dynamics
|
| 12 |
+
- vleo
|
| 13 |
+
library_name: "piclas"
|
| 14 |
+
---
|
| 15 |
+
|
| 16 |
+
# PICLas-ML/GSI - ML Gas-Surface Interaction Models
|
| 17 |
+
|
| 18 |
+
Machine-learned surface scattering models for [PICLas](https://github.com/piclas-framework/piclas),
|
| 19 |
+
an open-source 3D particle-based kinetic simulation framework for plasma dynamics and rarefied
|
| 20 |
+
gas flows.
|
| 21 |
+
|
| 22 |
+
## Models in Repo
|
| 23 |
+
|
| 24 |
+
This repo contains two model architectures for calculating the scattering of atomic oxygen on an aluminum oxide surface Al₂O₃:
|
| 25 |
+
|
| 26 |
+
- **cRealNVP** - a conditional real-valued non-volume-preserving flow, using a detailed-balance
|
| 27 |
+
loss as a physics constraint
|
| 28 |
+
- **cVAE** - a conditional variational autoencoder
|
| 29 |
+
|
| 30 |
+
| File | Architecture | Incident Species → Surface → Reflected Species |
|
| 31 |
+
|---|---|---|
|
| 32 |
+
| `cRealNVP_MDclassic_O-Al2O3-O.h5` | Conditional RealNVP (normalizing flow) | O → Al₂O₃ → O |
|
| 33 |
+
| `cVAE_MDclassic_O-Al2O3-O.h5` | Conditional variational autoencoder | O → Al₂O₃ → O |
|
| 34 |
+
|
| 35 |
+
**File naming convention:** `<architecture>_<data source>_<species>.h5`
|
| 36 |
+
- 1st part — model architecture: `cVAE` or `cRealNVP`
|
| 37 |
+
- 2nd part — source of the non-equilibrium data: MD simulation with a classical potential
|
| 38 |
+
- 3rd part — atomic oxygen impacting an aluminum oxide surface; outgoing species is atomic oxygen
|
| 39 |
+
|
| 40 |
+
**Performance comparison:**
|
| 41 |
+
|
| 42 |
+
| | cRealNVP | cVAE |
|
| 43 |
+
|---|---|---|
|
| 44 |
+
| Accuracy (thermal → 11,000 m/s) | Better overall | Comparable till 10,000 m/s |
|
| 45 |
+
| Equilibrium temperature | Converges correctly | Does not converge correctly |
|
| 46 |
+
| Sampling speed | Slower | Much faster |
|
| 47 |
+
|
| 48 |
+
## Method
|
| 49 |
+
|
| 50 |
+
These models were developed as a collaboration within the [Collaborative Research Center 1667 ATLAS](https://www.sfb1667.uni-stuttgart.de/)
|
| 51 |
+
at the University of Stuttgart. A detailed description of the models and the data is given in
|
| 52 |
+
[arXiv:2606.31928](https://arxiv.org/abs/2606.31928) - *Conditional Normalizing Flow for
|
| 53 |
+
Gas-Surface Scattering from Thermal to Hypersonic Velocities*.
|
| 54 |
+
|
| 55 |
+
**Data**
|
| 56 |
+
|
| 57 |
+
Two training data sets are used, both for atomic oxygen impacting an aluminum oxide (Al₂O₃)
|
| 58 |
+
surface:
|
| 59 |
+
- Non-equilibrium data generated from MD simulations
|
| 60 |
+
- Equilibrium data generated from Maxwell flux distribution
|
| 61 |
+
|
| 62 |
+
*Non-Equilibrium Data:*
|
| 63 |
+
- Atomic oxygen impacts on an aluminum oxide surface are simulated with molecular dynamics
|
| 64 |
+
using classical potentials
|
| 65 |
+
- Incident velocity magnitudes: 2,000-10,000 m/s
|
| 66 |
+
- Polar angles: 0°-80°
|
| 67 |
+
|
| 68 |
+
*Equlibrium:*
|
| 69 |
+
- If the gas is in equilibrium with the wall, an incident Maxwell flux must be reflected as the same Maxwell flux
|
| 70 |
+
- Maxwell flux samples are added to the training data to cover the equilibrium regime
|
| 71 |
+
|
| 72 |
+
**Model**
|
| 73 |
+
|
| 74 |
+
- In PICLas, scattering is represented through a scattering kernel, i.e., the conditional probability distribution P(v_i → v_r) describing how an incoming velocity transitions to a reflected one.
|
| 75 |
+
- To learn this kernel from data, two generative ML models (cVAE and cRealNVP) are trained on the data
|
| 76 |
+
|
| 77 |
+
## Intended use
|
| 78 |
+
|
| 79 |
+
- Load into PICLas as an ML surrogate GSI scattering model to sample scattered particle velocities
|
| 80 |
+
- **Valid for:** O → Al₂O₃ collisions, from the thermal regime up to 11,000 m/s impact velocity
|
| 81 |
+
- **Not valid for:** other species/materials, conditions far outside the training data, or
|
| 82 |
+
chemistry beyond what the classical MD potential captures
|
| 83 |
+
|
| 84 |
+
## Usage in PICLas
|
| 85 |
+
|
| 86 |
+
Example entry in `parameter.ini`:
|
| 87 |
+
|
| 88 |
+
```
|
| 89 |
+
Part-Boundary1-SurfaceModel = 0 ! only Scattering: 0
|
| 90 |
+
Part-Boundary1-SurfaceModelScattering = 3 ! cVAE: 2, cRealNVP: 3
|
| 91 |
+
SurfaceScattering-NumOfMLs = 1
|
| 92 |
+
SurfaceScattering-ML1-NumOfBoundaries = 1
|
| 93 |
+
SurfaceScattering-ML1-Boundaries = (/1/)
|
| 94 |
+
SurfaceScattering-ML1-File = https://huggingface.co/PICLas-ML/GSI/resolve/main/cRealNVP_MDclassic_O-Al2O3-O.h5
|
| 95 |
+
```
|
| 96 |
+
|
| 97 |
+
The model is downloaded and cached under `piclas-ml/gsi/` on first use.
|
| 98 |
+
|
| 99 |
+
For further information, visit the [PICLas documentation](https://piclas.readthedocs.io/en/latest/).
|
| 100 |
+
|
| 101 |
+
## Citation
|
| 102 |
+
|
| 103 |
+
If your research leads to a publication, please cite the models using:
|
| 104 |
+
|
| 105 |
+
```bibtex
|
| 106 |
+
@misc{schütte2026conditionalnormalizingflowgassurface,
|
| 107 |
+
title={Conditional Normalizing Flow for Gas-Surface Scattering from Thermal to Hypersonic Velocities},
|
| 108 |
+
author={Miklas Schütte and Stephen Hocker and Hansjörg Lipp and Johannes Roth and Stefanos Fasoulas and Marcel Pfeiffer},
|
| 109 |
+
year={2026},
|
| 110 |
+
eprint={2606.31928},
|
| 111 |
+
archivePrefix={arXiv},
|
| 112 |
+
primaryClass={physics.comp-ph},
|
| 113 |
+
url={https://arxiv.org/abs/2606.31928},
|
| 114 |
+
}
|
| 115 |
+
```
|