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, sub-block views, etc.), coloring support, partitioning (Zoltan), and I/O.
EpetraExt contains a number of classes. They can be categorized as follows:
EpetraExt::Transform: Abstract base for transformation of object of type T to object of type U.
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.
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::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
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 PETSc-based application.
Nonlinear Model Evaluator:
EpetraExt::ModelEvaluator provides an Epetra-specific 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.