For my final project in CS 451 - Numerical Methods, I was asked to implement an N-dimensional ordinary differential equation solver, and then demonstrate its use on the Lorenz Equations. I was also asked to plot the resulting data in a 3-D mathematical software package and discover a point of bifurcation. The original report was printed and turned in on paper, but I have recreated my results as an interactive Flash movie.
The Lorenz equations model the Lorenz Attractor, a type of strange attractor which models convection currents in fluids. The requirements of the project involved modifying the Rayleigh factor (r) and finding a value where stability switches from one attraction point to the other. I found one value at 27.2018, as can be seen below (you can manipulate the Rayleigh factor by hovering your mouse over the gradiated bar):
Lorenz is credited as the discoverer of the "butterfly effect" and this model shows how tiny variations in a single factor can cause significant changes to a system.
The colors of the bar correspond to the Rayleigh factor increment being adjusted to an ever-decreasing size near the bifurcation point. In the middle of the bar, the Rayleigh factor is only changed in 0.0001 increments. I produced data with these increments in order to zero in on the bifurcation.
The N-dimensional solver was written in C++ and uses a third-order implicit Gear's method. Fourth-order Runge-Kutta is used to determine the initial two values, and a third-order Adams-Bashford formula generates the predictor for the method. I used the same Prandtl number and geometric factor as Lorenz, 10 and 8/3 respectively, set Δt at 0.0005 and produced 20,000 data points per run. Output from the solver was written into several comma-delimited data files, and these files were imported into Mathematica for the generation of 3-D scatter plots. Source code for my solver is available upon request.
To create the above Flash movie, graphs from Mathematica were exported as bitmaps. Since the Flash movie contains about sixty-five bitmaps, it is over 700 kB in size. Also, because frames are not played in sequence, it cannot be streamed and must be fully downloaded (a pre-loading sequence was added for this reason). If you experience any problems with the movie, please contact me.