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 _BOUNDARYAREAREFCRIT_H_ 00012 #define _BOUNDARYAREAREFCRIT_H_ 00013 00014 #include "WrappedGShop.H" 00015 #include "RealVect.H" 00016 #include "IntVect.H" 00017 #include "IrregNode.H" 00018 #include "NamespaceHeader.H" 00019 00020 ///base class for special refinement 00021 /** 00022 Refines if the nodes boundary area FRACTION is greater a threshold 00023 */ 00024 class BoundaryAreaRefCrit: public WGSRefinementCriterion 00025 { 00026 public: 00027 /// 00028 virtual bool refineHere(const IrregNode& a_node, const IntVect& a_iv, const Real& a_dx) const; 00029 00030 /// 00031 BoundaryAreaRefCrit(Real a_thresholdBA) 00032 { 00033 m_thresholdBA = a_thresholdBA; 00034 } 00035 00036 /// 00037 virtual ~BoundaryAreaRefCrit() 00038 { 00039 } 00040 00041 private: 00042 Real m_thresholdBA; 00043 00044 00045 BoundaryAreaRefCrit() 00046 { 00047 } 00048 }; 00049 #include "NamespaceFooter.H" 00050 #endif