00001 #ifdef CH_LANG_CC 00002 /* 00003 * _______ __ 00004 * / ___/ / ___ __ _ / / ___ 00005 * / /__/ _ \/ _ \/ V \/ _ \/ _ \ 00006 * \___/_//_/\___/_/_/_/_.__/\___/ 00007 * Please refer to Copyright.txt, in Chombo's root directory. 00008 */ 00009 #endif 00010 00011 #ifndef _EBSIMPLESOLVER_H_ 00012 #define _EBSIMPLESOLVER_H_ 00013 00014 #include "LevelData.H" 00015 #include "LinearSolver.H" 00016 #include "MultiGrid.H" 00017 00018 #include "EBCellFAB.H" 00019 #include "NamespaceHeader.H" 00020 00021 class EBSimpleSolver : public LinearSolver<LevelData<EBCellFAB> > 00022 { 00023 public: 00024 EBSimpleSolver(); 00025 00026 virtual ~EBSimpleSolver(); 00027 00028 virtual void setHomogeneous(bool a_homogeneous); 00029 00030 virtual void define(LinearOp<LevelData<EBCellFAB> >* a_operator, 00031 bool a_homogeneous); 00032 00033 virtual void setNumSmooths(const int& a_numSmooths); 00034 00035 virtual void solve(LevelData<EBCellFAB>& a_phi, 00036 const LevelData<EBCellFAB>& a_rhs); 00037 00038 private: 00039 bool m_isDefined; 00040 00041 MGLevelOp<LevelData<EBCellFAB> >* m_operator; 00042 00043 bool m_homogeneous; 00044 int m_numSmooths; 00045 }; 00046 00047 #include "NamespaceFooter.H" 00048 #endif