Next: Manual Pages
Up: User's Guide for spiffe
Previous: Introduction
A typical spiffe run consists of the following steps, most of
which are optional. Although the steps need not be executed
exactly in the order shown here, doing so will prevent the
occasional error message. Each step is performed by invoking a namelist
command, as indicated:
- Define the simulation region and the geometry of a cavity. This
includes defining the grid sizes, the boundary conditions, which types
of fields to include (TE or TM), and how to interpolate on the grid.
This is done with the define_geometry command, which requires
existence of a boundary definition file in a POISSON-like format.
This file specifies not only the location of the metal surfaces
in the problem, but optionally the potential of each.
- Optional: define the time-dependent fields and/or a method of
generating fields. This is done with the load_fields, define_antenna, and/or add_on_axis_fields commands. The
former allows loading fields from a previous spiffe run, whereas
the latter allows generating new fields using a modulated sine-wave
current source.
- Optional: define solenoid coils, from which static magnetic
fields will be computed and imposed on the particle motion.
The define_solenoid command permits defining a solenoid
with a specified length, radius, symmetry, and current/field.
- Optional: define constant field components to be imposed on the
simulation. These field components, defined with the constant_fields command, are not necessarily physical in that
they may not satisfy Maxwell's equations.
- Optional: load a particle distribution and/or define a cathode
for generation of particles. The former is not presently implemented
in version 2.0 of spiffe. The define_cathode namelist
permits specification of the size, current density, time profile,
and other parameters of particle emission from an annulus. Starting
in version 2.3, multiple cathodes may be defined.
- Optional: invoke and control Poisson correction. This is
controlled by the poisson_correction command. It is recommended
in order to increase the accuracy of the field solutions. Without it,
numerical errors tend to build up that correspond to fictitious
concentrations of static charge on the grid.
- Optional: define resistive elements in the cavity interior,
which simulates the effect of walls that are less than perfectly
conducting. This is done with one or more define_resistor
commands. It slows the simulation tremendously, due to the reduced
step size needed to obtain numerical stability.
- Optional: define a series of diagnostic ``screens'' for placement
in the beam path. A single define_screen command can be used
to produce output of beam parameters at a series of equispaced
longitudinal positions.
- Optional: request beam snapshots at equispaced time intervals.
This is done with the define_snapshots command.
- Optional: request field output and/or field saving. Field output
is in a format convenient for plotting and analysis, in that values
are interpolated onto the same grid for all field components. Field
saves are intended for use by a subsequent spiffe run. These operations
are set up by the define_field_output and define_field_saving
commands.
- Optional: request sampling of the fields vs time or space
coordinates. With the command
define_field_sampling, one may set up
sampling of a specific field component along a line in z or r, with
output vs the distance along the line at specified times or else
output of the average value along the line vs time.
- Optional: request reduction and translation of the simulation
grid so that it moves along with the particles.
- Optional: request simulation of secondary emission, using the
define_secondary_emission command. This won't result in
generation of any secondary particles unless a cathode is defined
or particles are loaded from a file.
- Define integration parameters and begin integration. The integrate command allows specifying the integration time step, the
total time to integrate, and other conditions of integration.
(Strictly speaking, it is optional, but only if you don't want to do
anything.)
Next: Manual Pages
Up: User's Guide for spiffe
Previous: Introduction
Robert Soliday
2015-09-02