Skip to content

SPARTA

Rarefied gas with the particle method DSMC, where the usual flow equations stop working. Experimental.

Install

export SPARTA_BINARY=/path/to/spa_serial

Built from source: https://sparta.github.io/. You do not need it to start.

Or let Spack build it from the recipe openPASO ships. It is found without SPARTA_BINARY, unless another SPARTA comes first (the command then names the variable to set). Spack builds SPARTA's current release (27 Aug 2026), which rejects a wildcard that two templates use (rarefied_flow/channel_2d and collision_relaxation/box_2d); the other 13 run on it.

openpaso install sparta --via spack

Then check that openPASO sees it:

python check_install.py

What openPASO knows for SPARTA

11 kinds of problem. Ask for any of them in plain words; the names below are what the model uses internally.

Physics Description Dimensions Templates
adaptive_grid Static (adapt_grid) and dynamic (fix adapt) grid adaptation to resolve shocks, boundary layers and surface geometry 2-D, 3-D circle_2d
ambipolar_plasma Weakly ionized flow in the ambipolar approximation: each electron is carried with its parent ion instead of being moved on the electron timescale 2-D, 3-D circle_2d
axisymmetric 2d axisymmetric DSMC — the x axis is the symmetry axis, cells are revolved annuli, radial weighting available 2-D body_2d
capability_survey Inventory of the commands and styles THIS SPARTA build registers. Three decks (box, explicit surface, implicit surface) construct every style and run, each carrying a check independent of the run itself: exact conservation of particle count and kinetic energy in a closed monatomic box, and the analytic perimeter of the 50-segment circle surface. Each check prints a VERDICT line in the coverage harness's grammar (reference, measured value, tolerance, PASS or FAIL), computed by the deck itself through equal- and format-style variables and an if/then/else print: the particle count and the 2503*sin(pi/50) perimeter as exact identities, the kinetic energy as a conservation law at 1e-12 of its initial value. SURVEY_MUTATE=1, read through a getenv variable, keeps a thermostat running through the box's conservation phase and reads the surface at the wrong scale: the planted failures that show those verdicts can fail. Answers 'what can this build do' by running it rather than by reading the manual, which documents styles that may not be compiled in. 2-D box, surface, implicit_surface
chemistry Gas-phase chemical reactions (TCE / QK) evaluated during DSMC collisions 2-D, 3-D box_3d
collision_relaxation Particle-particle collisions with the VSS model plus rotational / vibrational energy relaxation 2-D, 3-D box_2d, internal_energy_2d
conjugate_heat_transfer DSMC gas <-> solid conjugate heat transfer: SPARTA tallies the surface heat flux and reads back a wall temperature, either through fix surf/temp in-code or through preCICE against an FEM solid 2-D, 3-D circle_2d
hypersonic_flow Hypersonic rarefied flow over a body: bow shock, surface pressure and heat flux, DSMC 2-D, 3-D circle_2d
particle_emission Particle injection / emission from box faces or surfaces — the DSMC inflow boundary condition 2-D, 3-D channel_2d
rarefied_flow Rarefied / free-molecular gas flow (high Knudsen number) solved with DSMC simulator particles 2-D, 3-D box_2d, channel_2d
surface_interaction Gas-surface interaction: diffuse / specular / CLL wall models, per-element surface tallies, surface reactions 2-D, 3-D circle_2d