-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.html
More file actions
315 lines (261 loc) · 15.7 KB
/
index.html
File metadata and controls
315 lines (261 loc) · 15.7 KB
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
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
<HTML>
<HEAD>
<TITLE> SPARTA Direct Simulation Monte Carlo Simulator </TITLE>
<meta name="Description" content="SPARTA home page">
<meta name="keywords" content="SPARTA, DSMC, Direct Simulation Monte Carlo">
<meta name="google-site-verification" content="jIe-V87O61oNvgWFgBXMeF5bFl35XjSaG0Fm8_7q5VU" />
<meta name="review" content="07_09_2014" />
<meta name="filename" content="index.html" />
<meta name="subject" content="SPARTA home page" />
<meta name="sandia.approval_type" content="formal" />
<meta name="sandia.approved" content="2014-15557W" />
<link rev="owns" title="Steve Plimpton"
href="mailto:sjplimp@gmail.com" />
<link rev="made, publisher" title="Steve Plimpton"
href="mailto:sjplimp@gmail.com" />
<meta name="MSSmartTagsPreventParsing" content="TRUE" />
<meta name="Author" content="Steve Plimpton" />
</HEAD>
<CENTER><H3>SPARTA Direct Simulation Monte Carlo (DSMC) Simulator
</H3></CENTER>
<CENTER><I>The generation of random numbers is too important to be left to
chance.</I> -- Robert Coveyou
</CENTER>
<CENTER><I>God does not play dice.</I> -- Albert Einstein
</CENTER>
<HR>
<DIV ALIGN=center><TABLE BORDER=1 >
<TR ALIGN="center"><TD ><B>Documentation</B></TD><TD ><B>Code</B></TD><TD ><B>Results</B></TD><TD ><B>Other</B></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "features.html">Features</A></TD><TD ><A HREF = "https://sjplimp.github.io/download.html">Download</A></TD><TD ><A HREF = "papers.html">Publications</A></TD><TD ><A HREF = "mail.html">Mail list</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "doc/Manual.html">Manual</A></TD><TD ><A HREF = "https://github.com/sparta/sparta">GitHub</A></TD><TD ><A HREF = "pictures.html">Pictures & Movies</A></TD><TD ><A HREF = "authors.html">Authors</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "tutorials.html">Tutorials</A></TD><TD ><A HREF = "http://sourceforge.net/projects/sparta">SourceForge</A></TD><TD ><A HREF = "bench.html">Benchmarks</A></TD><TD ><A HREF = "other.html">Other codes & tools</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "doc/Section_commands.html#cmd_5">Commands</A></TD><TD ><A HREF = "bug.html">Latest features & bug fixes</A></TD><TD ><A HREF = "papers.html">Citing SPARTA</A></TD><TD ><A HREF = "open_source.html">Open source</A></TD></TR>
<TR ALIGN="center"><TD ></TD><TD ><A HREF = "unbug.html">Report bugs & request features</A></TD><TD ></TD><TD >.
</TD></TR></TABLE></DIV>
<P>SPARTA is an acronym for Stochastic PArallel Rarefied-gas
Time-accurate Analyzer.
</P>
<P>SPARTA is a parallel DSMC or Direct Simulation Monte Carlo code for
performing simulations of low-density gases in 2d or 3d. Particles
advect through a hierarchical Cartesian grid that overlays the
simulation box. The grid is used to group particles by grid cell for
purposes of performing collisions and chemistry. Physical objects
with triangulated surfaces can be embedded in the grid, creating cut
and split grid cells. The grid is also used to efficiently find
particle/surface collisions.
</P>
<P>SPARTA runs on single processors or in parallel using message-passing
techniques and a spatial-decomposition of the simulation domain. The
code is designed to be easy to modify or extend with new
functionality.
</P>
<P>SPARTA is distributed as an <A HREF = "open_source.html">open source code</A> under
the terms of the <A HREF = "http://www.gnu.org/copyleft/gpl.html">GPL</A>, or sometimes (by request) under the terms
of the <A HREF = "http://www.gnu.org/licenses/lgpl-2.1.html">GNU Lesser General Public License (LGPL)</A>. The current
version can be downloaded <A HREF = "https://sjplimp.github.io/download.html">here</A>.
</P>
<P>SPARTA was primarily developed at <A HREF = "http://www.sandia.gov">Sandia National Laboratories</A>,
a US <A HREF = "http://www.doe.gov">Department of Energy</A> (DOE) laboratory. The authors and
funding are listed on <A HREF = "authors.html">this page</A>.
</P>
<HR>
<CENTER><H4>Recent SPARTA News
</H4></CENTER>
<UL><LI><IMG SRC = "images/new.gif"> (9/25) Release of version 24 Sep 2025. It
fixes some issues from the 10Sep2025 release (and before).
<LI><IMG SRC = "images/new.gif"> (9/25) Release of version 10 Sep 2025. It
adds <A HREF = "https://sparta.github.io/doc/dump_modify.html">dump_modify</A>
"gridgroup" and "surfgroup" keywords to
<A HREF = "https://sparta.github.io/doc/dump_image.html">dump_image</A>, adds <A HREF = "https://sparta.github.io/doc/fix_emit_face.html">fix
emit/face</A> "modulate"
option for insertion of time-varying flows, adds python support via a
new <A HREF = "https://sparta.github.io/doc/python.html">python</A> command and
<A HREF = "https://sparta.github.io/doc/variable.html">python-style variables</A>,
reduces particle memory by 25%, adds a new <A HREF = "https://sparta.github.io/doc/fix_custom.html">fix
custom</A> command along
with new <A HREF = "https://sparta.github.io/doc/custom.html">custom</A> command
options, adds options to the
<A HREF = "https://sparta.github.io/doc/create_particles.html">create_particles</A>
command to use <A HREF = "https://sparta.github.io/doc/custom.html">custom</A>
per-grid attributes, and adds tallying for individual gas and surface
collisions and reactions. See more details <A HREF = "bug.html">here</A>.
<LI><IMG SRC = "images/new.gif"> (1/25) Release of version 20 Jan 2025. It
improves explicit to implicit surface conversion in <A HREF = "doc/create_isurf.html">create
isurf</A> and adds a new multi-point decrement for
ablation in <A HREF = "doc/fix_ablate.html">fix ablate</A>. It also improves the
accuracy of the free path and adds a new mean collision time in
<A HREF = "doc/compute_lambda_grid.html">compute lambda/grid</A>. The new mean
collision time is used for variable timestepping in <A HREF = "doc/compute_dt_grid.html">compute
dt/grid</A>. It also adds a new <A HREF = "doc/compute_surf.html">compute
surf</A> "torque" option, and <A HREF = "doc/fix_halt.html">fix
halt</A> which can be used to stop a simulation early
based on a user-specified criteria. See more details <A HREF = "bug.html">here</A>.
<LI><IMG SRC = "images/new.gif"> (9/24) Release of version 4 Sep 2024. It
adds <A HREF = "doc/create_isurf.html">create_isurf</A> to convert explicit surfaces
to implicit surfaces, custom per-surf options to <A HREF = "doc/fix_emit_surf.html">fix
emit/surf</A>, a variable special function which
allows particle-style variables to access per-grid quantities, and
adds momentum and energy contributions of <A HREF = "doc/fix_emit_surf.html"">fix
emit/surf</A> in the results of <A HREF = "doc/compute_surf.html">compute
surf</A>. See more details <A HREF = "bug.html">here</A>.
<LI><IMG SRC = "images/new.gif"> (3/24) Release of version 7 Mar 2024. It
adds support for <A HREF = "doc/fix_dt_reset.html">global variable time
stepping</A>, enhances functionality of
<A HREF = "doc/custom.html">custom attributes</A> for particles, grid cells, and
surface elements, adds Kokkos support for FFTs and surface reactions,
adds an option to compute chemistry rates without performing
reactions, and adds an option to dump the area of surface elements to
a file with the <A HREF = "doc/dump.html">dump surf</A> command. See more details
<A HREF = "bug.html">here</A>.
<LI><IMG SRC = "images/new.gif"> (4/23) Release of version 13 Apr 2023. It
includes support for Python 3, a new <A HREF = "doc/fix_surf_temp.html">fix
surf/temp</A> command, support for custom
per-grid-cell attributes, an optimized particle move algorithm when a
model has a regular grid and no surface elements, a new option for the
create_particles command to add particles in grid cells cut by surface
elements. See more details <A HREF = "bug.html">here</A>.
<LI><IMG SRC = "images/new.gif"> (7/22) Release of version 18 July 2022.
It includes new options for the <A HREF = "doc/compute_surf.html">compute surf</A>
command, a new <A HREF = "doc/surf_collide.html">no-slip option</A> for specular
surface collisiont, and a new <A HREF = "doc/surf_collide.html">surface collision adiabatic
model</A> with isotropic scattering. See more
details <A HREF = "bug.html">here</A>.
<LI><IMG SRC = "images/new.gif"> (2/22) Options to add various kinds of
external fields to influence particle advection. They can be
spatially or time varying and applied on a per-particle or
per-grid-cell basis. See the doc page for the <A HREF = "doc/global.html">global
field</A> command.
<LI><IMG SRC = "images/new.gif"> (10/21) Added a surf_react adsorb command
which has support for on-surface chemistry reactions and storage of
surface state, i.e. per-surface-element concentrations of various
on-surface species. This enables modeling of both gas/surface and
surface/surface chemical reaction networks.
<LI><IMG SRC = "images/new.gif"> (11/20) Removed hierarchical grid parent
cells from the internally stored data structures. The code now only
stores child cells. For large problems with many levels of grid
adaptation, this frees up a large amount of memory.
<LI><IMG SRC = "images/new.gif"> (1/20) Added support for <A HREF = "doc/Section_howto.html#howto_15">transparent
surfaces</A> which tally statistics when
particles pass throught them.
<LI><IMG SRC = "images/new.gif"> (10/19) Added these commands for
<A HREF = "doc/Section_howto.html#howto_14">ablation modeling</A> of implicit
surface elements: <A HREF = "doc/fix_ablate.html">fix ablate</A>, <A HREF = "doc/compute_isurf_grid.html">compute
isurf/grid</A>, <A HREF = "doc/compute_react_isurf_grid.html">compute
react/isurf/grid</A>,
<A HREF = "doc/write_isurf.html">write_isurf</A>.
<LI><IMG SRC = "images/new.gif"> (4/19) Added support for implicit 2d and
3d surface elements defined by a grid corner point values in a read-in
file. These are in contrast to explicit surface elements defined by
line segments (2d) or triangles (3d).
<LI><IMG SRC = "images/new.gif"> (2/19) Added support for distributed
surface elements so that complex surfaces with huge element counts
can be modeled, with the elements stored acrossed processors.
<LI><IMG SRC = "images/new.gif"> (8/18) SPARTA development is now
supported on <A HREF = "https://github.com/sparta/sparta">GitHub</A> and with a
<A HREF = "mail.html">mail list</A>.
<LI><IMG SRC = "images/new.gif"> (1/18) Added new sections to the
<A HREF = "bench.html">Benchmark page</A> with performance results using the new Kokkos
accelerator options on a variety of new machines and hardware,
including multi-core CPUs (via threading), GPUs, and KNLs.
<LI><IMG SRC = "images/new.gif"> (12/17) Added a KOKKOS package to the
code to allow building with the open-source Kokkos library which
provides support for running SPARTA on different architectures,
including multi-core CPUs (via threading), GPUs, and KNLs. See <A HREF = "doc/Section_accelerate.html">this
section</A> of the manual for details.
<LI><IMG SRC = "images/new.gif"> (4/17) Added a subsonic pressure boundary
condition via a <A HREF = "doc/surf_collide.html">surf_collide piston</A> command,
as well as a 2d/3d FFT capability for grid based quantities on regular
grids via the <A HREF = "doc/compute_fft_grid.html">compute fft/grid</A>
command.
<LI><IMG SRC = "images/new.gif"> (8/16) Added <A HREF = "doc/fix_ave_histo.html">fix
ave/histo</A> and <A HREF = "doc/fix_ave_histo.html">fix
ave/histo/weight</A> commands to enable
histogramming of various quantities during a simulation.
<LI><IMG SRC = "images/new.gif"> (1/16) Added <A HREF = "doc/variable.html">grid-style
variables</A> so that user-defined per-grid quantities
can be calculated on-the-fly and output more easily.
<LI><IMG SRC = "images/new.gif"> (10/15) Added a <A HREF = "doc/collide_modify.html">near-neighbor collision
model</A> for selecting pairs of collision
partners.
<LI><IMG SRC = "images/new.gif"> (9/15) Posted slides for a half-day
tutorial short-course on SPARTA, taught at the biennial DSMC15
conference. See the <A HREF = "tutorials.html">Tutorials</A> link above.
<LI><IMG SRC = "images/new.gif"> (8/15) Added static and on-the-fly grid
adaptivity via the <A HREF = "doc/adapt_grid.html">adapt_grid</A> and <A HREF = "doc/fix_adapt.html">fix
adapt</A> commands. Also added commands to
<A HREF = "doc/move_surf.html">move</A> or <A HREF = "doc/remove_surf.html">remove</A> surface
elements.
<LI><IMG SRC = "images/new.gif"> (5/15) Added a <A HREF = "doc/fix_emit_surf.html">fix
emit/surf</A> command to enable particle outflux
from surface elements, including their use as a global influx
boundary.
<LI><IMG SRC = "images/new.gif"> (5/15) Surface reaction models have been
added via the <A HREF = "doc/surf_react.html">surf_react</A> command. The full set
of dissociation, ionization, exchange, and recombination reactions,
for both gas-phase and surface chemitstry are now implemented.
<LI><IMG SRC = "images/new.gif"> (5/15) Added an ambipolar approximation
for modeling charged plasmas. See <A HREF = "doc/Section_howto.html#howto_11">this howto
discussion</A> for an explanation of
using the various new commands and command options that enable the
approximation.
<LI><IMG SRC = "images/new.gif"> (2/15) Added a <A HREF = "doc/fix_emit_face_file.html">fix
emit/face/file</A> command to enable
spatially-varying particle influx through a simulation box face, as
defined by a file of mesh points and values.
<LI><IMG SRC = "images/new.gif"> (12/14) Added two new reaction styles to
the <A HREF = "doc/react.html">react</A> command, for the Quantum-Kinetic (QK) model
and a hybrid Total Collision Energy / Quantum Kinetic (TCE/QK)
model.
<LI><IMG SRC = "images/new.gif"> (10/14) Added two <A HREF = "doc/Section_tools.html#paraview">Python
scripts</A> which can convert SPARTA
output files to ParaView format for interactive 3d viz.
<A HREF = "http://www.paraview.org">Paraview</A> is a popular freely-available
visualization tool.
<LI><IMG SRC = "images/new.gif"> (8/14) Added a <A HREF = "doc/Section_tools.html#stl2surf">stl2surf.py
tool</A> to convert STL-format
triangulation files into the SPARTA <A HREF = "doc/read_surf.html">surface file</A>
format.
<LI><IMG SRC = "images/new.gif"> (8/14) Enabled axi-symmetric 2d models.
See <A HREF = "doc/Section_howto.html#howto_2">Section 4.2</A> of the manual for
details.
<LI><IMG SRC = "images/new.gif"> (7/14) Initial open-source release of
SPARTA.
</UL>
<HR>
<CENTER><H4>SPARTA Highlight
</H4></CENTER>
<CENTER>(see the <A HREF = "pictures.html">Pictures & Movies</A> page for more examples of
SPARTA calculations)
</CENTER>
<P>This is work by Michael Gallis (magalli at sandia.gov) at Sandia.
</P>
<P>This calculation was done to model Richtmyer/Meshkov mixing which
occurs when a light gas is on top of a heavier gas and a shock induces
mixing and turbulent effects.
</P>
<P>This is a large 2d calculation of He (green) on top of Ar (red). 4.5B
particles were run with 400M grid cells for 240K timesteps. The
simulation was run on 32K nodes (16 cores per node, 512K MPI tasks) of
the Sequoia BG/Q machine at Lawrence Livermore National Labs (LLNL).
</P>
<P>Snapshot images of the simulation were created using SPARTA's <A HREF = "doc/dump_image.html">dump
image</A> command, rather than saving particle data
to disk. The first 2 images are the initial and final state of the
simulation. The rightmost image is a movie of the simulation.
</P>
<A HREF = "images/mix_initial.png"><IMG SRC = "images/mix_initial_small.jpg"></A>
<A HREF = "images/mix_final.png"><IMG SRC = "images/mix_final_small.jpg"></A>
<A HREF = "movies/mix.mov"><IMG SRC = "images/mix_final_small.jpg"></A>
<P>2 images and a 0.5 Mb QuickTime movie
</P>
<P>This paper has further details about the mixing model:
</P>
<P><B>Direct Simulation Monte Carlo: The Quest for Speed</B>, M. A. Gallis,
J. R. Torczynski, S. J. Plimpton, D. J. Rader, and T. Koehler,
Proceedings of the 29th Rarefied Gas Dynamics (RGD) Symposium, Xi'an,
China, July 2014. (to be published by AIP)
(<A HREF = "abstracts/rgd14.html">abstract</A>)
</P>
<!-- Past SPARTA highlights:
-->
</HTML>