You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/documentation/userguide/features-and-models/features-particle-solver.md
+21-11Lines changed: 21 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -92,13 +92,13 @@ are discussed in Section {ref}`sec:2D-axisymmetric`
92
92
93
93
### Species-specific time step
94
94
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
96
96
97
97
Part-Species1-TimeStepFactor = 0.01
98
98
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.
100
100
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:
102
102
103
103
Part-VariableTimeStep-DisableForMCC = T
104
104
@@ -109,6 +109,7 @@ For species with a time step factor lower than 1, it is compared with a random n
109
109
For one-dimensional (e.g. shock-tubes), two-dimensional (e.g. cylinder) and axisymmetric (e.g. re-entry capsules) cases, the
110
110
computational effort can be greatly reduced.
111
111
112
+
(sec:1D-sym)=
112
113
### 1D Simulations
113
114
114
115
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
117
118
118
119
The calculation is performed along the $x$-axis. The $y$ and $z$ dimension should be centered to the $xz$-plane (i.e.
119
120
$|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`.
121
122
122
123
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.
124
127
125
128
(sec:2D-axisymmetric)=
126
129
### 2D/Axisymmetric Simulations
@@ -131,24 +134,31 @@ To enable two-dimensional simulations, the symmetry order has to be set
131
134
132
135
Two-dimensional and axisymmetric simulations require a mesh in the $xy$-plane, where the $x$-axis is the rotational axis and $y$
133
136
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
136
146
137
147
Part-Boundary4-SourceName=SYMAXIS
138
148
Part-Boundary4-Condition=symmetric_axis
139
149
140
150
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
142
152
143
153
Part-Boundary5-SourceName=SYM
144
-
Part-Boundary5-Condition=symmetric
154
+
Part-Boundary5-Condition=symmetric_dim
145
155
146
156
It should be noted that the two-dimensional mesh assumes a length of $\Delta z = 1$, regardless of the actual dimension in $z$.
147
157
Therefore, the weighting factor should be adapted accordingly.
148
158
149
159
To enable axisymmetric simulations, the following flag is required
150
160
151
-
Particles-SymmetryAxisymmetric=T
161
+
Particles-Symmetry2DAxisymmetric=T
152
162
153
163
To fully exploit rotational symmetry, a radial weighting can be enabled, which will linearly increase the weighting factor $w$
154
164
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
222
232
Part-VariableTimeStep-ScaleFactor2DBack = 2.0
223
233
224
234
(sec:variable-particle-weighting)=
225
-
####Variable Particle Weighting
235
+
## Variable Particle Weighting
226
236
227
237
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:
0 commit comments