9 #ifndef stk_linsys_LinearSystemInterface_hpp 10 #define stk_linsys_LinearSystemInterface_hpp 12 #include <stk_linsys/FeiBaseIncludes.hpp> 13 #include <stk_linsys/DofMapper.hpp> 15 #include <Teuchos_ParameterList.hpp> 20 class LinearSystemInterface {
22 virtual ~LinearSystemInterface() {}
24 virtual void set_parameters(Teuchos::ParameterList& paramlist) = 0;
26 virtual void synchronize_mappings_and_structure() = 0;
27 virtual void create_fei_LinearSystem() = 0;
28 virtual void finalize_assembly() = 0;
31 virtual const DofMapper& get_DofMapper()
const = 0;
34 virtual DofMapper& get_DofMapper() = 0;
37 virtual void reset_to_zero() = 0;
40 virtual const fei::SharedPtr<fei::MatrixGraph> get_fei_MatrixGraph()
const = 0;
43 virtual fei::SharedPtr<fei::MatrixGraph> get_fei_MatrixGraph() = 0;
46 virtual const fei::SharedPtr<fei::LinearSystem> get_fei_LinearSystem()
const = 0;
49 virtual fei::SharedPtr<fei::LinearSystem> get_fei_LinearSystem() = 0;
54 virtual void write_files(
const std::string& base_name)
const = 0;
72 virtual int solve(
int & status,
const Teuchos::ParameterList & params) = 0;