Finite Element Domain Decomposition Library
FEDDLib
Loading...
Searching...
No Matches
LaplaceBlocks_decl.hpp
1#ifndef LaplaceBlocks_decl_hpp
2#define LaplaceBlocks_decl_hpp
3#include "feddlib/problems/abstract/Problem.hpp"
12
13namespace FEDD {
14template <class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
15class LaplaceBlocks : public Problem<SC,LO,GO,NO> {
16
17public:
18
19
20 typedef Problem<SC,LO,GO,NO> Problem_Type;
21 typedef typename Problem_Type::Matrix_Type Matrix_Type;
22 typedef typename Problem_Type::MatrixPtr_Type MatrixPtr_Type;
23
24 typedef typename Problem_Type::BlockMatrix_Type BlockMatrix_Type;
25
26 typedef typename Problem_Type::MultiVector_Type MultiVector_Type;
27 typedef typename Problem_Type::MultiVectorPtr_Type MultiVectorPtr_Type;
28
29 typedef typename Problem_Type::DomainConstPtr_Type DomainConstPtr_Type;
30 typedef typename Problem_Type::CommConstPtr_Type CommConstPtr_Type;
31
32 LaplaceBlocks( const DomainConstPtr_Type &domain1, const DomainConstPtr_Type &domain2, std::string FEType1, std::string FEType2, ParameterListPtr_Type parameterList );
33
34 ~LaplaceBlocks();
35
36 virtual void info();
37
38 virtual void assemble( std::string type = "" ) const;
39
40 virtual void getValuesOfInterest( vec_dbl_Type& values ){};
41
42 virtual void computeValuesOfInterestAndExport() {};
43// virtual int SetupPreconditioner(BMat_ptr_Type systemPrec, ThyraConstLinOpPtr_Type thyraMatrix=Teuchos::null, ThyraPrecPtr_Type thyraPreconditioner = Teuchos::null, LinSolverBuilderPtr_Type linearSolverBuilder = Teuchos::null) const;
44//
45// virtual void assembleExternal( std::string type ){};
46
47 void setPrecLists( ParameterListPtr_Type p1list, ParameterListPtr_Type p2list ){ precList1_ = p1list; precList2_ = p2list;};
48
49 ParameterListPtr_Type getPrecList1(){return precList1_;};
50
51 ParameterListPtr_Type getPrecList2(){return precList2_;};
52
53private:
54 ParameterListPtr_Type precList1_;
55 ParameterListPtr_Type precList2_;
56 /*####################*/
57};
58}
59#endif
Adaptive Mesh Refinement.
Definition AdaptiveMeshRefinement.cpp:5