Skip to content

Commit a2e37f1

Browse files
committed
Merge branch 'master.dev' into 'master'
Release 3.2.1 See merge request piclas/piclas!940
2 parents 60463cc + f7b9cc9 commit a2e37f1

102 files changed

Lines changed: 1618 additions & 605 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/cmake-ninja.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ jobs:
318318
- name: Upload artifacts
319319
uses: actions/upload-artifact@v3
320320
with:
321-
name: piclas-binaries-v3.2.0
321+
name: piclas-binaries-v3.2.1
322322
path: artifacts
323323

324324
- name: Upload release asset

CONTRIBUTORS.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# List of Contributors
22

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

55
* Christoph Altmann
66
* Muhammed Atak
@@ -15,29 +15,36 @@ This is a (possibly incomplete) list of the people who contributed to piclas.
1515
* David Flad
1616
* Fabian Föll
1717
* Hannes Frank
18+
* Félix Garmirian
1819
* Gregor Gassner
1920
* Florian Hindenlang
2021
* Andrea Hinkel
2122
* Konstantin Hinsberger
23+
* Franziska Hild
2224
* Timon Hitz
2325
* Malte Hoffmann
2426
* Serena Keller
2527
* Johannes Kleinert
2628
* Marius Koch
2729
* Patrick Kopper
2830
* Nico Krais
31+
* Simone Lauterbach
2932
* Robert Mansk
33+
* Claudia Marianowski
3034
* Claus-Dieter Munz
3135
* Asim Mirza
3236
* Jonathan Neudorfer
3337
* Paul Nizenkov
3438
* Jonatan Núñez-de la Rosa
3539
* Philipp Offenhaeuser
3640
* Philip Ortwein
41+
* Tobias Ott
3742
* Marcel Pfeiffer
3843
* Wladimir Reschke
3944
* Matthias Sonntag
4045
* Marcel "Mitch" Scherrmann
46+
* Valentin Schunck
47+
* Miklas Schütte
4148
* Anna Schwarz
4249
* Marc Staudenmaier
4350
* Torsten Stindl

docs/documentation/userguide/features-and-models/BC-particle-solver.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ The `Part-Boundary1-SourceName=` corresponds to the name given during the prepro
1616
| :------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1717
| `open` | Every particle crossing the boundary will be deleted |
1818
| `symmetric` | A perfect specular reflection, without sampling of particle impacts |
19+
| `symmetric_axis` | Definition of the axis of rotation in axisymmetric 2D simulations: Section {ref}`sec:2D-axisymmetric` |
20+
| `symmetric_dim` | Definition of symmetrical boundaries in 1D and 2D simulations: Section {ref}`sec:2Dxisymmetric`, Section {ref}`sec:1D-sym` |
1921
| `reflective` | Definition of different surface models: Section {ref}`sec:particle-boundary-conditions-reflective`, Section {ref}`sec:surface-chemistry`, Section {ref}`sec:catalytic-surface` |
2022
| `rot_periodic` | Definition of rotational periodicity: Section {ref}`sec:particle-boundary-conditions-rotBC` |
2123
| `rot_periodic_inter_plane` | Extension of rotational periodicity, allowing non-conformal interfaces and varying periodicity |

docs/documentation/userguide/features-and-models/features-particle-solver.md

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,13 @@ are discussed in Section {ref}`sec:2D-axisymmetric`
9292

9393
### Species-specific time step
9494

95-
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
95+
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
9696

9797
Part-Species1-TimeStepFactor = 0.01
9898

99-
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.
99+
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.
100100

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

103103
Part-VariableTimeStep-DisableForMCC = T
104104

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

112+
(sec:1D-sym)=
112113
### 1D Simulations
113114

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

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

122123
Part-Boundary5-SourceName=SYM
123-
Part-Boundary5-Condition=symmetric
124+
Part-Boundary5-Condition=symmetric_dim
125+
126+
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.
124127

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

