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 // NodeBaseBottomSmoother.H 00012 // adapted from BaseBottomSmoother by DFMartin, Sun, May 5, 2002 00013 // petermc, 5 June 2002 00014 00015 #ifndef NODEBASEBOTTOMSMOOTHER_H 00016 #define NODEBASEBOTTOMSMOOTHER_H 00017 00018 #include <iostream> 00019 #include <math.h> 00020 #include "SPACE.H" 00021 #include <stdlib.h> 00022 #include "REAL.H" 00023 #include "IntVect.H" 00024 #include "Box.H" 00025 #include "DisjointBoxLayout.H" 00026 #include "LevelData.H" 00027 #include "NodeFArrayBox.H" 00028 #include "ProblemDomain.H" 00029 #include "NodeLevelOp.H" 00030 00031 #include "UsingNamespace.H" 00032 00034 00041 class NodeBaseBottomSmoother 00042 { 00043 00044 public: 00045 00050 00052 00054 NodeBaseBottomSmoother() {}; 00055 00057 00059 virtual ~NodeBaseBottomSmoother() {}; 00060 00062 00064 virtual NodeBaseBottomSmoother* new_bottomSmoother() const = 0; 00065 00072 00074 00076 void setVerbose( bool a_verbose ){ m_verbose = a_verbose ; } ; 00077 00084 00086 00091 virtual void doBottomSmooth( 00092 LevelData<NodeFArrayBox>& a_phi, 00094 const LevelData<NodeFArrayBox>& a_rhs, 00096 NodeLevelOp* a_levelop_ptr 00097 ) = 0; 00098 00103 bool m_verbose; 00104 }; 00105 00106 #endif