4.4 The configuration file
In this section we will explain each of the parameters of the
configuration file in more detail. Note that Nero2d is distributed
with two configuration files, one general purpose file located in the
/share/examples
directory and another in the
/share/benchmark
example, which is the config file used for
performing our parallel benchmarks.
The configuration files need to be edited by hand. We give an
overview of the parameters
- OUTPUT_PROCESS Process that displays output to the screen.
Value in [0 ... number of processes -1]. Default value is 0.
- QORDER The number of Gauss Quadrature Points used for numerical
integration along a segment. Note that not every order is supported.
Do not change unless you know what you are doing. Default value is
10.
- SEGMENT_LENGTH Maximum length of a segment in terms of
wavelength. Default value is 0.1.
- OVERSHOOT Percentage that a segment can protrude from a box.
This phenomena is taken into account when calculation the number of
sampling points in the FMM factorization, and when calculation the
effective X_DIST value at each level. Default value is 1.4.
- MINIMAL_BOX_SIZE Size of a box in terms of wavelength at the
lowest level of the MLFMA tree. Default value is 0.25. Any value
between 0.15 and 0.7 is probably acceptable for you.
- X_DIST Value in terms of boxsize. Boxes that are separated
x_dist*boxSize at a certain level can interact using the
high-frequency MLFMA. Default value is 1.9. Make this value very
large if you want to solve your system in a classical manner.
- FMM_PRECISION Relative precision of the FMM factorization in the
MLFMA algorithm. Default value is 1e-5 (five digits of accuracy).
Note that a high precision is necessary in large 2D simulations.
- MAX_FMM_LEVEL Maximum height of an FMM tree. Default value is
1000 (in practice this value means: infinity).
- AGGREGATION_MATRICES Can be either FULL, COMPACT or COMPRESSED,
which indicates the degree of symmetry that is to be used. Default
value is COMPRESSED.
- INTERPOLATION_METHOD Can be either FFT, BLIF or MIXED. Default
value is MIXED.
- MINIMAL_BLIF_LOCALITY Indicates the desired ratio of local points
to boundary points in k-space partioning. Default value is 16.0.
- ITERATIVE_METHOD Your iterative solver of choice: can be TFQMR,
BICGSTAB or RGMRES. Default of TFQMR.
- ITERATIVE_PRECISION Stopping criterion for the iterative
solver. If the relative residual drops below this value: stop
iterating. Default value is 1e-3.
- MAX_ITERATIONS Maximum number of iterations in the iterative
solver. Once this number is reached, the solver is stopped, even
though the requested precision has not yet been obtained. Default
value is 50000.
- TRUENORMPARAMETER Only meaningful when the TFQMR solver is
selected. This parameter determines how often the true residual is
calculated. A value of 1 means: every iteration, a value of 2 means:
every two iterations, etc. Default is 5.
- RESTARTPARAMETER Only meaningful when the R-GMRES solver is
selected. This is the restart parameter in R-GMRES. Default is 5.
- BLOCKJACOBI_LEVEL Size of preconditioner. A negative
value means: use no preconditioner. A value is 0 means, use blocks
equal to the lowest-level box size. A higher value often means faster
convergence, however at a cost of a longer setup stage. The default
value is 3. You may want to raise this number for larger or more
resonant simulations.
- SPACE_FILLING_CURVE Choice of space filling curve. Valid
options are HILBERT or MORTON. Default value is HILBERT.
- PACKAGE_SIZE Size of a package in micro-seconds. Raising this
value will reduce overhead, however, the asynchronous progress at
non-dedicated parallel systems may suffer. Default is 10000.
- BENCHMARK_MODE If this value is equal to 1, all output is
suppressed and the iterations are timed. Upon completion, a
benchmark.dat file containing these times is written to disc. You may
want to limit the number of iterations (to e.g. 30) when performing
these benchmarks. Default is 0.
- MAX_OUTPUT_SIZE This value determines the maximum number
of elements that are written to disc. Default value is 100000.
- WRITE_Z_MATRIX If this value is set to non-zero, the
interaction matrix is written to disc, if its size is smaller
than MAX_OUTPUT_SIZE. Default value is 0.
- WRITE_B_VECTOR If this value is set to non-zero, the
right hand side vector is written to disc, if its size is smaller
than MAX_OUTPUT_SIZE. Default value is 0.
- WRITE_X_VECTOR If this value is set to non-zero, the
solution vector is written to disc, if its size is smaller
than MAX_OUTPUT_SIZE. Default value is 0.