Skip to content

Commit

Permalink
Merge branch 'master.dev' into 'master'
Browse files Browse the repository at this point in the history
Release 3.2.1

See merge request piclas/piclas!940
  • Loading branch information
pnizenkov committed Jun 3, 2024
2 parents 60463cc + f7b9cc9 commit a2e37f1
Show file tree
Hide file tree
Showing 102 changed files with 1,618 additions and 605 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/cmake-ninja.yml
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ jobs:
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: piclas-binaries-v3.2.0
name: piclas-binaries-v3.2.1
path: artifacts

- name: Upload release asset
Expand Down
9 changes: 8 additions & 1 deletion CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# List of Contributors

This is a (possibly incomplete) list of the people who contributed to piclas.
This is a (possibly incomplete) list of the people who contributed to PICLas.

* Christoph Altmann
* Muhammed Atak
Expand All @@ -15,29 +15,36 @@ This is a (possibly incomplete) list of the people who contributed to piclas.
* David Flad
* Fabian Föll
* Hannes Frank
* Félix Garmirian
* Gregor Gassner
* Florian Hindenlang
* Andrea Hinkel
* Konstantin Hinsberger
* Franziska Hild
* Timon Hitz
* Malte Hoffmann
* Serena Keller
* Johannes Kleinert
* Marius Koch
* Patrick Kopper
* Nico Krais
* Simone Lauterbach
* Robert Mansk
* Claudia Marianowski
* Claus-Dieter Munz
* Asim Mirza
* Jonathan Neudorfer
* Paul Nizenkov
* Jonatan Núñez-de la Rosa
* Philipp Offenhaeuser
* Philip Ortwein
* Tobias Ott
* Marcel Pfeiffer
* Wladimir Reschke
* Matthias Sonntag
* Marcel "Mitch" Scherrmann
* Valentin Schunck
* Miklas Schütte
* Anna Schwarz
* Marc Staudenmaier
* Torsten Stindl
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ The `Part-Boundary1-SourceName=` corresponds to the name given during the prepro
| :------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `open` | Every particle crossing the boundary will be deleted |
| `symmetric` | A perfect specular reflection, without sampling of particle impacts |
| `symmetric_axis` | Definition of the axis of rotation in axisymmetric 2D simulations: Section {ref}`sec:2D-axisymmetric` |
| `symmetric_dim` | Definition of symmetrical boundaries in 1D and 2D simulations: Section {ref}`sec:2Dxisymmetric`, Section {ref}`sec:1D-sym` |
| `reflective` | Definition of different surface models: Section {ref}`sec:particle-boundary-conditions-reflective`, Section {ref}`sec:surface-chemistry`, Section {ref}`sec:catalytic-surface` |
| `rot_periodic` | Definition of rotational periodicity: Section {ref}`sec:particle-boundary-conditions-rotBC` |
| `rot_periodic_inter_plane` | Extension of rotational periodicity, allowing non-conformal interfaces and varying periodicity |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,13 +92,13 @@ are discussed in Section {ref}`sec:2D-axisymmetric`

### Species-specific time step

This option is decoupled from the other two time step options as the time step is not applied on a per-particle basis but for each species. Currently, its main application is for PIC-MCC simulations (only Poisson field solver with Euler, Leapfrog and Boris-Leapfrog time discretization methods), where there are large differences in the time scales (e.g. electron movement requires a time step of several orders of magnitude smaller than for the ions). The species-specific time step is actvitated per species by setting a factor
This option is decoupled from the other two time step options as the time step is not applied on a per-particle basis but for each species. Currently, its main application is for PIC-MCC simulations (only Poisson field solver with Euler, Leapfrog and Boris-Leapfrog time discretization methods), where there are large differences in the time scales (e.g. electron movement requires a time step of several orders of magnitude smaller than the ions). The species-specific time step is actvitated per species by setting a factor

Part-Species1-TimeStepFactor = 0.01

that is multiplied with the provided time step. If no time step factor is provided, the default time step will be utilized. In this example, the species will be effectively simulated with a time step 100 smaller than the given time step.
that is multiplied with the provided time step. If no time step factor is provided, the default time step will be utilized. In this example, the species will be effectively simulated with a time step 100 smaller than the given time step. Since the number of iterations remains the same, the species will effectively progress slower in time and the defined `tend` is not applicable anymore. This model should not be confused with a sub-cycling method and only be used for steady-state cases.

