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