48 #ifndef SHYLU_DIRECTSOLVER_INTERFACE_DECL_HPP 49 #define SHYLU_DIRECTSOLVER_INTERFACE_DECL_HPP 51 #include "ShyLUCore_config.h" 58 #include <Epetra_CrsMatrix.h> 59 #include <Epetra_MultiVector.h> 60 #include <Epetra_Vector.h> 61 #include <Epetra_Map.h> 62 #include <Epetra_LinearProblem.h> 65 #include <Isorropia_config.h> 66 #include <Isorropia_Epetra.hpp> 67 #include <Isorropia_EpetraProber.hpp> 68 #include <Isorropia_EpetraPartitioner.hpp> 69 #include <Isorropia_EpetraRedistributor.hpp> 72 #ifdef HAVE_SHYLUCORE_TPETRA 73 #include <Tpetra_CrsMatrix_decl.hpp> 74 #include <Tpetra_CrsMatrix_def.hpp> 78 #ifdef HAVE_SHYLUCORE_ZOLTAN2 79 #include <Zoltan2_XpetraCrsMatrixAdapter.hpp> 80 #include <Zoltan2_XpetraMultiVectorAdapter.hpp> 81 #include <Zoltan2_PartitioningProblem.hpp> 84 #include <Teuchos_XMLParameterListHelpers.hpp> 88 #include <Amesos_BaseSolver.h> 90 #ifdef HAVE_SHYLUCORE_AMESOS2 91 #include <Amesos2.hpp> 102 template <
class Matrix,
class Vector>
117 int init_matrix(Matrix *inA, Teuchos::ParameterList* pList);
119 int solve(Vector* b, Vector* x);
123 int solveAmesos(Vector* b, Vector *x );
124 #ifdef HAVE_SHYLUCORE_AMESOS2 126 int solveAmesos2(Vector* b, Vector *x);
130 Teuchos::ParameterList *pList;
135 Epetra_LinearProblem problem_amesos;
136 Amesos_BaseSolver* solver_amesos;
139 #ifdef HAVE_SHYLUCORE_AMESOS2 140 Teuchos::RCP<Amesos2::Solver<Matrix,Vector> > solver_amesos2;
147 #endif //end header if DirectSolverInterface class templated on Epetra/Tpetra Matrix and Vector.
DirectSolverInterface()
Main constructor of class.
Main header file of ShyLU (Include main user calls)