To accelerate the convergence to steady-state, the following flag can be used to perform collisions and reactions at the regular time step.
To accelerate the convergence to steady-state, the following flag can be used to perform collisions and reactions at the regular time step:

Part-VariableTimeStep-DisableForMCC = T

Expand All @@ -109,6 +109,7 @@ For species with a time step factor lower than 1, it is compared with a random n
For one-dimensional (e.g. shock-tubes), two-dimensional (e.g. cylinder) and axisymmetric (e.g. re-entry capsules) cases, the
computational effort can be greatly reduced.

(sec:1D-sym)=
### 1D Simulations

To enable one-dimensional simulations, the symmetry order has to be set
Expand All @@ -117,10 +118,12 @@ To enable one-dimensional simulations, the symmetry order has to be set

The calculation is performed along the $x$-axis. The $y$ and $z$ dimension should be centered to the $xz$-plane (i.e.
$|y_{\mathrm{min}}|=|y_{\mathrm{max}}|$). All sides of the hexahedrons must be parallel to the $xy$-, $xz$-, and $yz$-plane.
Boundaries in $y$ and $z$ direction shall be defined as 'symmetric'.
Boundaries in $y$ and $z$ direction shall be defined as `symmetric_dim`.

Part-Boundary5-SourceName=SYM
Part-Boundary5-Condition=symmetric
Part-Boundary5-Condition=symmetric_dim

The code assumes a length of $\Delta y = \Delta z = 1$, regardless of the actual dimension in $y$ and $z$. Therefore, the weighting factor should be adapted accordingly.

(sec:2D-axisymmetric)=
### 2D/Axisymmetric Simulations
Expand All @@ -131,24 +134,31 @@ To enable two-dimensional simulations, the symmetry order has to be set

Two-dimensional and axisymmetric simulations require a mesh in the $xy$-plane, where the $x$-axis is the rotational axis and $y$
ranges from zero to a positive value. Additionally, the mesh shall be centered around zero in the $z$-direction with a single cell
row, such as that $|z_{\mathrm{min}}|=|z_{\mathrm{max}}|$. The rotational symmetry axis shall be defined as a separate boundary
with the `symmetric_axis` boundary condition
row, such as that $|z_{\mathrm{min}}|=|z_{\mathrm{max}}|$. It should be noted that when converting or creating the mesh using `HOPR`,
it is recommended to define the space filling curve by

sfc_type = mortonZ ! alternative: hilbertZ

in the `hopr.ini` parameter file. This utilizes a 2D space filling curve, which can reduce the simulation duration significantly as
it improves the distribution of the cells per processor. This applies even to certain 3D cases, such as a channel flow.

The rotational symmetry axis shall be defined as a separate boundary with the `symmetric_axis` boundary condition

Part-Boundary4-SourceName=SYMAXIS
Part-Boundary4-Condition=symmetric_axis

The boundaries (or a single boundary definition for both boundary sides) in the $z$-direction should be defined as symmetry sides
with the `symmetric` condition
with the `symmetric_dim` condition

Part-Boundary5-SourceName=SYM
Part-Boundary5-Condition=symmetric
Part-Boundary5-Condition=symmetric_dim

It should be noted that the two-dimensional mesh assumes a length of $\Delta z = 1$, regardless of the actual dimension in $z$.
Therefore, the weighting factor should be adapted accordingly.

To enable axisymmetric simulations, the following flag is required

Particles-SymmetryAxisymmetric=T
Particles-Symmetry2DAxisymmetric=T

To fully exploit rotational symmetry, a radial weighting can be enabled, which will linearly increase the weighting factor $w$
towards $y_{\mathrm{max}}$ (i.e. the domain border in $y$-direction), depending on the current $y$-position of the particle.
Expand Down Expand Up @@ -222,7 +232,7 @@ only at the stagnation point, the time step defined during the initialization is
Part-VariableTimeStep-ScaleFactor2DBack = 2.0

(sec:variable-particle-weighting)=
#### Variable Particle Weighting
## Variable Particle Weighting

