00001 ///////////////////////////////////////////////////////////////////////////// 00002 /// 00003 /// @file limits2d.h 00004 /// 00005 /// Limits set on computations. 00006 /// This file contains the definitions of a few limits imposed on selected 00007 /// aspect of the computations, like the maximal acceptable size 00008 /// of an index pair. 00009 /// These parameters impact the memory consumption of the program 00010 /// so these limits must be increased with care if necessary. 00011 /// 00012 /// @author Pawel Pilarczyk 00013 /// 00014 ///////////////////////////////////////////////////////////////////////////// 00015 00016 // Copyright (C) 1997-2008 by Pawel Pilarczyk. 00017 // 00018 // This file is part of my research software package. This is free software; 00019 // you can redistribute it and/or modify it under the terms of the GNU 00020 // General Public License as published by the Free Software Foundation; 00021 // either version 2 of the License, or (at your option) any later version. 00022 // 00023 // This software is distributed in the hope that it will be useful, 00024 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00025 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00026 // GNU General Public License for more details. 00027 // 00028 // You should have received a copy of the GNU General Public License along 00029 // with this software; see the file "license.txt". If not, write to the 00030 // Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 00031 // MA 02111-1307, USA. 00032 00033 // Started on February 9, 2008. Last revision: April 14, 2008. 00034 00035 00036 #ifndef _CMGRAPHS_LIMITS2D_H_ 00037 #define _CMGRAPHS_LIMITS2D_H_ 00038 00039 00040 namespace custom { 00041 00042 /// Limitations and bounds for 2-dimensional computations. 00043 /// This namespace contains some constants which define various limitations 00044 /// on the depth and strength of computations. These limits are designed 00045 /// for the 2-dimensional computations conducted for the Leslie population 00046 /// model to make sure that the program does not use too much memory 00047 /// (about 2GB max). 00048 namespace limits2d { 00049 00050 00051 // -------------------------------------------------- 00052 // ------------------ refinements ------------------- 00053 // -------------------------------------------------- 00054 00055 /// The number of refinements that should be done if a Morse set 00056 /// with the trivial index is encountered or if the image of a Morse set 00057 /// sticks out of the rectangular region to which the computations 00058 /// are restricted. Set to zero for no refinements. 00059 const int refineDepth = 5; 00060 00061 /// The maximal allowed size of a set of cubes in the phase space 00062 /// which can be refined at the initial subdivision level. 00063 /// Set to zero to suppress any refinements. 00064 const int maxRefineSize0 = 200000; 00065 00066 /// The maximal allowed size of a set of cubes in the phase space 00067 /// which can be refined at the subsequent subdivision levels. 00068 /// Set to zero to suppress any refinements. 00069 const int maxRefineSize1 = 50000; 00070 00071 00072 // -------------------------------------------------- 00073 // ------------------- map images ------------------- 00074 // -------------------------------------------------- 00075 00076 /// The maximal allowed diameter of the cubical image of a signle box. 00077 /// This limit is set up in order to prevent a blow-up of the program 00078 /// in the memory because of accumulating huge images of boxes. 00079 const int maxImageDiameter = 3000; 00080 00081 /// The maximal allowed volume of the cubical image of a single box. 00082 /// This limit is set up in order to prevent a blow-up of the program 00083 /// in the memory because of accumulating huge images of boxes. 00084 const int maxImageVolume = 6000; 00085 00086 00087 // -------------------------------------------------- 00088 // ------------------- index pair ------------------- 00089 // -------------------------------------------------- 00090 00091 /// The maximal allowed size of the index pair. This size is measured 00092 /// as the total number of cubes in the index pair and its forward image. 00093 const int maxIndexPairSize = 1200000; 00094 00095 00096 } // namespace limits2d 00097 } // namespace custom 00098 00099 00100 #endif // _CMGRAPHS_LIMITS2D_H_ 00101
1.5.3