Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] adkh_v2_0.tar.gz(1752 Kbytes)
Manuscript Title: The Ndynamics package - numerical analysis of dynamical systems and the fractal dimension of boundaries
Authors: J. Avellar, L.G.S. Duarte, L.A.C.P. da Mota, N. de Melo, J.E.F. Skea
Program title: Ndynamics
Catalogue identifier: ADKH_v2_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 183(2012)2019
Programming language: Maple, C.
Computer: Intel(R) Core(TM) i3 CPU M330 @ 2.13 GHz.
Operating system: Windows 7.
RAM: 3.0 GB
Keywords: Dynamical Systems, Box Counting, Fractal dimension, Symbolic Computation, Differential equations, Maple.
PACS: 45.30.+s, 05.45.-a, 05.45.Df.
Classification: 4.3.

Does the new version supersede the previous version?: Yes

Nature of problem:
Computation and plotting of numerical solutions of dynamical systems and the determination of the fractal dimension of the boundaries.

Solution method:
The default method of integration is a 5th order Runge-Kutta scheme, but any method of integration present on the MAPLE system is available via an argument when calling the routine. A box counting [1] method is used to calculate the fractal dimension [2] of the boundaries.

Reasons for new version:
The Ndynamics package met a demand of our research community for a flexible and friendly environment for analyzing dynamical systems. All the user has to do is create his/her own MAPLE session, with the system to be studied, and use the commands in the package to (for instance) calculate the fractal dimension of a certain boundary, without knowing or worrying about a single line of C-programming. So the package combines the flexibility and friendly aspect of MAPLE with the fast and robust numerical integration of the compiled (for example C) basin. The package is old but the problems it was designed to deal with are still there. Since MAPLE evolved, the package stopped working and we felt compelled to produce this version, fully compatible with the MAPLE of the day, to make it again available to the MAPLE user.

Summary of revisions:
Deprecated Maple Packages and Commands: Paraphrasing the MAPLE inbuilt help files, "Some Maple commands and packages are deprecated. A command (or package) is deprecated when its functionality has been replaced by an improved implementation. The newer command is said to supersede the older one, and use of the newer command is strongly recommended". So, we have examined our code to see if some of these occurrences could be dangerous for it. For example, the "readlib" command is unnecessary and we have removed its occurrences from our code. We have checked and changed all the necessary commands in order for us to be safe in respect to danger from this source.
Another change we had to make was related to the tools we have implemented in order to use the interface for performing the numerical integration in "C", externally, via the use of the MAPLE command "ssystem". In the past, we used, for the external C-integration, the DJGPP system. But now we present the package with the (free) Borland distribution. The compilation and compiling commands are now slightly changed: For example, to compile only, we used "gcc -c", now we use "bcc32 -c", etc. The Borland installation procedure is explained in the "README" file we are submitting here to help the potential user.

Besides the inherent restrictions of numerical integration methods, this version of the package only deals with systems of first order differential equations.

Unusual features:
This package provides user-friendly software tools for analyzing the character of a dynamical system, whether it displays chaotic behaviour, etc. Options within the package allow the user to specify characteristics that separate the trajectories into families of curves. In conjunction with the facilities for altering the user's viewpoint, this provides a graphical interface for the speedy and easy identification of regions with interesting dynamics. An unusual characteristic of the package is its interface for performing the numerical integrations in C using a 5th order Runge-Kutta method (default). This potentially improves the speed of the numerical integration by some orders of magnitude and, in cases where it is necessary to calculate thousands of graphs in regions of difficult integration, this feature is very desirable. Besides that tool, the somewhat more experienced user can produce their own C-integrators and, by using the commands available in the package, use it as the C-integrator provided with the package as long as the new integrator manages the input and output in the same format as the default one does.

Running time:
This depends strongly on the dynamical system. With a Intel(R) Core(TM) i3 CPU M330 @ 2.13 GHz, the integration of 50 graphs, for a system of 2 first order equations, typically takes less than a second to run (with the C-integration interface). Without the C-interface, it takes a few seconds. In order to calculate the fractal dimension, where we typically use 10.000 points to integrate, using the C-interface it takes from 20 to 30 seconds. Without the C-interface, it becomes really unpractical. Taking, sometimes, for the same case, almost an hour. For some cases, it takes many hours.

[1] S.Bleher, C.Grebogi, E.Ott and R.Brown, Phys.Rev.A, 930, 1988.
[2] B.B.Mandelbrot, Fractals: Form, chance and dimension, Freeman - San Francisco - 1977.