ShyLU: Implementation of Thyra interface for FROSch
Created by: roeverf
@trilinos/shylu
Description
This implementation adds a Stratimikos/Thyra adapter for FROSch. FROSch can be enabled to the Stratimikos::DefaultLinearSolverBuilder (Stratimikos_FROSchXpetra.hpp). Routines to build the preconditioner (Thyra_FROSchXpetraFactory_def.hpp, Thyra_FROSchXpetraTwoLevelBlockPrec_def.hpp) were added. The preconditioner is passed on to Thyra as a FROSchLinOP (Thyra_FROSchLinearOp_def.hpp) derived from Thyra::LinearOpDefaultBase.
Routines to extract coordinates and a repeated map from the parameter list were added.
How Has This Been Tested?
All prior existing ShyLu-DD/FROSch test were passed. For the specific tests "Thyra_xxx" tests were added. Iteration counts are equal to the existing tests solving the same problem. All test were run on a Mac OS X, compiled with MPICH version 3.2.1.
Checklist
-
My commit messages mention the appropriate GitHub issue numbers. -
My code follows the code style of the affected package(s). -
My change requires a change to the documentation. -
I have updated the documentation accordingly. -
I have read the code contribution guidelines for this project. -
I have added tests to cover my changes. -
All new and existing tests passed. -
No new compiler warnings were introduced. -
These changes break backwards compatibility.