The EPOC++ input deck#
Most of the control of EPOC++ is through a text file known as the input
deck. The name of the file can be specified on the command-line.
Alternatively, the name of an output directory can be passed to
the code at runtime, in which case EPOC++ will check for a file named
input.deck
inside this directory. The input deck contains all the basic
information which is
needed to set up the code, including the size and subdivision of the
domain, the boundary conditions, the species of particles to simulate
and the output settings for the code. For most users this will be
capable of specifying all the initial conditions and output options they
need.
The input deck is a structured file which is split into separate blocks,
with each block containing several “parameter” = “value” pairs. The
pairs can be present in any order, and not all possible pairs must be
present in any given input deck. If a required pair is missing the code
will exit with an error message. The blocks themselves can also appear
in any order. The input deck is case sensitive, so true is always “T”,
false is always “F” and the names of the parameters are always lower
case. Parameter values are evaluated using a maths parser which is
described in [EPOC++ maths parser][Maths_parser].
If the deck contains a “\
” character then the rest of the line is
ignored and the next line becomes a continuation of the current one.
Also, the comment character is “#
”; if the “#
” character is used
anywhere on a line then the remainder of that line is ignored.
There are two input deck directive commands, which are:
begin:block - Begin the block named block.
end:block - Ends the block named block.
Each block must be surrounded by valid begin:
and
end:
directives or the input deck will fail. There are
currently four valid blocks:
control - Contains information about the general code setup.
boundaries - Contains information about the boundary conditions for this run.
species - Contains information about the species of particles which are used in the code. Also details of how these are initialised.
laser - Contains information about laser boundary sources.
fields - Contains information about the EM fields specified at the start of the simulation.
output - Contains information about when and how to dump output files.
constant - Contains information about user defined constants and expressions. These are designed to simplify the initial condition setup.