Output block#
This block contains information about when and how to dump output files. See EPOC++ input deck for more information on the input deck.
Basics#
Output in EPOC++ is currently handled using the custom designed EPC file format. This is a simple self-describing binary file. More sophisticated file formats will be supported in future revisions. EPOC++ comes with readers for MatLab and Python.
What the code should output and when it should output it is specified in the “output” block of the input deck. An example output block is shown below:
begin:output
name = rst
nstep_snapshot = 10
rolling_restart = F
dump_first = T
particle_grid = always
px = always
end:output
Currently, output dumps in EPOC++ are restart dumps by default.
Dumpmask#
When specifying which type of output dump to write a variable to there are two options which can be specified for each variable.
never
- If the variable is not a required restart variable then it will never be written. If it is a required restart variable then it will be written only at restart dumps.always
- This variable will always be written.
Directives#
The following options are currently supported:
name
- Identifies the output block with a name which is required when multiple output blocks are used.nstep_snapshot
- Sets the number of timesteps between normal output dumps. Setting zero or negative means that the code will not output based on this condition. The default value is a large integer which will never trigger an output.dump_first
- Logical flag which determines whether to write an output file immediately after initialising the simulation. The default is “T”.dump_last
- Logical flag which determines whether to write an output file just before ending the simulation. The default is “T” if an output block exists in the input deck and “F” otherwise.restartable
- Specifies whether or not the output for this block is a restartable dump.rolling_restart
- Logical flag. If set to “T”, this sets the parameters required for performing rolling restarts on the current block. With rolling restarts enabled the first file will be named “dataa.epc” and the second will be “datab.epc”. The third dump will again be named “datab.epc”, overwriting the first one. In this way, restart dumps can be generated throughout the duration of the simulation whilst limiting the amount of disk space used.
Particle Variables#
The next set are per particle properties. If you wish to plot these according to their spatial positions, you must include the “particle_grid” in your output variables. All entries have a default dumpmask of “never”.
particle_grid
- Requests the output of particle positions. This is a restart variable. No particle variables can be plotted in VisIt unless this is dumped.px,py,pz
- The dumpmasks for the particle momenta. Restart variable.id
- Global particle ID. Particle IDs are useful if you want to track the progress of each particle throughout the simulation.
Grid Variables#
The next set of parameters specify properties which are defined on a regular cartesian mesh. All entries have a default dumpmask of “never”.
field_grid
- The dumpmask for the Cartesian grid which defines the locations of the grid variables. No grid variables can be plotted in VisIt unless this variable is output.ex,ey,ez
- The electric field vectors pointing in all three directions. Restart variables.bx,by,bz
- The magnetic field vectors pointing in all three directions. Restart variables. In 1D bx is a trivial variable because of the Solenoidal condition. It is included simply for symmetry with higher dimension codes.jx,jy,jz
- The current densities pointing in all three directions. Restart variables. Can have species dumpmask.