Input File Format

The input file is a text file. It has been designed to balance ease of data entry with simplicity of programming. Data can be entered in an arbitrary order but it makes sense to define the mesh size first so that range checking can be performed on any coordinates. Lines starting with an exclamation mark ('!') can be used to place comments. Start of data is indicated by an identifier, the first character of which is a colon (':').

In the following descriptions, the vertical bar is used to indicate a line break and curly brackets are used to enclose items which should be repeated as often as necessary.

:MESH_SIZE | nx ny nz |
The number of nodes in each direction. The maximum values are displayed when the program is run. If omitted, a mesh of the maximum size will be used.
:DL | node_spacing |
The node spacing in metres. Strictly speaking, the node spacing is not required since it is only used to scale the electric and magnetic fields. However, it has been included so that the timestep can be calculated, if required.
:TIMESTEPS | number_of_timesteps |
The number of timesteps to be performed (must be specified).
:OUTPUT_FILE | filename |
The name of the output file. If omitted, the filename must be entered interactively.
:BOUNDARIES | number | { reflection_coefficient type x1 y1 z1 x2 y2 z2 | }
Boundary conditions of arbitrary reflection coefficient. The type consists of two characters: the first specifies the direction parallel to the link-line (X, Y or Z) and the second gives the orientation. For boundaries on the edge of the mesh, the orientation is 'N' for a boundary on the negative side of the node (taking the centre as the origin) or 'P' for a boundary on the positive side. For internal boundaries, the orientation is set to '0' and the reflection coefficient is applied to pulses incident from both sides of the boundary. In this case, the coordinates must refer to the lowest numbered node to which the link-line is conected, in the direction parallel to the link-line. The two sets of coordinates must define the extent of a plane normal to the link-lines. Boundaries must be placed to terminate all of the transmission-lines on the edge of the mesh.
:EXCITE | number | { field amplitude x1 y1 z1 x2 y2 z2 }
Impulse excitation. The field may be one of EX, EY, EZ, HX, HY or HZ. The two sets of coordinates may, in general, define a cuboid region of nodes.
:OUTPUT | number | { field x y z }
Output points. The field can take the same values as for excitation.
:END
This should be placed at the bottom of the file to indicate that there is no more data.