Variable particle weighting is currently supported for PIC (with and without background gas) or a background gas (an additional trace species feature is described in Section {ref}`sec:background-gas`). The general functionality can be enabled with the following flag:

Expand Down
8 changes: 4 additions & 4 deletions regressioncheck/CHE_BGK/2D_VTS_Insert_CellLocal/parameter.ini
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@ Part-Boundary3-Condition=reflective
Part-Boundary4-SourceName=BC_Yminus
Part-Boundary4-Condition=symmetric_axis
Part-Boundary5-SourceName=BC_Zplus
Part-Boundary5-Condition=symmetric
Part-Boundary5-Condition=symmetric_dim
Part-Boundary6-SourceName=BC_Zminus
Part-Boundary6-Condition=symmetric
Part-Boundary6-Condition=symmetric_dim
Part-FIBGMdeltas=(/2e-6,2e-6,1e-6/)
! =============================================================================== !
! Species1 - O2
Expand Down Expand Up @@ -84,7 +84,7 @@ Particles-OctreePartNumNode=80
Particles-OctreePartNumNodeMin=50
Particles-DSMC-CalcQualityFactors=F
! Symmetry
Particles-Symmetry2D=T,T,T
Particles-Symmetry-Order=2,2,2
Particles-Symmetry2DAxisymmetric=T,T,F
! Radial Weighting
Particles-RadialWeighting=T,F,F
Expand All @@ -106,4 +106,4 @@ Particles-BGK-DoVibRelaxation=T
Particles-BGK-DoCellAdaptation=F
Particles-BGK-MinPartsPerCell=20

nocrosscombination:Particles-Symmetry2D,Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor
nocrosscombination:Particles-Symmetry-Order,Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor
8 changes: 4 additions & 4 deletions regressioncheck/CHE_BGK/2D_VTS_SurfFlux_Tria/parameter.ini
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ Part-Boundary3-Condition=reflective
Part-Boundary4-SourceName=BC_Yminus
Part-Boundary4-Condition=symmetric_axis
Part-Boundary5-SourceName=BC_Zplus
Part-Boundary5-Condition=symmetric
Part-Boundary5-Condition=symmetric_dim
Part-Boundary6-SourceName=BC_Zminus
Part-Boundary6-Condition=symmetric
Part-Boundary6-Condition=symmetric_dim
Part-FIBGMdeltas=(/2e-6,2e-6,1e-6/)
! =============================================================================== !
! Species1 - O2
Expand Down Expand Up @@ -83,7 +83,7 @@ Particles-OctreePartNumNode=80
Particles-OctreePartNumNodeMin=50
Particles-DSMC-CalcQualityFactors=F
! Symmetry
Particles-Symmetry2D=T,T,T
Particles-Symmetry-Order=2,2,2
Particles-Symmetry2DAxisymmetric=T,T,F
! Radial Weighting
Particles-RadialWeighting=T,F,F
Expand All @@ -105,4 +105,4 @@ Particles-BGK-DoVibRelaxation=T
Particles-BGK-DoCellAdaptation=F
Particles-BGK-MinPartsPerCell=20

nocrosscombination:Particles-Symmetry2D,Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor
nocrosscombination:Particles-Symmetry-Order,Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor
2 changes: 1 addition & 1 deletion regressioncheck/CHE_DSMC/1D_Two_Hot_Plates/parameter.ini
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Part-nSpecies=1
Part-nBounds=3

Part-Boundary1-SourceName=BC_Sym
Part-Boundary1-Condition=symmetric
Part-Boundary1-Condition=symmetric_dim

