| --- |
| license: "cc-by-nc-sa-4.0" |
| tags: |
| - gas-surface-interaction |
| - normalizing-flow |
| - real-nvp |
| - variational-autoencoder |
| - molecular-dynamics |
| - piclas |
| - dsmc |
| - rarefied-gas-dynamics |
| - vleo |
| library_name: "piclas" |
| --- |
| |
| # PICLas-ML/GSI - ML Gas-Surface Interaction Models |
|
|
| Machine-learned surface scattering models for [PICLas](https://github.com/piclas-framework/piclas), |
| an open-source 3D particle-based kinetic simulation framework for plasma dynamics and rarefied |
| gas flows. |
|
|
| ## Models in Repo |
|
|
| This repo contains two model architectures for calculating the scattering of atomic oxygen on an aluminum oxide surface Al₂O₃: |
|
|
| - **cRealNVP** - a conditional real-valued non-volume-preserving flow, using a detailed-balance |
| loss as a physics constraint |
| - **cVAE** - a conditional variational autoencoder |
|
|
| | File | Architecture | Incident Species → Surface → Reflected Species | |
| |---|---|---| |
| | `cRealNVP_MDclassic_O-Al2O3-O.h5` | Conditional RealNVP (normalizing flow) | O → Al₂O₃ → O | |
| | `cVAE_MDclassic_O-Al2O3-O.h5` | Conditional variational autoencoder | O → Al₂O₃ → O | |
|
|
| **File naming convention:** `<architecture>_<data source>_<species>.h5` |
| - 1st part — model architecture: `cVAE` or `cRealNVP` |
| - 2nd part — source of the non-equilibrium data: MD simulation with a classical potential |
| - 3rd part — atomic oxygen impacting an aluminum oxide surface; outgoing species is atomic oxygen |
|
|
| **Performance comparison:** |
|
|
| | | cRealNVP | cVAE | |
| |---|---|---| |
| | Accuracy (thermal → 11,000 m/s) | Better overall | Comparable till 10,000 m/s | |
| | Equilibrium temperature | Converges correctly | Does not converge correctly | |
| | Sampling speed | Slower | Much faster | |
|
|
| ## Method |
|
|
| These models were developed as a collaboration within the [Collaborative Research Center 1667 ATLAS](https://www.sfb1667.uni-stuttgart.de/) |
| at the University of Stuttgart. A detailed description of the models and the data is given in |
| [arXiv:2606.31928](https://arxiv.org/abs/2606.31928) - *Conditional Normalizing Flow for |
| Gas-Surface Scattering from Thermal to Hypersonic Velocities*. |
|
|
| **Data** |
|
|
| Two training data sets are used, both for atomic oxygen impacting an aluminum oxide (Al₂O₃) |
| surface: |
| - Non-equilibrium data generated from MD simulations |
| - Equilibrium data generated from Maxwell flux distribution |
|
|
| *Non-Equilibrium Data:* |
| - Atomic oxygen impacts on an aluminum oxide surface are simulated with molecular dynamics |
| using classical potentials |
| - Incident velocity magnitudes: 2,000-10,000 m/s |
| - Polar angles: 0°-80° |
|
|
| *Equlibrium:* |
| - If the gas is in equilibrium with the wall, an incident Maxwell flux must be reflected as the same Maxwell flux |
| - Maxwell flux samples are added to the training data to cover the equilibrium regime |
|
|
| **Model** |
|
|
| - 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. |
| - To learn this kernel from data, two generative ML models (cVAE and cRealNVP) are trained on the data |
|
|
| ## Intended use |
|
|
| - Load into PICLas as an ML surrogate GSI scattering model to sample scattered particle velocities |
| - **Valid for:** O → Al₂O₃ collisions, from the thermal regime up to 11,000 m/s impact velocity |
| - **Not valid for:** other species/materials, conditions far outside the training data, or |
| chemistry beyond what the classical MD potential captures |
|
|
| ## Usage in PICLas |
|
|
| Example entry in `parameter.ini`: |
|
|
| ``` |
| Part-Boundary1-SurfaceModel = 0 ! only Scattering: 0 |
| Part-Boundary1-SurfaceModelScattering = 3 ! cVAE: 2, cRealNVP: 3 |
| SurfaceScattering-NumOfMLs = 1 |
| SurfaceScattering-ML1-NumOfBoundaries = 1 |
| SurfaceScattering-ML1-Boundaries = (/1/) |
| SurfaceScattering-ML1-File = https://huggingface.co/PICLas-ML/GSI/resolve/main/cRealNVP_MDclassic_O-Al2O3-O.h5 |
| ``` |
|
|
| The model is downloaded and cached under `piclas-ml/gsi/` on first use. |
|
|
| For further information, visit the [PICLas documentation](https://piclas.readthedocs.io/en/latest/). |
|
|
| ## Citation |
|
|
| If your research leads to a publication, please cite the models using: |
|
|
| ```bibtex |
| @misc{schütte2026conditionalnormalizingflowgassurface, |
| title={Conditional Normalizing Flow for Gas-Surface Scattering from Thermal to Hypersonic Velocities}, |
| author={Miklas Schütte and Stephen Hocker and Hansjörg Lipp and Johannes Roth and Stefanos Fasoulas and Marcel Pfeiffer}, |
| year={2026}, |
| eprint={2606.31928}, |
| archivePrefix={arXiv}, |
| primaryClass={physics.comp-ph}, |
| url={https://arxiv.org/abs/2606.31928}, |
| } |
| ``` |
|
|