Here are inserted the codes used for completing a topological characterization of a 3D chaotic attractor. The whole procedure is described in a paper which is forthcoming. Most of the code are written in basic C++, some others are in Fortran 90 (thanks to Eduardo Mendes who updated them). As a graphical tool, I am using XmGrace (included in most of the Linux package). The parameter files (*.par) for formatting the figure using this software called by some of the codes are provided.
Any question ? write me
The chaotic system chosen for producing the 3D attractor which is investigated as an example is the Liu & Yang system [1].
For an attractor with an order-2 rotation symmetry as observed in the Liu and Yang system, it is convenient to use a two-component Poincaré section [2] [3] [4]. Then a normalization of the visited interval helps to improve the readibility of the map. Each interval is oriented from the left to the right and from the centre to the periphery of the attractor [5]
This code - written in Fortran - starts from a two-column data file used for plotting a Poincaré section or a first-return map. The parameter used for running this code are the number Ncp of critical points (three critical points splits the four monotone branches) and one is added at the left end of the map since the left monotone branch is decreasing and must be encoded with an odd symbol, the Xc(i)s are the abscissa of the four critical points, errmax is the threshold distance under which the pth intersection yk+p is considered as being sufficiently close to yk to correspond to a period-p orbit, and Pmax is the largest period of extracted orbits. The boolean parameter invert is used to invert the map --- if needed --- to obey the convention of plotting each component from the centre (left) to the periphery (right) of the attractor.
Make a copy of the code used for producing the first-return map and modify it (without touching to the index of the intersection) to write in a three-column data file the coordinates of each points of the trajectory such that
The code Linking.f computes the half-sum of the apparent crossings in a regular plane projection whose sign is determined with the help of the third coordinate. You need two data file made of three columns, the first two corresponding to the regular plane projection in which the orbits are displayed.
For being familiarized with different templates, please consult [6] [7]
[1] Y. Liu & Q. Yang, Dynamics of a new Lorenz-like chaotic system, Nonlinear Analysis : Real World Applications, 11, 2563-2572, 2010.
[2] C. Letellier, P. Dutertre & G. Gouesbet, Characterization of the Lorenz system taking into account the equivariance of the vector field, Physical Review E, 49 (4), 3492-3495, 1994.
[3] C. Letellier & G. Gouesbet, Topological characterization of a system with high-order symmetries : the proto-Lorenz system, Physical Review E, 52 (5), 4754-4761, 1995.
[4] C. Letellier, T. Tsankov, G. Byrne & R. Gilmore, Large-scale structural reorganization of strange attractors, Physical Review E, 72 (2), 026212, 2005.
[5] M. Rosalie & C. Letellier, Systematic template extraction from chaotic attractors : I. Genus-one attractors with an inversion symmetry, Journal of Physics A, 46 375101, 2013 On line
[6] C. Letellier, Branched manifolds for the three types of unimodal maps, Communications in Nonlinear Science and Numerical Simulation, 101, 105869, 2021. Online
[7] C. Letellier, N. Stankevich & O. E. Rössler, Dynamical Taxonomy : some taxonomic ranks to systematically classify every chaotic attractor, International Journal of Bifurcation & Chaos, 32 (2), 2230004, 2022. ArXiv