00001 ///////////////////////////////////////////////////////////////////////////// 00002 /// 00003 /// @file typedefs.h 00004 /// 00005 /// Customizable data types for the Conley-Morse graphs computation program. 00006 /// This file contains the definitions of various types 00007 /// used in the program "cmgraphs.cpp". 00008 /// The experienced end user is supposed to edit this file if he or she 00009 /// finds it necessary to tweak the program settings or to use the code 00010 /// for customized computations. 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 11, 2008. Last revision: April 8, 2008. 00034 00035 00036 #ifndef _CMGRAPHS_TYPEDEFS_H_ 00037 #define _CMGRAPHS_TYPEDEFS_H_ 00038 00039 00040 // include selected header files from the CHomP library 00041 #include "chomp/cubes/pointset.h" 00042 #include "chomp/cubes/cube.h" 00043 #include "chomp/struct/hashsets.h" 00044 00045 // include local header files 00046 #include "config.h" 00047 #include "conindex.h" 00048 #include "morsedec.h" 00049 00050 00051 // -------------------------------------------------- 00052 // ---------- phase space grid structures ----------- 00053 // -------------------------------------------------- 00054 00055 /// The type of coordinates of cubes in the phase space. 00056 typedef short int spcCoord; 00057 00058 /// The type of a cube in the phase space. 00059 /// Note: This type must be different from the type of a cube 00060 /// in the set of parameters. 00061 typedef chomp::homology::tCubeBase<spcCoord> spcCube; 00062 00063 /// The type of a set of cubes in the phase space. 00064 typedef chomp::homology::hashedset<spcCube> spcCubes; 00065 00066 /// The type of a combinatorial cubical multivalued map. 00067 typedef chomp::homology::mvmap<spcCube,spcCube> spcMap; 00068 00069 /// The type of a rectangle used to iterate sets of cubes in the phase space. 00070 typedef chomp::homology::tRectangle<spcCoord> spcRect; 00071 00072 /// The base of points for cubes in the phase space. 00073 typedef chomp::homology::tPointBase<spcCoord> spcBase; 00074 00075 00076 // -------------------------------------------------- 00077 // ----------- parameter grid structures ------------ 00078 // -------------------------------------------------- 00079 00080 /// The type of coordinates of cubes in the set of parameters. 00081 typedef short int parCoord; 00082 00083 /// The type of a cube in the set of parameters. 00084 /// Note: This type must be different from the type of a cube 00085 /// in the phase space. 00086 typedef chomp::homology::tCubeFix<paramDim,parCoord> parCube; 00087 00088 /// The type of a set of cubes in the set of parameters. 00089 typedef chomp::homology::hashedset<parCube> parCubes; 00090 00091 /// The type of a rectangle used to iterate sets of cubes of parameters. 00092 typedef chomp::homology::tRectangle<parCoord> parRect; 00093 00094 00095 // -------------------------------------------------- 00096 // ----------- dynamical data structures ------------ 00097 // -------------------------------------------------- 00098 00099 /// The type of a map for the computation of the Conley index. 00100 typedef MapComputation<theMapType,spcCube,spcCubes> theCubMapType; 00101 00102 /// The type of the index pair for the computation of the Conley index. 00103 typedef IndexPair<theCubMapType,spcCube,spcCubes> theIndexPairType; 00104 00105 /// The type of the Conley index. 00106 typedef ConleyIndex<theIndexPairType> theConleyIndexType; 00107 00108 /// The type of the Morse decomposition. 00109 typedef MorseDecomposition<theCubMapType,spcCube,spcCubes> 00110 theMorseDecompositionType; 00111 00112 00113 #endif // _CMGRAPHS_TYPEDEFS_H_ 00114
1.5.3