In many simulation applications, the selection of optimal methods and parameters for the linear solver strategy to some extend depends on the concrete simulation, for instance, the material properties, problem sizes, parallelism, etc. While you can typically find a fixed linear solver strategy that very well fits for a simulation application, the final tuning for a concrete simulation can hardly be carried out in advance.
This is where the autonomous solver control can be applied: Instead of a fixed linear solver strategy, a set of considerable methods and parameter ranges is selected. Within these available options, SAMG then finds the best settings on its own. This is realized with evolutionary and surrogate learning methods.
Not only is an autonomous parameter tuning possible this way. The solver control also allows for the usage of solver strategies that may not be robustly applicable in all but only in a majority of cases from a simulation application, but provide a good computational efficiency. In those cases where the most efficient approaches are not robust enough, the solver control ensures reasonable backups to be available if the control has been configured to do so.
Basically all methods and parameters from the SAMG solver library can be considered in the pre-described set of methods. In some special application cases even pre-implemented selections can be used, while in general an XML-input is provided.
The development of the learning solver control has been funded by the Fraunhofer Research Center for Machine Learning within the Fraunhofer Cluster of Excellence Cognitive Internet Technologies.
Example Application: Simulation of Battery Aging
The autonomous solver control has allowed to use iterative linear solver methods from the SAMG library in the battery simulator BaSiS at the Fraunhofer IEE (www.batterie-simulation.de). The highly complex physical and electro-chemical processes of a battery often lead to highly ill-conditioned linear systems of equations. This and the variety of possible battery configurations do not allow for selecting a fixed iterative linear solver method in advance. Thus, only direct solvers could be used so far. The solver control in SAMG, however, allows for the usage of iterative single-level methods now. This provides significant reductions of the overall run-times compared to the direct solvers.