Part-Boundary2-SourceName=BC_Inflow
Part-Boundary2-Condition=reflective
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ Part-Boundary3-Condition=reflective
Part-Boundary4-SourceName=BC_Yminus
Part-Boundary4-Condition=symmetric_axis
Part-Boundary5-SourceName=BC_Zplus
Part-Boundary5-Condition=symmetric
Part-Boundary5-Condition=symmetric_dim
Part-Boundary6-SourceName=BC_Zminus
Part-Boundary6-Condition=symmetric
Part-Boundary6-Condition=symmetric_dim
Part-FIBGMdeltas=(/2e-6,2e-6,1e-6/)
! =============================================================================== !
! Species1 - O2
Expand Down Expand Up @@ -80,7 +80,7 @@ Particles-OctreePartNumNode=80
Particles-OctreePartNumNodeMin=50
Particles-DSMC-CalcQualityFactors=F
! Symmetry
Particles-Symmetry2D=T,T,T
Particles-Symmetry-Order=2,2,2
Particles-Symmetry2DAxisymmetric=T,T,F
! Radial Weighting
Particles-RadialWeighting=T,F,F
Expand All @@ -95,4 +95,4 @@ Part-VariableTimeStep-Use2DFunction = T
Part-VariableTimeStep-StagnationPoint = 0.5E-5
Part-VariableTimeStep-ScaleFactor2DFront = 2.0
Part-VariableTimeStep-ScaleFactor2DBack = 2.0
nocrosscombination:Particles-Symmetry2D,Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor
nocrosscombination:Particles-Symmetry-Order,Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor
4 changes: 2 additions & 2 deletions regressioncheck/CHE_DSMC/2D_VTS_SurfFlux_Tria/analyze.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
compare_data_file_name = PartAnalyze.csv
compare_data_file_reference = PartAnalyze_ref.csv
compare_data_file_tolerance = 0.05
compare_data_file_tolerance_type = relative
compare_data_file_tolerance = 0.09
compare_data_file_tolerance_type = relative
6 changes: 3 additions & 3 deletions regressioncheck/CHE_DSMC/2D_VTS_SurfFlux_Tria/parameter.ini
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ Part-Boundary3-Condition=reflective
Part-Boundary4-SourceName=BC_Yminus
Part-Boundary4-Condition=symmetric_axis
Part-Boundary5-SourceName=BC_Zplus
Part-Boundary5-Condition=symmetric
Part-Boundary5-Condition=symmetric_dim
Part-Boundary6-SourceName=BC_Zminus
Part-Boundary6-Condition=symmetric
Part-Boundary6-Condition=symmetric_dim
Part-FIBGMdeltas=(/2e-6,2e-6,1e-6/)
! =============================================================================== !
! Species1 - O2
Expand Down Expand Up @@ -98,4 +98,4 @@ Part-VariableTimeStep-StagnationPoint = 0.0
Part-VariableTimeStep-ScaleFactor2DFront = 2.0
Part-VariableTimeStep-ScaleFactor2DBack = 2.0

nocrosscombination:Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor
nocrosscombination:Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ Part-Boundary3-Condition=reflective
Part-Boundary4-SourceName=BC_Yminus
Part-Boundary4-Condition=symmetric_axis
Part-Boundary5-SourceName=BC_Zplus
Part-Boundary5-Condition=symmetric
Part-Boundary5-Condition=symmetric_dim
Part-Boundary6-SourceName=BC_Zminus
Part-Boundary6-Condition=symmetric
Part-Boundary6-Condition=symmetric_dim
Part-FIBGMdeltas=(/2e-6,2e-6,1e-6/)
! =============================================================================== !
! Species1 - O2
Expand Down Expand Up @@ -116,4 +116,4 @@ Part-VariableTimeStep-StagnationPoint = 0.0
Part-VariableTimeStep-ScaleFactor2DFront = 2.0
Part-VariableTimeStep-ScaleFactor2DBack = 2.0

