The configuration enables to collect parameters relevant for the simulation process (Figure 4.11). For instance, the maximum number of iterations and the break tolerance values for the linear and nonlinear solvers are stored. The individual simulator components use these configuration parameters to drive the simulation process and the problem classes (Section 4.3.6) forward the solver parameters to the solver kernels, such as ViennaCL’s conjugate-gradient solver.
Replacing individual simulation components might alter the set of configuration parameters. A typical example would be that by using a different linear solver, other preconditioners are supported changing the simulator’s configuration options. This fact introduces the need for each component to provide its configurable parameters in a unified manner to the frameworks configuration mechanism, such as via an associative container, mapping configuration options to corresponding default values which can be updated.