DINAMICA
IDE to development of applications for analysis of complex systems.
Handbook attached to this entry
This is a project developed under direction of Dr, Humberto Carrillo Calvet. At the non lineal Dynamics laboratory. Mathematics division, UNAM (http://www.dynamics.unam.edu/).
EXECUTABLES ARE AVAILABLE FOR TESTING AT:
https://github.com/albertoHdzE/DINAMICA
INTRODUCTION
Dynamical systems theory is an area of mathematics used to describe the behavior of complex dynamical systems, usually by employing differential equations or difference equations. When differential equations are employed, the theory is called continuous dynamical systems. When difference equations are employed, the theory is called discrete dynamical systems. When the time variable runs over a set that is discrete over some intervals and continuous over other intervals or is any arbitrary time-set such as a cantor set—one gets dynamic equations on time scales. Some situations may also be modeled by mixed operators, such as differential-difference equations.
This theory deals with the long-term qualitative behavior of dynamical systems,[1] and studies the nature of, and when possible the solutions of, the equations of motion of systems that are often primarily mechanical or otherwise physical in nature, such as planetary orbits and the behaviour of electronic circuits, as well as systems that arise in biology, economics, and elsewhere. Much of modern research is focused on the study of chaotic systems.
This field of study is also called just dynamical systems, mathematical dynamical systems theory or the mathematical theory of dynamical systems.
(source: https://en.wikipedia.org/wiki/Dynamical_systems_theory)
DINAMICA, What it is?
DINAMICA Integrated Development Environment (IDE) focused on implementation of applications for dynamical systems analysis.
Probably the most important contribution of this DINAMICA is that provides an easy way develop complex projects without even add any code. Additionally it allows the addition and construction of new components.
DINAMICA IDE
Fig. 1. DINAMICA IDE
DINAMICA PARTS:
1. Palette of Components: Contains DINAMICA’s Components Suit and gives access to principal options: build, remove and update projects; build executables, to compile, etc.
2. Properties Inspector: Visual access to properties of components. It allows edition of component`s properties in a application.
3. Design Frame: Container of components.
4. Code Editor: Where to write code to add functionality to the applications developed in DINAMICA.
DINAMICA IDE PARTS
Component palette.
Fig. 2. Component palette.
IDE component interface to access to the principal task and actions by means menus:
a) File tasks
b) Component task
c) Project tasks
d) Tools
e) About section
File Tasks
As the image 3 shows the file tasks are:
a. Create a new project
b. Open an existing DINAMICA project
c. Save the current project
Close or finish the program
Fig. 3. File Menu
Creating a new DINAMICA PROJECT
When the user want to create a new project, DINAMICA IDE build a new design frame and a clean space allowing new complete graphical design interface.
Opening an existing DINAMICA project
Open an already existing dinamica project with extention .din
Fig. 4. Open Dialog
Once the use has chosen the correct file the project its build as originally was saved with the possibility to edit it.
Saving DINAMICA project
Save current project.
Fig. 5. Save Dialog
Closing
Close curren project.
Component Tasks
There are two principal tasks related with components, as it is possible to see at the figure 6 are:
Fig. 6 Component tasks
a) Load new component(s)
b) Delete component(s)
DINAMICA´S components correspond exactly to the concept of "component" of classical Oriented Object Programming paradigm.
Being faithfull to this last convention, is possible to load, delete, develop and load new componentes to the Pallete. But the differece is, of course, that DINAMICA has its own rules to accept one new component. This details are considered in detail in handbook.
Loading new components
User components have to be developed using .NET 2.0 or superior framwork and keep in mind DINAMICA rules.
When user has a new component, and wants add it to DINAMICA interface, it has to be access the component seciont in principal menu, and load it. When user choose this option one new dialog appear with two options that has to be defined:
1. File: dll file containing component(s).
2. Tag: Tag labed where new user component will appear.
Fig. 7. Load component Interface.
Once these last two options are defined, one new tag is added to DINAMICA interface giving access to the new component(s).
Deleting components
Delete components in a tag's DINAMICA IDE.
When the user wants delete some components, it is necessary to choose the option in the principal menu and a new dialgo will appear which let to choose what will be removed from DINAMICA's interface.
Fig. 8 deleting components.
DINAMICA IDE DEFAULT COMPONENTS SET
Standard components
Table 2. Some standard component
Graphical components
Table 3. Some visualization components
Iteration components
Table 4. Iteration components
EDO components
Table 5. Some Ordinary Differential Equation components
Integration Components
Table 6. Some Integration components
Circle Components
Table 7. Some Circle components
Fractal Components
Table 8. Some Fractal components
CREATING NEW COMPONENTS
Details in handbook of DINAMICA.
WHAT KIND OF APPLICATIONS CAN BE DEVELOPED WITH DINAMICA
Fractal applications
The term fractal was coined by Benoit Mandelbrot to differentiate pure geometric figures from other types of figures that defy such simple classification. Fractals have two interesting qualities that will be explored in this chapter. First, fractals are self-similar on multiple scales, in that a small portion of a fractal will often look similar to the whole object, much as a fern leaf looks very much like a fern tree. Second, fractals have a fractional dimension, as opposed to an integer dimension that idealized objects have. This characteristic means that a fractal with a dimension of 1.5 is in some way more than a line but less than a plane.
Because fractals are self-similar, all fractals have a built-in form of recursion. Sometimes the recursion is explicitly visible in how the fractal is constructed. Other times the recursion is a little more subtle and may be an artifact of an underlying fractal-building process that occurs on multiple spatial scales. The first type of fractal can typically be defined by a program-like specification, while the second type of fractal is usually related to a random or stochastic process. In this chapter, we will examine both types of fractals so as to better appreciate both the explicit and the implicit recursion they contain.
DINAMICA IDE it is capable to plot fractal systems by means an own recursion algorithm. Some examples are shown in the next figures.
DYNAMIC SYSTEMS ANALYSIS APPLICATIONS
The concept of a dynamical system has its origins in Newtonian mechanics. There, as in other natural sciences and engineering disciplines, the evolution rule of dynamical systems is given implicitly by a relation that gives the state of the system only a short time into the future. (The relation is either a differential equation, difference equation or other time scale.) To determine the state for all future times requires iterating the relation many times—each advancing time a small step. The iteration procedure is referred to as solving the system or integrating the system. Once the system can be solved, given an initial point it is possible to determine all its future points, a collection known as a trajectory or orbit.
Before the advent of fast computing machines, solving a dynamical system required sophisticated mathematical techniques and could be accomplished only for a small class of dynamical systems. Numerical methods implemented on electronic computing machines have simplified the task of determining the orbits of a dynamical system.
SOME EXES
1. MANDELBROT Y JULIA: Plots the Maldelbrot Fractal and its Julia set. You can choose the color spectrum of representation looking at the function xt+1=f(xt,c) , which we will take as having the form xt+1 = xt2+c with xo = 0 + i0 = 0. The question to answer is: For some constant complex value of c, what will happen to t as we let 0 go to infinity? Let's look at a few special cases. When c = 0, all of the xt values will always be equal to 0; thus it is possible for the xt values to remain bounded in size as t gets very large. Similarly, if we set c = i, then x0 = 0, x1 = i, x2 = -1 + i, x3 = -i, x4 = -1 + i, and x5 = -i. Since x3 = x5, the sequence has fallen into a period-2 pattern, meaning that it oscillates between two values, - i and -1 + i
2. MANDELBROT Y JULIA 3D: Plots the Maldelbrot Fractal and its Julia set. You can choose the color spectrum of representation, also, you can to see the Maldelbrot 3D
3. MANDELBROT AND JULIA WITH ZOOM FUNCTIONALITY: Plots the Maldelbrot Fractal and its Julia set. You can choose the color spectrum of representation, but in this example you can zoom in the Maldelbrot
4. GRAPHICS 2D: A simple example to plot equations 2D
5. GRAPHICS 2D COSTUMED: A simple 2D plotting, but in this example, by means a dialog frame you can choose what equation you want to plot
6. GRAPHICS 2D AND MENUS: In this example you have a 2D plotting but with many other options that you can use by means a menu
7. GRAPHICS 3D: A 3D plotting
8. LORENZ: A Lorenz Fractal Analyzer
9. COMPARING DIFFERENT INTEGRATION METHODS: This system was developed to compare different integration systems with the same equations system
10. ANALYZER VR. 1: Simple but complete Dynamic System analyzer
11. INTEGRA IN 30 MINUTES: Complete Dynamic System Analyzer build just in less than 30 minutes with DINAMICA. INTEGRA it is the first version of a very complete and useful system for dynamic system analysis developed by the nonlinear mathematics team in Mexico. This systems needed months of hard and specialized work. With DINAMICA it was built a very basic version of integra in 30 min.
12. COMPLETE ANALYZER DYNAMIC SYSTEMS: Complete Dynamic Systems Analyzer where you can customize the equations systems to analyze, save it and load it any time
DONWLOADING EXES
the exes of the last projects can be downloaded, and the links are in the next section, but if you want to execute it, you have to download the folder DLLS and put all the lybraries contained on it at the same folder where you save the exe file.