LinearSystem.hpp

00001 /*------------------------------------------------------------------------*/
00002 /*                 Copyright 2010 Sandia Corporation.                     */
00003 /*  Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive   */
00004 /*  license for use of this work by or on behalf of the U.S. Government.  */
00005 /*  Export of this program may require a license from the                 */
00006 /*  United States Government.                                             */
00007 /*------------------------------------------------------------------------*/
00008 
00009 #ifndef stk_linsys_LinearSystem_hpp
00010 #define stk_linsys_LinearSystem_hpp
00011 
00012 #include <stk_linsys/FeiBaseIncludes.hpp>
00013 #include <stk_linsys/DofMapper.hpp>
00014 
00015 #include <Teuchos_ParameterList.hpp>
00016 
00017 namespace stk {
00018 namespace linsys {
00019 
00023 class LinearSystem {
00024  public:
00026   LinearSystem(MPI_Comm comm, fei::SharedPtr<fei::Factory> factory);
00027 
00029   virtual ~LinearSystem();
00030 
00036   void synchronize_mappings_and_structure();
00037 
00042   void create_fei_LinearSystem();
00043 
00051   void finalize_assembly();
00052 
00054   const DofMapper& get_DofMapper() const;
00055 
00057   DofMapper& get_DofMapper();
00058 
00060   const fei::SharedPtr<fei::MatrixGraph> get_fei_MatrixGraph() const;
00061 
00063   fei::SharedPtr<fei::MatrixGraph> get_fei_MatrixGraph();
00064 
00066   const fei::SharedPtr<fei::LinearSystem> get_fei_LinearSystem() const;
00067 
00069   fei::SharedPtr<fei::LinearSystem> get_fei_LinearSystem();
00070 
00087   int solve(int & status, const Teuchos::ParameterList & params);
00088 
00089  private:
00090 
00091   fei::SharedPtr<fei::Factory> m_fei_factory;
00092   DofMapper m_dof_mapper;
00093   fei::SharedPtr<fei::MatrixGraph> m_fei_mgraph;
00094 
00095   fei::SharedPtr<fei::LinearSystem> m_fei_linearsystem;
00096 };//struct LinearSystem
00097 
00098 }//namespace linsys
00099 }//namespace stk
00100 
00101 #endif
00102 

Generated on Tue Jul 13 09:27:32 2010 for Sierra Toolkit by  doxygen 1.4.7