The Conley-Morse Graphs Software
p_globclog.h
Go to the documentation of this file.
1/////////////////////////////////////////////////////////////////////////////
2///
3/// @file p_globclog.h
4///
5/// Parameters for the globally coupled logistic maps.
6/// This is a configuration file for the program "cmgraphs.cpp"
7/// which defines the ranges of parameters to scan
8/// and the details of the phase space.
9///
10/// @author Pawel Pilarczyk
11///
12/////////////////////////////////////////////////////////////////////////////
13
14// Copyright (C) 1997-2014 by Pawel Pilarczyk.
15//
16// This file is part of my research software package. This is free software:
17// you can redistribute it and/or modify it under the terms of the GNU
18// General Public License as published by the Free Software Foundation,
19// either version 3 of the License, or (at your option) any later version.
20//
21// This software is distributed in the hope that it will be useful,
22// but WITHOUT ANY WARRANTY; without even the implied warranty of
23// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24// GNU General Public License for more details.
25//
26// You should have received a copy of the GNU General Public License
27// along with this software; see the file "license.txt". If not,
28// please, see <https://www.gnu.org/licenses/>.
29
30// Started on April 10, 2008. Last revision: April 12, 2008.
31
32
33#ifndef _CMGRAPHS_P_H_
34#define _CMGRAPHS_P_H_
35
36
37namespace custom {
38
39/// Parameters for the globally coupled logistic maps.
40namespace globclog {
41
42
43// --------------------------------------------------
44// --------- the phase space configuration ----------
45// --------------------------------------------------
46
47/// The dimension of the phase space.
48const int spaceDim = 3;
49
50/// Is space wrapping (a.k.a. periodic boundary conditions)
51/// in effect in the given directions?
52const bool spaceWrapping [spaceDim] = {false, false, false};
53
54/// The initial depth of subdivisions in the phase space.
55const int initialDepth = 6;
56
57/// The final depth of subdivisions in the phase space.
58const int finalDepth = 7;
59
60
61// --------------------------------------------------
62// ------------ the parameter selection -------------
63// --------------------------------------------------
64
65/// The dimension of the parameter space to iterate. Only those parameters
66/// which are varying are taken into consideration here.
67const int paramDim = 2;
68
69/// The numbers of subintervals in each direction of the parameter space.
70/// The type of these numbers must match "parCoord" in "typedefs.h".
71const short int paramSubdiv [paramDim] = {128, 128}; //{32000, 32000};
72
73/// The numbers of parameters to subdivide.
74const int paramSelect [paramDim] = {0, 1};
75
76
77// --------------------------------------------------
78// ---------- the parameter space settings ----------
79// --------------------------------------------------
80
81/// The number of all the parameters, both varying and fixed.
82const int paramCount = 2;
83
84/// The left bounds on the parameters.
85const double paramLeft [paramCount] = {1.7462857142857142, 0.3251953125};
86//{1.75, 0.17}; //{1.4, 0.0};
87
88/// The right bounds on the parameters.
89const double paramRight [paramCount] = {1.7462857142857142, 0.3251953125};
90//{1.8, 0.22}; //{2.0, 0.4};
91
92
93// --------------------------------------------------
94// -------------- the phase space size --------------
95// --------------------------------------------------
96
97/// An imitation of an array which returns the offset of the rectangular area
98/// in the phase space which contains the invariant sets of interest.
100{
101 /// Returns the space offset in the requested direction.
102 double operator [] (int) const
103 {
104 return -1.0; //-1.7;
105 }
106}; /* struct SpaceOffsetType */
107
108/// An imitation of an array which returns the offset of the rectangular area
109/// in the phase space which contains the invariant sets of interest.
111
112/// An imitation of an array which returns the width of the rectangular area
113/// in the phase space which contains the invariant sets of interest.
115{
116 /// Returns the space width in the requested direction.
117 double operator [] (int) const
118 {
119 return 2.1; //2.8;
120 }
121}; /* struct SpaceWidthType */
122
123/// An imitation of an array which returns the width of the rectangular area
124/// in the phase space which contains the invariant sets of interest.
126
127
128// --------------------------------------------------
129// ------------------ refinements -------------------
130// --------------------------------------------------
131
132/// The number of refinements that should be done if a Morse set
133/// with the trivial index is encountered or if the image of a Morse set
134/// sticks out of the rectangular region to which the computations
135/// are restricted. Set to zero for no refinements.
136const int refineDepth = 4;
137
138/// The maximal allowed size of a set of cubes in the phase space
139/// which can be refined at the initial subdivision level.
140/// Set to zero to suppress any refinements.
141const int maxRefineSize0 = 120000;
142
143/// The maximal allowed size of a set of cubes in the phase space
144/// which can be refined at the subsequent subdivision levels.
145/// Set to zero to suppress any refinements.
146const int maxRefineSize1 = 50000;
147
148
149// --------------------------------------------------
150// ------------------- map images -------------------
151// --------------------------------------------------
152
153/// The maximal allowed diameter of the cubical image of a signle box.
154/// This limit is set up in order to prevent a blow-up of the program
155/// in the memory because of accumulating huge images of boxes.
156const int maxImageDiameter = 15000;
157
158/// The maximal allowed volume of the cubical image of a single box.
159/// This limit is set up in order to prevent a blow-up of the program
160/// in the memory because of accumulating huge images of boxes.
161const int maxImageVolume = 30000;
162
163
164// --------------------------------------------------
165// -------------- max index pair size ---------------
166// --------------------------------------------------
167
168/// The maximal allowed size of the index pair. This size is measured
169/// as the total number of cubes in the index pair and its forward image.
170const int maxIndexPairSize = 2000000;
171
172
173// --------------------------------------------------
174// --------------- joining Morse sets ---------------
175// --------------------------------------------------
176
177/// The maximal number of cubes in a trivial Morse set for which an attempt
178/// is made to join this set with another near-by Morse set.
179/// Set to zero to suppress joining.
180const int maxJoinSize = 0;
181
182/// The maximal size of a connecting orbit between two Morse sets
183/// which can be considered for joining.
184const int maxJoinConnection = 1000;
185
186/// The maximal allowed distance between two Morse sets which can be
187/// considered for joining. Note: It doesn't work with space wrapping.
188const int maxJoinDistance = 100;
189
190
191// --------------------------------------------------
192// ----------------- other settings -----------------
193// --------------------------------------------------
194
195/// Should the ordering between the Morse sets be taken into consideration
196/// while determining whether two Morse decompositions
197/// computed for adjacent parameter boxes are in the same class?
198const bool compareMorseOrdering = true;
199
200/// Ignoring the isolation problem while matching Morse decompositions.
201/// If this constant is set to "true" then Morse sets are matched
202/// with each other indepent of whether the Conley index could be computed
203/// for them or not. Otherwise, 'correct' and 'wrong' Morse sets
204/// are matched with their counterparts in the same category only.
206
207/// Ignoring the isolation problem while computing the Conley index.
208/// If the constant is set to "true" then the index pair constructed on the
209/// basis of a combinatorial Morse set with respect to the dynamics
210/// restricted to the rectangular area of interest is also restricted
211/// to that area by means of projecting any boxes which stick out
212/// of the region onto a single layer of boxes around the boundary.
214
215
216} // namespace globclog
217} // namespace custom
218
219
220#endif // _CMGRAPHS_P_H_
221
const int refineDepth
The number of refinements that should be done if a Morse set with the trivial index is encountered or...
Definition: p_globclog.h:136
const bool ignoreIsolationForContinuation
Ignoring the isolation problem while matching Morse decompositions.
Definition: p_globclog.h:205
const int initialDepth
The initial depth of subdivisions in the phase space.
Definition: p_globclog.h:55
const int paramCount
The number of all the parameters, both varying and fixed.
Definition: p_globclog.h:82
const int maxImageDiameter
The maximal allowed diameter of the cubical image of a signle box.
Definition: p_globclog.h:156
const int paramDim
The dimension of the parameter space to iterate.
Definition: p_globclog.h:67
const int paramSelect[paramDim]
The numbers of parameters to subdivide.
Definition: p_globclog.h:74
const int maxJoinDistance
The maximal allowed distance between two Morse sets which can be considered for joining.
Definition: p_globclog.h:188
const int finalDepth
The final depth of subdivisions in the phase space.
Definition: p_globclog.h:58
const int maxImageVolume
The maximal allowed volume of the cubical image of a single box.
Definition: p_globclog.h:161
const double paramRight[paramCount]
The right bounds on the parameters.
Definition: p_globclog.h:89
const int maxJoinConnection
The maximal size of a connecting orbit between two Morse sets which can be considered for joining.
Definition: p_globclog.h:184
const SpaceOffsetType spaceOffset
An imitation of an array which returns the offset of the rectangular area in the phase space which co...
Definition: p_globclog.h:110
const int maxRefineSize1
The maximal allowed size of a set of cubes in the phase space which can be refined at the subsequent ...
Definition: p_globclog.h:146
const SpaceWidthType spaceWidth
An imitation of an array which returns the width of the rectangular area in the phase space which con...
Definition: p_globclog.h:125
const int maxIndexPairSize
The maximal allowed size of the index pair.
Definition: p_globclog.h:170
const bool ignoreIsolationForConleyIndex
Ignoring the isolation problem while computing the Conley index.
Definition: p_globclog.h:213
const short int paramSubdiv[paramDim]
The numbers of subintervals in each direction of the parameter space.
Definition: p_globclog.h:71
const double paramLeft[paramCount]
The left bounds on the parameters.
Definition: p_globclog.h:85
const int spaceDim
The dimension of the phase space.
Definition: p_globclog.h:48
const int maxJoinSize
The maximal number of cubes in a trivial Morse set for which an attempt is made to join this set with...
Definition: p_globclog.h:180
const bool compareMorseOrdering
Should the ordering between the Morse sets be taken into consideration while determining whether two ...
Definition: p_globclog.h:198
const int maxRefineSize0
The maximal allowed size of a set of cubes in the phase space which can be refined at the initial sub...
Definition: p_globclog.h:141
const bool spaceWrapping[spaceDim]
Is space wrapping (a.k.a.
Definition: p_globclog.h:52
Customizable settings that are supposed to be modified and/or chosen by the user of the software.
An imitation of an array which returns the offset of the rectangular area in the phase space which co...
Definition: p_globclog.h:100
double operator[](int) const
Returns the space offset in the requested direction.
Definition: p_globclog.h:102
An imitation of an array which returns the width of the rectangular area in the phase space which con...
Definition: p_globclog.h:115
double operator[](int) const
Returns the space width in the requested direction.
Definition: p_globclog.h:117