00001 00005 #ifndef DDtest_hh 00006 #define DDtest_hh 00007 00008 #include "basics/testcase.hh" 00009 #include "basics/typedefs.hh" 00010 #include "basics/vectorsMatricesForward.hh" 00011 00012 using concepts::Real; 00013 00014 namespace hp2D { 00015 class Space; 00016 } 00017 00018 namespace test { 00019 00020 // *********************************************************** DomainDecomp ** 00021 00026 class DomainDecomp : public TestCase { 00027 public: 00035 DomainDecomp(uint g = 0, bool m = false, bool i = false, bool d = false); 00036 virtual ~DomainDecomp() {} 00037 virtual void run(); 00038 00040 00041 00044 void testCG(); 00048 void testSuperLU(); 00049 00051 void solve(concepts::SolverFabric<Real>& fabricI, 00052 concepts::SolverFabric<Real>& fabricB, bool explSchur); 00054 private: 00056 bool i_, d_; 00058 concepts::Import2dMesh msh_; 00060 hp2D::hpFull prebuild_; 00062 concepts::Sequence<concepts::Set<uint> > domains_; 00064 std::auto_ptr<concepts::DomainDecomp<hp2D::hpAdaptiveSpaceH1> > spc_; 00066 concepts::Sequence<concepts::SparseMatrix<Real>*> M_; 00068 std::auto_ptr<concepts::Vector<Real> > rhs_; 00069 }; 00070 00071 } // namespace test 00072 00073 #endif // DDtest_hh