Skip to content

ShyLU: Implementation of Thyra interface for FROSch

James Willenbring requested to merge roeverf:FROSch_Thyra into develop

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.

Merge request reports