limits2d.h

Go to the documentation of this file.
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 

Generated on Sun Mar 28 17:47:57 2010 for The Conley-Morse Graphs Software by  doxygen 1.5.3