-
Notifications
You must be signed in to change notification settings - Fork 2
/
collide.html
294 lines (264 loc) · 12.9 KB
/
collide.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
<HTML>
<CENTER><A HREF = "http://sparta.sandia.gov">SPARTA WWW Site</A> - <A HREF = "Manual.html">SPARTA Documentation</A> - <A HREF = "Section_commands.html#comm">SPARTA Commands</A>
</CENTER>
<HR>
<H3>collide command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>collide style args keyword value ...
</PRE>
<UL><LI>style = <I>none</I> or <I>vss</I>
<LI>args = arguments for that style
<PRE> <I>none</I> args = none
<I>vss</I> args = mix-ID file
mix-ID = ID of mixture to use for group definitions
file = filename that lists species with their VSS model parameters
<I>vss/kk</I> args = mix-ID file
mix-ID = ID of mixture to use for group definitions
file = filename that lists species with their VSS model parameters
<I>bgk</I> args = mix-ID bgk_mod file
mix-ID = ID of mixture to use for group definitions
bgk_mod = <I>bgk</I>, <I>esbgk</I>, <I>sbgk</I> or <I>usp</I>
file = filename that lists species with their BGK model parameters
</PRE>
<LI>zero or more keyword/value pairs may be appended
<LI>keyword = <I>relax</I>
<PRE> <I>relax</I> value = <I>constant</I> or <I>variable</I>
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>collide none
collide vss all ../data/air.vss
collide vss species all.vss relax variable
collide bgk air esbgk ar.bgk
collide bgk air sbgk ar.bgk
collide bgk air bgk ar.bgk
collide bgk air usp ar.bgk
</PRE>
<P><B>Description:</B>
</P>
<P>Define what style of particle-particle collisions will be performed by
SPARTA each timestep. If collisions are performed, particles are
sorted into grid cells every timestep and the appropriate collision
model is invoked on a per-grid-cell basis. Collisions alter the
velocity of participating particles as well as their rotational and
vibrational energies. The rotational and vibrational properties of
each species are set in the file read by the <A HREF = "species.html">species</A>
command.
</P>
<P>The collision style determines how many pairs of particles are
considered for collisions, the criteria for which collisions actually
occurs, and the outcome of individual collision, which alters the
velocities of the two particles. If chemistry is enabled, via the
<A HREF = "react.html">react</A> command, particles involved in collisions may also
change species, or a particle may be deleted, or a new particle
created. The <A HREF = "collide_modify.html">collide_modify</A> command can also be
used to alter aspects of how collisions are performed. For example,
it can be used to turn on/off the tracking of vibrational energy and
its exchange in collisions.
</P>
<P>A <I>mix-ID</I> argument is specified for each collision style. It must
contain all the species defined for use by the simulation, via the
<A HREF = "species.html">species</A> command. The group definitions in the mixture
assign one or more particle species to each group. These groupings
are used to determine how pairs of particles are chosen to collide
with each other, in the following manner.
</P>
<P>Consider a cell with N particles and a mixture with M groups. Based
on its species, each particle is assigned to one of the M groups.
Each unique pair of groups is considered, including each group paired
with itself. For each pair of groups a value <I>Nattempt</I>
(see equation 11.3 in <A HREF = "#Bird94">(Bird94)</A>) is calculated
which is the number of collisions to attempt. This is a function of
N1 and N2 (the number of particles in each group), the grid cell
volume, and other parameters of the collision style.
</P>
<P>For each collision attempt, a random pair of particles is selected,
with one particle from each group. Whether the collision occurs or
not is a function of the relative velocities of the two particles,
their respective species, and other parameters of the collision
style; see equation 11.4 in <A HREF = "#Bird94">(Bird94)</A>.
</P>
<P>NOTE: If you are using the ambipolar approximation with charged
species, as described in <A HREF = "Section_howto.html#howto_11">Section 6.11</A>,
and you have used the <A HREF = "collide_modify.html">collide_modify ambipolar
yes</A> command to enable ambipolar collisions (not
required), and you are using a mixture ID with multiple groups, then
the ambipolar electron species must be in a group by itself.
</P>
<HR>
<P>The <I>none</I> style means that no particle-particle collisions will be
performed, i.e. the simulation models free-molecular flow.
</P>
<HR>
<P>The <I>bgk</I> style implements the BGK-based model for
relaxation. different BGK-based can be specified by bgk_mod, like original BGK model,
ES-BGK model, shokhov-BGK model or USP model.
</P>
<P>The <I>vss</I> style implements the Variable Soft Sphere (VSS) model for
collisions. As discussed below, with appropriate parameter choices,
it can also compute the Variable Hard Sphere (VHS) model and the Hard
Sphere (HS) model. See chapters 2.6 and 2.7 in <A HREF = "#Bird94">(Bird94)</A> for
details.
</P>
<P>In DSMC, the variable-soft-sphere (VSS) interaction of <A HREF = "#Koura92">Koura and
Matsumoto</A> and the variable-hard-sphere (VHS) interaction of
<A HREF = "#Bird94">Bird</A> are used to approximate molecular interactions. Both
models yield transport properties proportional to a power (omega) of
the gas temperature. This temperature dependence of the transport
properties is similar to the Inverse Power Law model (IPL) for which
Chapman-Enskog theory provides closed form solutions for the transport
properties.
</P>
<P>Both VSS and VHS interactions define parameters <I>diam</I> = molecular
diameter, which is a function of the molecular speed, and <I>alpha</I> =
angular-scattering parameter, which relates the scattering angle to
the impact parameter. Setting <I>alpha</I> = 1 produces isotropic (hard
sphere) interactions, which converts the VSS model into a VHS model.
</P>
<P>The <I>file</I> argument is for a collision data file which contains
definitions of VSS model parameters for some number of species.
Example files are included in the data directory of the SPARTA
distribution, with a "*.css" suffix. The file can contain species not
used by this simulation; they will simply be ignored. All species
currently defined by the simulation must be present in the file.
</P>
<P>The format of the file depends of the setting of the optional <I>relax</I>
keyword, as explained below. Comments or blank lines are allowed in
the file. Comment lines start with a "#" character. All other lines
must have the following format with parameters separated by
whitespace.
</P>
<P>If the <I>relax</I> keyword is specified as <I>constant</I>, which is the
default, then each line has 4 parameters following the species ID:
</P>
<PRE>species-ID diam omega tref alpha
</PRE>
<P>The species-ID is a string that will be matched to one of the species
defined by the simulation, via the <A HREF = "species.html">species</A> command.
The meaning of additional properties is as follows:
</P>
<UL><LI>diam = VHS or VSS diameter of particle (distance units)
<LI>omega = temperature-dependence of viscosity (unitless)
<LI>tref = reference temperature (temperature units)
<LI>alpha = angular scattering parameter (unitless)
</UL>
<P>The methodology for deriving VSS/VHS parameters from these properties
is explained in Chapter 3 of <A HREF = "#Bird94">(Bird94)</A>. Parameter values for
the most common gases are given in Appendix A of the same book. These
values are based on the first-order approximation of the
Chapman-Enskog theory. Infinite-order parameters are described in
<A HREF = "#Gallis04">(Gallis04)</A>.
</P>
<P>In the <I>constant</I> case rotational and vibrational relaxation during a
collision is treated in the same constant manner for every collision,
using the rotational and vibrational relaxation numbers from the
species data file, as read by the <A HREF = "species.html">species</A> command.
</P>
<P>If the <I>relax</I> keyword is specified as <I>variable</I>, then each line has
8 parameters following the species ID:
</P>
<PRE>species-ID diam omega tref alpha Zrotinf T* C1 C2
</PRE>
<P>The first 4 parameters are the same as above. Parameters 5 and 6
affect rotational relaxation; parameters 7 and 8 affect vibrational
relaxation. In this case the rotational and vibrational relaxation
during a collision is treated as a variable and is computed for each
collision. This calculation is only performed for polyatomic species,
using equations A5 and A6 on pages 413 and 414 in <A HREF = "#Bird94">(Bird94)</A>.
Zrotinf and T* are parameters in the numerator and denominator of eq
A5. C1 and C2 are in eq A6. The units of these parameters is as
follows:
</P>
<UL><LI>Zrotinf (unitless)
<LI>T* (temperature units)
<LI>C1 (temperature units)
<LI>C2 (temperature^(1/3) units)
</UL>
<P>Note that a collision data file with the 4 extra relaxation parameters
(per species) can be used when the <I>relax</I> keyword is specified as
<I>constant</I>. In that case, the extra parameters are simply ignored.
</P>
<P>For interspecies collisions, the collision parameters default to
the average of the parameters for each involved species. To override
this default, lines specific to each interspecies pair can be added
anywhere in the collision data file. The format for these lines is as
described above, with the addition of a second species name. For
example, with the <I>relax</I> keyword specified, an interspecies
collision line would contain the following information for collisions
between species-ID and species-ID1:
</P>
<PRE>species-ID species-ID1 diam omega tref alpha Zrotinf T* C1 C2
</PRE>
<P>In an interspecies line, a specific parameter can be returned to the
default behavior (an average) by making it negative. For example, to
override only <I>omega</I> for the above case, the line could appear as
follows:
</P>
<PRE>species-ID species-ID1 -1 omega -1 -1 -1 -1 -1 -1
</PRE>
<HR>
<P>Styles with a <I>kk</I> suffix are functionally the same as the
corresponding style without the suffix. They have been optimized to
run faster, depending on your available hardware, as discussed in the
<A HREF = "Section_accelerate.html">Accelerating SPARTA</A> section of the manual.
The accelerated styles take the same arguments and should produce the
same results, except for different random number, round-off and
precision issues.
</P>
<P>These accelerated styles are part of the KOKKOS package. They are only
enabled if SPARTA was built with that package. See the <A HREF = "Section_start.html#start_3">Making
SPARTA</A> section for more info.
</P>
<P>You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the <A HREF = "Section_start.html#start_6">-suffix command-line
switch</A> when you invoke SPARTA, or you can
use the <A HREF = "suffix.html">suffix</A> command in your input script.
</P>
<P>See the <A HREF = "Section_accelerate.html">Accelerating SPARTA</A> section of the
manual for more instructions on how to use the accelerated styles
effectively.
</P>
<HR>
<P><B>Restrictions:</B> none
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "collide_bgk_modify.html">collide_bgk_modify</A>,<A HREF = "collide_modify.html">collide_modify</A>, <A HREF = "mixture.html">mixture</A>,
<A HREF = "react.html">react</A>
</P>
<P><B>Default:</B>
</P>
<P>Style = none is the default (no collisions). If the vss style is
specified, then relax = constant is the default.
</P>
<HR>
<A NAME = "Koura92"></A>
<P><B>(Koura92)</B> K. Koura and H. Matsumoto, "Variable soft sphere molecular
model for air species," Phys Fluids A, 4, 1083 (1992).
</P>
<A NAME = "Bird94"></A>
<P><B>(Bird94)</B> G. A. Bird, Molecular Gas Dynamics and the Direct
Simulation of Gas Flows, Clarendon Press, Oxford (1994).
</P>
<A NAME = "Gallis04"></A>
<P><B>(Gallis04)</B> M. A. Gallis, J. R. Torczynski, and D. J. Rader,
"Molecular gas dynamics observations of Chapman-Enskog behavior and
departures therefrom in nonequilibrium gases," Phys Rev E, 69, 042201
(2004).
</P>
<A NAME = "Fei2020"></A>
<P><B>(Fei2020)</B> F. Fei, J. Zhang, J. Li, and Z. Liu, “A unified stochastic particle Bhatnagar-Gross-Krook method for multiscale gas flows,” Journal of Computational Physics, vol. 400, p. 108972, Jan. 2020, doi: 10.1016/j.jcp.2019.108972.
</P>
<A NAME = "FeiJenny2021"></A>
<P><B>(FeiJenny2021)</B> F. Fei and P. Jenny, “A hybrid particle approach based on the unified stochastic particle Bhatnagar-Gross-Krook and DSMC methods,” Journal of Computational Physics, vol. 424, p. 109858, Jan. 2021, doi: 10.1016/j.jcp.2020.109858.
</P>
<A NAME = "FeiMa2021"></A>
<P><B>(FeiMa2021)</B> F. Fei, Y. Ma, J. Wu, and J. Zhang, “An efficient algorithm of the unified stochastic particle Bhatnagar-Gross-Krook method for the simulation of multi-scale gas flows,” Adv. Aerodyn., vol. 3, no. 1, p. 18, Dec. 2021, doi: 10.1186/s42774-021-00069-8.
</P>
<A NAME = "Zhang2019"></A>
<P><B>(Zhang2019)</B> J. Zhang, B. John, M. Pfeiffer, F. Fei, and D. Wen, “Particle-based hybrid and multiscale methods for nonequilibrium gas flows,” Adv. Aerodyn., vol. 1, no. 1, p. 12, Dec. 2019, doi: 10.1186/s42774-019-0014-7.
</P>
</HTML>