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 _FIXEDREFINEMENTIMPLEM_H_ 00012 #define _FIXEDREFINEMENTIMPLEM_H_ 00013 00014 #include "MayDay.H" 00015 00016 #include "NamespaceHeader.H" 00017 00018 template <int dim> FixedRefinement<dim>::FixedRefinement() 00019 { 00020 } 00021 00022 template <int dim> FixedRefinement<dim>::FixedRefinement(const int & a_maxNumberOfRefinements) 00023 { 00024 setMaxNumberOfRefinements(a_maxNumberOfRefinements); 00025 } 00026 00027 template <int dim> FixedRefinement<dim>::~FixedRefinement() 00028 { 00029 } 00030 00031 template <int dim> bool FixedRefinement<dim>::doRefine(IndexTM<int,dim> & a_refineInDir, 00032 const CutCellMoments<dim> & a_ccm, 00033 const int & a_numberOfRefinements) 00034 { 00035 bool retval = false; 00036 00037 if (a_numberOfRefinements < m_maxNumberOfRefinements) 00038 { 00039 retval = true; 00040 00041 for (int idir = 0; idir < dim; idir++) 00042 { 00043 a_refineInDir[idir] = 1; 00044 } 00045 } 00046 00047 return retval; 00048 } 00049 00050 template <int dim> void FixedRefinement<dim>::setMaxNumberOfRefinements(const int & a_maxNumberOfRefinements) 00051 { 00052 if (a_maxNumberOfRefinements < 0) 00053 { 00054 MayDay::Abort("FixedRefinement<dim>::setNumberOfRefinements - maxNumberOfRefinements must be >= 0"); 00055 } 00056 00057 m_maxNumberOfRefinements = a_maxNumberOfRefinements; 00058 } 00059 00060 template <int dim> int FixedRefinement<dim>::getMaxNumberOfRefinements() 00061 { 00062 return m_maxNumberOfRefinements; 00063 } 00064 00065 #include "NamespaceFooter.H" 00066 00067 #endif