Skip to content

Post Processing

For each run, an output directory is either created, overwritten, or appended to. This is determined by the command line arguments or by resumption from the input file (see Running Simulations for details).

Within each output directory, GUERNICA writes:

  • ex9.mesh — a copy of the mesh used for the run
  • git_diff.patch — the difference between the current code and the recorded git commit
  • <name>.cfg — a copy of the input file used for the run
  • run.log — a log file containing everything that would otherwise have been written to the terminal
  • gf_out/ — a directory containing saved simulation outputs as MFEM grid functions

Output Controls

Output behavior is controlled through the [output] section of the input file.

display

display dictates whether anything is output to the log file.

save_dist

save_dist dictates whether the full distribution function is written for each intermediate time step, as set by vis_steps.

The full distribution function is always written at the end of the simulation to allow the simulation to be resumed, even if save_dist = false.

profile

profile dictates whether anything is written for each intermediate time step.

Saved outputs are still written at the end of the simulation even if profile = false.

precision

precision dictates the numerical precision used when outputs are written.

Contents of gf_out/

Distribution Function

The distribution function is saved as velocity slices with filenames of the form:

ex9-v_<ix>_<iy>_<iz>-<step>.gf

where:

  • ix is the velocity index in x
  • iy is the velocity index in y
  • iz is the velocity index in z
  • step is the time step index

Within each file, the distribution function is stored in dof-inner, element-outer format.

Density, Momentum, and Energy

Density, momentum, and energy are saved with filenames of the form:

rho-<step>.gf
rho_ux-<step>.gf
rho_uy-<step>.gf
rho_uz-<step>.gf
E-<step>.gf

Within each file, the values are stored in dof-inner, element-outer format.

Global Moments

The global mass, momentum, energy, and entropy values are written to:

moment.gf

They are saved first in the order:

  1. mass
  2. momentum_x
  3. momentum_y
  4. momentum_z
  5. energy
  6. entropy

and then in time.

moment.gf is only written at the end of a simulation. It is not populated while the simulation is running, so prematurely ending the simulation will result in moment.gf remaining empty.

moment.gf is currently only written when neutral-neutral collisions are on.

Plotting

Examples of plotting results with Python are provided in the scripts/ directory.