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> 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)
const fei::SharedPtr< fei::LinearSystem > get_fei_LinearSystem() const
AggregateLinearSystem(MPI_Comm comm, fei::SharedPtr< fei::Factory > factory, size_t num_matrices=1, size_t num_rhsvecs=1)
const fei::SharedPtr< fei::MatrixGraph > get_fei_MatrixGraph() const
void create_fei_LinearSystem()
const DofMapper & get_DofMapper() const
void set_num_matrices_rhsvecs(size_t num_matrices, size_t num_rhsvecs)