The chapter presents a polyalgorithmic technique for adaptively selecting the linear solver method to match the numeric properties of linear systems as they evolve during the course of nonlinear iterations. The approach combines more robust but more costly methods when needed in particularly challenging phases of solution, with cheaper, though less powerful, methods in other phases. The chapter demonstrates that this adaptive, polyalgorithmic approach leads to improvements in overall simulation time, is easily parallelized, and is scalable in the context of this large-scale computational fluid dynamics application. This approach reduced overall execution time by using cheaper, though less powerful, linear solvers for relatively easy linear systems and then switching to more robust but more costly methods for more difficult linear systems. The results demonstrate that adaptive solvers can be implemented easily in a multiprocessor environment and are scalable. The chapter investigates adaptive solvers in problem domains and considers more adaptive approaches, including a polynomial heuristic where the trends of the indicators can be estimated by fitting a function to known data points. The chapter also combines adaptive heuristics with high-performance component infrastructure for performance monitoring and analysis.
ASJC Scopus subject areas
- Chemical Engineering(all)