132135
Two-dimensional and axisymmetric simulations require a mesh in the $xy$-plane, where the $x$-axis is the rotational axis and $y$
133136
ranges from zero to a positive value. Additionally, the mesh shall be centered around zero in the $z$-direction with a single cell
134-
row, such as that $|z_{\mathrm{min}}|=|z_{\mathrm{max}}|$. The rotational symmetry axis shall be defined as a separate boundary
135-
with the `symmetric_axis` boundary condition
137+
row, such as that $|z_{\mathrm{min}}|=|z_{\mathrm{max}}|$. It should be noted that when converting or creating the mesh using `HOPR`,
138+
it is recommended to define the space filling curve by
139+
140+
sfc_type = mortonZ ! alternative: hilbertZ
141+
142+
in the `hopr.ini` parameter file. This utilizes a 2D space filling curve, which can reduce the simulation duration significantly as
143+
it improves the distribution of the cells per processor. This applies even to certain 3D cases, such as a channel flow.
144+
145+
The rotational symmetry axis shall be defined as a separate boundary with the `symmetric_axis` boundary condition
136146

137147
Part-Boundary4-SourceName=SYMAXIS
138148
Part-Boundary4-Condition=symmetric_axis
139149

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

143153
Part-Boundary5-SourceName=SYM
144-
Part-Boundary5-Condition=symmetric
154+
Part-Boundary5-Condition=symmetric_dim
145155

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

149159
To enable axisymmetric simulations, the following flag is required
150160

151-
Particles-SymmetryAxisymmetric=T
161+
Particles-Symmetry2DAxisymmetric=T
152162

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

224234
(sec:variable-particle-weighting)=
225-
#### Variable Particle Weighting
235+
## Variable Particle Weighting
226236

227237
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:
228238

regressioncheck/CHE_BGK/2D_VTS_Insert_CellLocal/parameter.ini

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ Part-Boundary3-Condition=reflective
4646
Part-Boundary4-SourceName=BC_Yminus
4747
Part-Boundary4-Condition=symmetric_axis
4848
Part-Boundary5-SourceName=BC_Zplus
49-
Part-Boundary5-Condition=symmetric
49+
Part-Boundary5-Condition=symmetric_dim
5050
Part-Boundary6-SourceName=BC_Zminus
51-
Part-Boundary6-Condition=symmetric
51+
Part-Boundary6-Condition=symmetric_dim
5252
Part-FIBGMdeltas=(/2e-6,2e-6,1e-6/)
5353
! =============================================================================== !
5454
! Species1 - O2
@@ -84,7 +84,7 @@ Particles-OctreePartNumNode=80
8484
Particles-OctreePartNumNodeMin=50
8585
Particles-DSMC-CalcQualityFactors=F
8686
! Symmetry
87-
Particles-Symmetry2D=T,T,T
87+
Particles-Symmetry-Order=2,2,2
8888
Particles-Symmetry2DAxisymmetric=T,T,F
8989
! Radial Weighting
9090
Particles-RadialWeighting=T,F,F
@@ -106,4 +106,4 @@ Particles-BGK-DoVibRelaxation=T
106106
Particles-BGK-DoCellAdaptation=F
107107
Particles-BGK-MinPartsPerCell=20
108108

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

regressioncheck/CHE_BGK/2D_VTS_SurfFlux_Tria/parameter.ini

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ Part-Boundary3-Condition=reflective
4444
Part-Boundary4-SourceName=BC_Yminus
4545
Part-Boundary4-Condition=symmetric_axis
4646
Part-Boundary5-SourceName=BC_Zplus
47-
Part-Boundary5-Condition=symmetric
47+
Part-Boundary5-Condition=symmetric_dim
4848
Part-Boundary6-SourceName=BC_Zminus
49-
Part-Boundary6-Condition=symmetric
49+
Part-Boundary6-Condition=symmetric_dim
5050
Part-FIBGMdeltas=(/2e-6,2e-6,1e-6/)
5151
! =============================================================================== !
5252
! Species1 - O2
@@ -83,7 +83,7 @@ Particles-OctreePartNumNode=80
8383
Particles-OctreePartNumNodeMin=50
8484
Particles-DSMC-CalcQualityFactors=F
8585
! Symmetry
86-
Particles-Symmetry2D=T,T,T
86+
Particles-Symmetry-Order=2,2,2
8787
Particles-Symmetry2DAxisymmetric=T,T,F
8888
! Radial Weighting
8989
Particles-RadialWeighting=T,F,F
@@ -105,4 +105,4 @@ Particles-BGK-DoVibRelaxation=T
105105
Particles-BGK-DoCellAdaptation=F
106106
Particles-BGK-MinPartsPerCell=20
107107

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

