schuettem commited on
Commit
6f90ed4
·
verified ·
1 Parent(s): 4c1d6a8

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +115 -0
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
+ ```