9 #ifndef stk_linsys_AggregateLinearSystem_hpp
10 #define stk_linsys_AggregateLinearSystem_hpp
12 #include <stk_linsys/FeiBaseIncludes.hpp>
13 #include <stk_linsys/DofMapper.hpp>
14 #include <stk_linsys/LinearSystemInterface.hpp>
15 #include <stk_linsys/LinearSystem.hpp>
17 #include <Teuchos_ParameterList.hpp>
19 namespace stk_classic {
35 AggregateLinearSystem(MPI_Comm comm, fei::SharedPtr<fei::Factory> factory,
size_t num_matrices=1,
size_t num_rhsvecs=1);
40 void set_parameters(Teuchos::ParameterList& paramlist);
60 fei::SharedPtr<fei::Matrix>
get_matrix(
size_t index);
64 fei::SharedPtr<fei::Vector>
get_rhsvec(
size_t index);
71 const std::vector<double>& rhs_scalars);
102 void write_files(
const std::string& base_name)
const;
122 int solve(
int & status,
const Teuchos::ParameterList & params);
126 fei::SharedPtr<fei::Factory> m_fei_factory;
129 std::vector<fei::SharedPtr<fei::Matrix> > m_matrices;
130 std::vector<fei::SharedPtr<fei::Vector> > m_rhsvecs;
fei::SharedPtr< fei::Vector > get_rhsvec(size_t index)
virtual ~AggregateLinearSystem()
int solve(int &status, const Teuchos::ParameterList ¶ms)
void aggregate_system(const std::vector< double > &mat_scalars, const std::vector< double > &rhs_scalars)
void synchronize_mappings_and_structure()
fei::SharedPtr< fei::Matrix > get_matrix(size_t index)
AggregateLinearSystem(MPI_Comm comm, fei::SharedPtr< fei::Factory > factory, size_t num_matrices=1, size_t num_rhsvecs=1)
const DofMapper & get_DofMapper() const
const fei::SharedPtr< fei::LinearSystem > get_fei_LinearSystem() const
const fei::SharedPtr< fei::MatrixGraph > get_fei_MatrixGraph() const
void create_fei_LinearSystem()
void set_num_matrices_rhsvecs(size_t num_matrices, size_t num_rhsvecs)