nocrosscombination:Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor
nocrosscombination:Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor
6 changes: 3 additions & 3 deletions regressioncheck/CHE_DSMC/BC_PorousBC_2DAxi/parameter.ini
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ Part-Boundary3-Condition=reflective
Part-Boundary4-SourceName=BC_Yminus
Part-Boundary4-Condition=symmetric_axis
Part-Boundary5-SourceName=BC_Zplus
Part-Boundary5-Condition=symmetric
Part-Boundary5-Condition=symmetric_dim
Part-Boundary6-SourceName=BC_Zminus
Part-Boundary6-Condition=symmetric
Part-Boundary6-Condition=symmetric_dim
Part-FIBGMdeltas=(/2e-6,2e-6,2e-6/)
! =============================================================================== !
! PorousBC at Xminus (BC=2)
Expand Down Expand Up @@ -109,7 +109,7 @@ Particles-DSMC-UseOctree=true
Particles-DSMC-UseNearestNeighbour = T
Particles-DSMC-CalcQualityFactors=F
! Symmetry
Particles-Symmetry2D=T
Particles-Symmetry-Order=2
Particles-Symmetry2DAxisymmetric=T
! Radial Weighting
Particles-RadialWeighting=F,T
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ Part-Boundary3-Condition=symmetric
Part-Boundary4-SourceName=BC_Yminus
Part-Boundary4-Condition=symmetric
Part-Boundary5-SourceName=BC_Zplus
Part-Boundary5-Condition=symmetric
Part-Boundary5-Condition=symmetric_dim
Part-Boundary6-SourceName=BC_Zminus
Part-Boundary6-Condition=symmetric
Part-Boundary6-Condition=symmetric_dim
Part-FIBGMdeltas=(/ 0.1, 0.1, 1 /)
! =============================================================================== !
! Species1 - O2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ Part-Boundary3-Condition=symmetric
Part-Boundary4-SourceName=BC_Yminus
Part-Boundary4-Condition=symmetric
Part-Boundary5-SourceName=BC_Zplus
Part-Boundary5-Condition=symmetric
Part-Boundary5-Condition=symmetric_dim
Part-Boundary6-SourceName=BC_Zminus
Part-Boundary6-Condition=symmetric
Part-Boundary6-Condition=symmetric_dim
Part-FIBGMdeltas=(/ 0.1, 0.1, 1 /)
! =============================================================================== !
! Species1 - O2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ Part-Boundary3-Condition=reflective
Part-Boundary4-SourceName=BC_Yminus
Part-Boundary4-Condition=symmetric_axis
Part-Boundary5-SourceName=BC_Zplus
Part-Boundary5-Condition=symmetric
Part-Boundary5-Condition=symmetric_dim
Part-Boundary6-SourceName=BC_Zminus
Part-Boundary6-Condition=symmetric
Part-Boundary6-Condition=symmetric_dim
Part-FIBGMdeltas=(/2e-6,2e-6,1e-6/)
! =============================================================================== !
! Species1 - O2
Expand Down Expand Up @@ -79,7 +79,7 @@ Particles-DSMC-UseOctree=true
Particles-DSMC-UseNearestNeighbour = T
Particles-DSMC-CalcQualityFactors=F
! Symmetry
Particles-Symmetry2D=T,T,T
Particles-Symmetry-Order=2,2,2
Particles-Symmetry2DAxisymmetric=T,T,F
! Radial Weighting
Particles-RadialWeighting=T,F,F
Expand All @@ -102,4 +102,4 @@ Particles-FP-DoVibRelaxation=T
Particles-FP-DoCellAdaptation=F
Particles-FP-MinPartsPerCell=20

nocrosscombination:Particles-Symmetry2D,Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor
nocrosscombination:Particles-Symmetry-Order,Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor
8 changes: 4 additions & 4 deletions regressioncheck/CHE_FPFlow/2D_VTS_SurfFlux_Tria/parameter.ini
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ Part-Boundary3-Condition=reflective
Part-Boundary4-SourceName=BC_Yminus
Part-Boundary4-Condition=symmetric_axis
Part-Boundary5-SourceName=BC_Zplus
Part-Boundary5-Condition=symmetric
Part-Boundary5-Condition=symmetric_dim
Part-Boundary6-SourceName=BC_Zminus
Part-Boundary6-Condition=symmetric
Part-Boundary6-Condition=symmetric_dim
Part-FIBGMdeltas=(/2e-6,2e-6,1e-6/)
! =============================================================================== !
! Species1 - O2
Expand Down Expand Up @@ -82,7 +82,7 @@ Particles-DSMC-UseOctree=true
Particles-DSMC-UseNearestNeighbour = T
Particles-DSMC-CalcQualityFactors=F
! Symmetry
Particles-Symmetry2D=T,T,T
Particles-Symmetry-Order=2,2,2
Particles-Symmetry2DAxisymmetric=T,T,F
! Radial Weighting
Particles-RadialWeighting=T,F,F
Expand All @@ -105,4 +105,4 @@ Particles-FP-DoVibRelaxation=T
Particles-FP-DoCellAdaptation=F
Particles-FP-MinPartsPerCell=20

nocrosscombination:Particles-Symmetry2D,Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor
nocrosscombination:Particles-Symmetry-Order,Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor
Loading

0 comments on commit a2e37f1

Please sign in to comment.