Running Inciter

This page is a quick-reference guide to running Inciter, the compressible flow solver. See the Inciter page for more details about the solver itself.

Inciter can be run using the executable in <build-dir>/Main/inciter. If a parallel computation is desired, inciter should be run via Charm++ as

./charmrun +p<num-proc> Main/inciter -c <control-file> -i <exo-mesh-file> -v

where <num-proc>, <control-file>, and <exo-mesh-file> are replaced by the number of processors, the control file path, and the exodus mesh file path. Other options and help can be accessed by passing the --help argument to inciter. The full list can also be found here.

Control files

Quinoa uses the Lua file format for control files (tips to convert the now-obsolete .q control files to lua can be found here). Example control files can be found on the following pages:

Other control file examples can be found in various directories under tests/regression/inciter/.

A comprehensive list of control file keywords can be generated by the inciter executable as <build-dir>/Main/inciter --helpctr. Detailed description of a particular keyword (say A_jwl) can be generated by the inciter executable as <build-dir>/Main/inciter --helpkw A_jwl. The full list can also be found here.

Post-processing

After a successful execution, Inciter will generate the following output files in the working directory:

  • field (volume) output: out.e-s.*
  • surface output: out-surf.*
  • diagnostic file: diag
  • probe history files: out.hist.*

Volume field output files are named as out.imesh.e-s.its.npes.ipe. Each index in the name signifies a specific aspect of the output file:

  • imesh: mesh ID, used to identify specific meshes for multiple mesh (overset) computations
  • its: mesh time stamp, used to identify the time stamp at which the moving mesh has been output
  • npes: total number of processing elements in the computation
  • ipe: processing element ID that has written this output file

Similarly, surface output files are named as out-surf.iss.imesh.e-s.its.npes.ipe where iss is the sideset ID of the surface that has been output, and other indices are the same as that of the volume mesh.

Quinoa outputs surface and volume field files in the ExodusII format. Volume field files can be generated by including the following block in the control file:

field_output = {
  time_interval = 1e-4,
  -- element field output
  elemvar = {
    "density",
    "pressure",
    "specific_total_energy",
    "x-velocity",
    "y-velocity",
    "z-velocity"
  },
  -- nodal field output
  nodevar = {
    "pressure"
  }
}

The volume field output files can directly be loaded into ParaView. Surface field files can be generated by including the following in the control file:

field_output = {
  sideset = { 2, 3 }
}

This will output element and nodal fields on sidesets 2 and 3. If the surface output is from a parallel simulation, they need to be stitched using MeshConv, prior to visualization. Instructions for stitching can be found here.