44 #ifndef _fei_Factory_Trilinos_hpp_
45 #define _fei_Factory_Trilinos_hpp_
47 #include "fei_trilinos_macros.hpp"
51 #include <fei_Include_Trilinos.hpp>
53 #ifdef HAVE_FEI_EPETRA
54 #include <fei_VectorTraits_Epetra.hpp>
55 #include <fei_MatrixTraits_Epetra.hpp>
56 #include <fei_Trilinos_Helpers.hpp>
57 #include <fei_LinProbMgr_EpetraBasic.hpp>
60 #include <fei_Factory.hpp>
61 #include <fei_ParameterSet.hpp>
62 #include <fei_Reducer.hpp>
63 #include <fei_Vector_Impl.hpp>
64 #include <fei_Matrix_Impl.hpp>
65 #include <fei_MatrixGraph_Impl2.hpp>
66 #include <fei_SparseRowGraph.hpp>
67 #include <fei_utils.hpp>
70 #define fei_file "fei_Factory_Trilinos.hpp"
71 #include <fei_ErrMacros.hpp>
78 Factory_Trilinos(MPI_Comm comm);
80 virtual ~Factory_Trilinos();
91 const char*
const* paramStrings);
106 #ifdef HAVE_FEI_EPETRA
127 bool isSolutionVector,
138 bool isSolutionVector,
149 void create_LinProbMgr(
bool replace_if_already_created=
false);
155 bool use_lpm_epetrabasic_;
158 bool use_feiMatrixLocal_;
159 bool blockEntryMatrix_;
160 bool orderRowsWithLocalColsFirst_;
165 #endif // _Factory_Trilinos_hpp_
virtual fei::SharedPtr< fei::Solver > createSolver(const char *name=0)=0
virtual void parameters(const fei::ParameterSet ¶mset)
virtual fei::SharedPtr< fei::Vector > createVector(fei::SharedPtr< fei::VectorSpace > vecSpace, int numVectors=1)=0
virtual fei::SharedPtr< Factory > clone() const =0
virtual int getOutputLevel() const =0
virtual fei::SharedPtr< fei::Matrix > createMatrix(fei::SharedPtr< fei::MatrixGraph > matrixGraph)=0
virtual fei::SharedPtr< fei::MatrixGraph > createMatrixGraph(fei::SharedPtr< fei::VectorSpace > rowSpace, fei::SharedPtr< fei::VectorSpace > columnSpace, const char *name)=0