The Conley-Morse Graphs Software
config.h
Go to the documentation of this file.
1/////////////////////////////////////////////////////////////////////////////
2///
3/// @file config.h
4///
5/// Choice of configuration settings.
6/// This is a file that sets a few special configuration options,
7/// and includes an appropriate configuration file
8/// for the program "cmgraphs.cpp".
9/// The included configuration file defines the map which is analyzed,
10/// the ranges of parameters, and the phase space information.
11///
12/// @namespace custom
13///
14/// Customizable settings that are supposed to be modified and/or chosen
15/// by the user of the software. This namespace contains various constants,
16/// classes and functions which can be modified in order to customize
17/// the programs for the computation of Conley-Morse graphs
18/// and the continuation diagrams.
19///
20/// @author Pawel Pilarczyk
21///
22/////////////////////////////////////////////////////////////////////////////
23
24// Copyright (C) 1997-2022 by Pawel Pilarczyk.
25//
26// This file is part of my research software package. This is free software:
27// you can redistribute it and/or modify it under the terms of the GNU
28// General Public License as published by the Free Software Foundation,
29// either version 3 of the License, or (at your option) any later version.
30//
31// This software is distributed in the hope that it will be useful,
32// but WITHOUT ANY WARRANTY; without even the implied warranty of
33// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
34// GNU General Public License for more details.
35//
36// You should have received a copy of the GNU General Public License
37// along with this software; see the file "license.txt". If not,
38// please, see <https://www.gnu.org/licenses/>.
39
40// Started on February 9, 2008. Last revision: July 18, 2022.
41
42
43// --------------------------------------------------
44// --------- SPECIAL CONFIGURATION OPTIONS ----------
45// --------------------------------------------------
46
47// Use single parameter points instead of parameter intervals.
48// Comment this setting out for the final computations.
49//#define CONFIG_PARAMPOINTS
50
51// Do not send individual parameter boxes for precomputing
52// the Conley indices.
53//#define CONFIG_NOPREPROCESSING
54
55// Do preprocessing only and skip the matching part.
56//#define CONFIG_ONLYPREPROCESSING
57
58// Wait with Phase 2 until Phase 1 (preprocessing) has been completed.
59#define CONFIG_SEPARATEPHASES
60
61// Use the procedure for computing the Morse decomposition
62// instead of computing the invariant part of the set,
63// and also don't determine connections between Morse sets.
64// In this way, the connections between Morse sets are lost,
65// but the invariant part to subdivide may be substantially smaller.
66// Comment this setting out for the final computations
67// to get full information.
68//#define CONFIG_NOCONNECTIONS
69
70// Use the default bounding box for ODE integration in order to prevent
71// iterating trajectories far beyond the phase space of interest,
72// and, in particular, to avoid running out of the scope of integer
73// coordinates of boxes when determining the images of boxes.
74// WARNING: This technique may lead to the construction of combinatorial
75// cubical multivalued maps that are not acyclic, that is, do not satisfy
76// the necessary assupmtions for the computation of the homomorphism
77// induced in homology (for the Conley index map).
78// NOTE: If using the approximate integration of the ODE, this technique
79// works in a different way, by fading the vector field outside the box,
80// so it is safe to use it in that setting.
81//#define CONFIG_ODEBOUNDINGBOX
82
83// Make a correction to the isolating neiborhood after subdivision.
84// This is necessary for integrating ODEs using the time-t map
85// with variable t, because an isolating neighborhood for one t
86// need not be an isolating neighborhood for another t, so it is only taken
87// as a hint, and those cubes from the exit set whose images intersect
88// the isolating neighborhood are added to the isolating neighborhood,
89// like in an algorithm for the construction of an index pair.
90//#define CONFIG_ODEVART
91
92// Add cubes to the image of a combinatorial cubical multivalued map
93// only if their intersection with the interval box that covers the image
94// is equal or higher to the provided fraction.
95// Set the fraction to 0 to add whenever they intersect (old behavior),
96// set the fraction to a maximum of 1 (to add those only which are contained).
97//#define CONFIG_IFRACTION 0.05
98
99// Enhance the invariant part the given number of times
100// before proceeding to the next subdivision level.
101//#define CONFIG_ENHANCEINV 1
102
103// Define the X coordinate for plotting the Morse sets in the PNG files.
104//#define PLOT_X_COORD 1
105
106// Define the Y coordinate for plotting the Morse sets in the PNG files.
107//#define PLOT_Y_COORD 3
108
109
110// --------------------------------------------------
111// --------------- CONFIGURATION FILE ---------------
112// --------------------------------------------------
113
114//#include "c_differ.h"
115//#include "c_duffing_a.h"
116//#include "c_globclog.h"
117//#include "c_harvest.h"
118//#include "c_henon.h"
119//#include "c_inf_t.h"
120//#include "c_lorenz.h"
121//#include "c_lorenz_a.h"
122//#include "c_lorenz_t.h"
123#include "c_neuron09.h"
124//#include "c_neuron12.h"
125//#include "c_neuron25.h"
126//#include "c_pop2demo.h"
127//#include "c_pop2p.h"
128//#include "c_roessler_a.h"
129//#include "c_stdmap.h"
130//#include "c_twocirc.h"
131//#include "c_twotorus.h"
132//#include "c_vpol.h"
133//#include "c_vpol1.h"
134//#include "c_vpol_a.h"
135//#include "c_whales.h"
136
Configuration for the Chialvo neuron model in R^2 with 2 varying parameters.