regressioncheck/CHE_DSMC/1D_Two_Hot_Plates/parameter.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Part-nSpecies=1
3232
Part-nBounds=3
3333

3434
Part-Boundary1-SourceName=BC_Sym
35-
Part-Boundary1-Condition=symmetric
35+
Part-Boundary1-Condition=symmetric_dim
3636

3737
Part-Boundary2-SourceName=BC_Inflow
3838
Part-Boundary2-Condition=reflective

regressioncheck/CHE_DSMC/2D_VTS_Insert_CellLocal/parameter.ini

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ Part-Boundary3-Condition=reflective
4343
Part-Boundary4-SourceName=BC_Yminus
4444
Part-Boundary4-Condition=symmetric_axis
4545
Part-Boundary5-SourceName=BC_Zplus
46-
Part-Boundary5-Condition=symmetric
46+
Part-Boundary5-Condition=symmetric_dim
4747
Part-Boundary6-SourceName=BC_Zminus
48-
Part-Boundary6-Condition=symmetric
48+
Part-Boundary6-Condition=symmetric_dim
4949
Part-FIBGMdeltas=(/2e-6,2e-6,1e-6/)
5050
! =============================================================================== !
5151
! Species1 - O2
@@ -80,7 +80,7 @@ Particles-OctreePartNumNode=80
8080
Particles-OctreePartNumNodeMin=50
8181
Particles-DSMC-CalcQualityFactors=F
8282
! Symmetry
83-
Particles-Symmetry2D=T,T,T
83+
Particles-Symmetry-Order=2,2,2
8484
Particles-Symmetry2DAxisymmetric=T,T,F
8585
! Radial Weighting
8686
Particles-RadialWeighting=T,F,F
@@ -95,4 +95,4 @@ Part-VariableTimeStep-Use2DFunction = T
9595
Part-VariableTimeStep-StagnationPoint = 0.5E-5
9696
Part-VariableTimeStep-ScaleFactor2DFront = 2.0
9797
Part-VariableTimeStep-ScaleFactor2DBack = 2.0
98-
nocrosscombination:Particles-Symmetry2D,Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor
98+
nocrosscombination:Particles-Symmetry-Order,Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
compare_data_file_name = PartAnalyze.csv
22
compare_data_file_reference = PartAnalyze_ref.csv
3-
compare_data_file_tolerance = 0.05
4-
compare_data_file_tolerance_type = relative
3+
compare_data_file_tolerance = 0.09
4+
compare_data_file_tolerance_type = relative

regressioncheck/CHE_DSMC/2D_VTS_SurfFlux_Tria/parameter.ini

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ Part-Boundary3-Condition=reflective
4444
Part-Boundary4-SourceName=BC_Yminus
4545
Part-Boundary4-Condition=symmetric_axis
4646
Part-Boundary5-SourceName=BC_Zplus
47-
Part-Boundary5-Condition=symmetric
47+
Part-Boundary5-Condition=symmetric_dim
4848
Part-Boundary6-SourceName=BC_Zminus
49-
Part-Boundary6-Condition=symmetric
49+
Part-Boundary6-Condition=symmetric_dim
5050
Part-FIBGMdeltas=(/2e-6,2e-6,1e-6/)
5151
! =============================================================================== !
5252
! Species1 - O2
@@ -98,4 +98,4 @@ Part-VariableTimeStep-StagnationPoint = 0.0
9898
Part-VariableTimeStep-ScaleFactor2DFront = 2.0
9999
Part-VariableTimeStep-ScaleFactor2DBack = 2.0
100100

101-
nocrosscombination:Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor
101+
nocrosscombination:Particles-Symmetry2DAxisymmetric,Particles-RadialWeighting,Part-Species1-MacroParticleFactor

0 commit comments

Comments
 (0)