EpetraExt
Development

EpetraExt is a set of extensions to Epetra. To allow Epetra to remain focused on its primary functionality as a Linear Algebra object support, EpetraExt was created to maintain additional support for such capabilities as transformations (permutations, subblock views, etc.), coloring support, and I/O.
EpetraExt contains a number of classes. They can be categorized as follows:
EpetraExt::Transform classes: These classes derive from EpetraExt::Transform allowing a common interface for transformation of epetra objects and migration of associated data.
EpetraExt::Transform: Abstract base for transformation of object of type T to object of type U.
EpetraExt::Transform_Composite: Allows the additive composition of EpetraExt::SameTypeTransform's.
Convertors: EpetraExt::LinearProblem_GraphTrans and EpetraExt::LinearProblem_MatrixTrans converts a EpetraExt::SameTypeTransform<Epetra_CrsGraph> and EpetraExt::SameTypeTransform<Epetra_CrsMatrix> to a EpetraExt::SameTypeTransform<Epetra_LinearProblem>
EpetraExt::CrsGraph_Overlap: Forms the overlapped version of a distributed graph up to the user specified level.
Reindexer's: Used to remap the global indexing of an existing Epetra object include EpetraExt::CrsMatrix_Reindex, EpetraExt::MultiVector_Reindex, and EpetraExt::LinearProblem_Reindex.
EpetraExt::LinearProblem_Scale: Linear left and right scaling of a Epetra_LinearProblem
Solver Mapping Tools: Remaps the columns of a CrsGraph or LinearProblem to meet the requirements of a square local block indexing for some linear solvers. Tools are EpetraExt::CrsGraph_SolverMap and EpetraExt::LinearProblem_SolverMap.
EpetraExt::CrsGraph_SymmRCM: Perform a symmetric RCM for the local blocks of a Epetra_CrsGraph.
Transpose: Form the explicit transpose of a Epetra_CrsGraph or Epetra_CrsMatrix. Tools are EpetraExt::CrsGraph_Transpose and EpetraExt::RowMatrix_Transpose.
View: For subblock views of existing Epetra objects including EpetraExt::CrsGraph_View, EpetraExt::CrsMatrix_View and EpetraExt::MultiVector_View
Permutation: EpetraExt::Permutation is used for simple permutations of Epetra_CrsGraph, Epetra_CrsMatrix, and Epetra_MultiVector given a new Epetra_Map object.
EpetraExt::MatrixMatrix: Static Matrix Matrix Operations including Multiply and Add.
I/O Operations for Epetra Objects. Epetra supports I/O operations for Epetra objects based on
–enableepetraexthdf5
. Coloring: Helper tools for generating Finite Differencing Colorings of Linear Problems.
Matlab: Communication interface between Epetra and Matlab. Exports Epetra objects to Matlab and imports objects from Matlab. Sends user specified Matlab commands to the Matlab engine to modify the Matlab workspace which provides user interaction with the Matlab engine.
Trilinos/PETSc Interface : Wrapper class intended for users who would like to use Trilinos preconditioners within their PETScbased application.
Nonlinear Model Evaluator: EpetraExt::ModelEvaluator
provides an Epetraspecific interface to nonlinear models for use by equation solvers all the way up to optimization.
The EpetraExt package can also optionally support adapters to various interfaces. Support for these adapters can be turned on at configure time.
EpetraExt/Thyra Adapters: These adapters implement various advanced Thyra interfaces in terms of EpetraExt code.
You can browse all of EpetraExt as a single doxygen collection. Warning, this is not the recommended way to learn about EpetraExt software. However, this is a good way to browse the directory structure of epetraext, to locate files, etc.