AztecOO Development
Loading...
Searching...
No Matches
Trilinos/AztecOO: Object-Oriented Aztec Linear Solver Package.

Introduction

AztecOO provides an object-oriented interface the the well-known Aztec solver library. Furthermore, it allows flexible construction of matrix and vector arguments via Epetra matrix and vector classes. Finally, AztecOO provide additional functionality not found in Aztec and any future enhancements to the Aztec package will be available only through the AztecOO interfaces.

Overview of AztecOO.

AztecOO contains a number of classes. They are:

  • AztecOO - Primary solver class. An AztecOO object is instantiated using and Epetra_LinearProblem object. The solver options and parameters can be set using SetAztecOption() and SetAztecParam() methods on an AztecOO object.

  • Aztec2Petra() - Utility function to convert from Aztec data structures to Epetra objects. This function can be useful when migrating from Aztec to AztecOO. It is used internally by the AZOO_iterate function.

  • AZOO_iterate() - Utility function that mimics the behavior and calling sequence of AZ_iterate, the primary solver call in Aztec. AZOO_iterate converts Aztec matrix, vectors, options and params into Epetra and AztecOO objects. It then calls AztecOO to solve the problem. For current Aztec users, this function should provide identical functionality to AZ_iterate, except for the extra memory used by having Epetra versions of the matrix and vectors.
    Warning
    Please note that AZOO_iterate is meant to provide a smooth transition for current Aztec users to AztecOO. We do not advocate this function as a permanent solution to switching from Aztec to AztecOO.

AztecOO and Matrix Free usage.

AztecOO supports a `‘matrix-free’' mechanism via the pure virtual class Epetra_RowMatrix. This class is part of Epetra and is implemented by the Epetra_CrsMatrix and Epetra_VbrMatrix classes. It is possible to implement Epetra_RowMatrix using other matrix classes. AztecOO can then use this alternate implementation to provide the matrix multiply capabilities, and to obtain row value information from the matrix for constructing preconditioners. For details of Epetra, see the Epetra home page.

Thyra support

The AztecOO to Thyra Linear Solver Adapters take Thyra::LinearOpBase objects that wrap Epetra_Operator objects and turn them into Thyra::LinearOpWithSolveBase objects which can then be used to solve linear systems using the AztecOO class.

Browse all of AztecOO as a single doxygen collection

You can browse all of AztecOO as a single doxygen collection. Warning, this is not the recommended way to learn about AztecOO software. However, this is a good way to browse the directory structure of aztecoo, to locate files, etc.