| Java PHASER ProjectA Universal Simulator for Dynamical SystemsAuthors/Architects:
	
	Jason Glick, 
	
	Huseyin Kocak, and
	Burton Rosenberg
 With contributions by:
	Craig Kolthoff and Johannes Gudmundsson
 
We are redeveloping from the ground up, in 100% pure 
Java, 
the original Phaser C program for DOS authored by Dr. Kocak at Brown 
University in the mid 1980's. Java Phaser is not a port; rather, 
it is a completely new version which sports radically new GUI 
features, analytical tools, and algorithms. Furthermore, it has 
been rendered platform independent, thanx to Java technology!  
 
 
Phaser is an intuitive program for graphically and numerically 
analyzing dynamical systems on a computer. Such systems include multi-
dimensional Difference Equations, Iterated Function Systems, and 
Ordinary Differential Equations exhibiting bifurcation, periodic, 
equilibria, chaotic, and strange attraction behaviors. Phaser captures 
and manifests these dynamical phenomena with its powerful Views:
 
 
| Phaser Views: 
	 Phase Portrait Xi vs. Time Bifurcation Diagram 1-D Stair Step Diagram Xi Values 
Each View is capable of simultaneously solving multiple initial
conditions on a given system.  Morever, each view runs in its
own thread space, thereby allowing any combination of views to run
concurrently.  
All Views, including their respective graphical and numerical environments
wherein runs the dynamic system under inspection, are fine-tunably configurable 
by the user via Phaser's vital co-primary application, the Numerics Editor.
 |   |  
 
The Phase Portrait View is especially enhanced by robust 3-D graphics
functionality and presentation, including static and real-time 3-D rotations
and animations of system solutions, with user-defined Cut-Plane and Poincare
Map visual aids integration.  
 
 
|   | 
In addition to its diverse stock library of fascinating equations,
Phaser is equipped with an easy-to-use, yet sophisticated Equation Editor,
Parser and Evaluator. Parsed-evaluated equations perform more-or-less at
55% speed of their executed bytecode counterparts.  Such equations are 
known as Custom Equations.
 
Custom Equations may be collected in Phaser's Custom Equation Library, 
and may be added, removed, modifed, and used at any time.  Custom Equations
may be exported and imported as Phaser Projects.
 |  
Phaser's prowess is contributable in part to its extensive library
of classical and state-of-the-art algorithms* - 
the following methods for numerical analysis of first-order differential 
equations are employed by Phaser:
 
 
* 
[
Our Java ports of modern algorithms in FORTRAN code developed by 
Hairer 
and Wanner.
]
| Classical Algorithms: 
	State-of-the-Art Algorithms:
	
	| Explicit | Implicit |  
	| Euler (1) | Implicit Euler (1) |  
	| Improved Euler (2) | Implicit Midpoint (2) |  
	| Heun (2) | Implicit Trapezoid (2) |  
	| Nystrom (3) | Implicit SDIRK (3) |  
	| Runge-Kutta (4) | Implicit Gauss (4) |  
	| Runge-Kutta 3/8 (4) | Implicit Lobatto (4) |  
	|  | Implicit Radau IA (5) |  
	|  | Implicit Gauss (6) |  
	
	
	| Explicit | Implicit |  
	| Dormand-Prince 5(4) * | RADAU IIA * |  
	| Dormand-Prince 8(5,3) * |  
	| ODEX * | SEULEX * |  |  |  
Using Newton's method, Phaser is capable of numerically and graphically locating 
periodic points in MAPs and equilibrium points in ODEs.
 
 
|  | 
Phaser includes a very unique co-primary application 
called the Gallery. The Phaser Gallery showcases projects created 
in Phaser. Projects are sent from Phaser to the Gallery.  On the 
surface, projects in the Gallery are represented as seemingly static 
snapshot images. However, behind the scenes, living in limbo, are the 
intact objects that define the projects.  Thus, any one project in the 
Gallery may be rejuvenated at any time by sending it back to Phaser 
where further experimentation and exploration may be performed.  As 
well as being a showcase, the Gallery serves as a practical temporary 
repository for multiple in-progress or finished projects while another 
one is being worked on in the main application of Phaser.
 |  
Excerpt from Phaser Help: 
It is often necessary to save a current Phaser simulation for a 
multitude of reasons. For example, you might like to share your findings with a colleague,
continue investigation at a later time, or create demonstrations for students. For such tasks, 
Phaser provides the following facilities:
 
	Save Phaser Project: You can save the fruits
           of your labor by simply using Save Current Project menuitem
           on the File menu of the Main Application Window. This action
           enables you to save the current state of Phaser in its entirety,
           including the complete graphical and numerical environments,
           to a compressed user-specified file. 
	Load Phaser Project: A previously saved Phaser 
           Project file can be reloaded into Phaser using Load Phaser Project 
           menuitem on the File menu of the Main Application Window. This action
           enables you to restore the current state of Phaser to that of the saved project.
            
	Load Phaser Project URL: Previously saved Phaser 
           Project files can also be loaded over the Net using Load Phaser Project URL 
           menuitem on the File menu of the Main Application Window. This action
           enables you to Fetch the desired Phaser Project file by specifying its URL,
	   using either FTP or HTTP protocols. 
            
| Current development plans for Phaser, 1st release:  
Future development plans for Phaser, 2nd release: Algorithms designed for stiff equations 
 Algorithms tailored for Hamiltonian Systems
 Printed manual, including tutorials
 Online help facility
 
 Basins of Attraction
 3-D View of Bifurcation Diagram
 Context-sensitve online help facility
 |  |  
 
|  | 
Phaser is designed as a professional educational and research tool.
It is being class tested (in beginning and advanced courses in differential 
equations) within a network environment in our department; 
it has proven to be very robust and successful.
Finally, the Phaser project symbolizes an investigation into Java
technology as a promising development platform for serious mathematical 
and scientific computing.
 
Acknowledgements:
Dr. Alan Zame, The Chairman of our 
Department of Math and Computer Science, 
for his material and spiritual support. 
Main contributor to the Phaser Project is Craig Kolthoff, for impeccable 
quality assurance, FORTRAN fluency, and perpetual enthusiastic support. 
Johannes Gudmundsson, for implementation of the classic implicit algorithms.
 |  
Phaser is being developed entirely in Java, using Sun's JDK 1.5.0/1.6.0 JavaHelp 2.0
on various platforms (in particular, Microsoft Windows XP, Redhat Linux, and Mac OS X) and 
written as a stand-alone application. 
  Partial support for this work was provided by the 
National Science Foundation's Course, Curriculum, 
and Laboratory Improvement Program under grant DUE-0230612.
 
Phaser 2.1 was released on December 1st, 2003!
Phaser 3.0 was released on April 14th, 2007!
 
 
 Phaser Links:For current and more information or to get a copy of Phaser,please visit the Phaser Scientific Software website.
 
 
 Related Links:The goals of the Numerics Working Group,
chartered by the Java Grande Forum, are
 to assess the suitability of Java for numerical computation, to work towards community consensus on actions which can be
	taken to overcome deficiencies of the language and its run-time environment, and to encourage the development of APIs for core mathematical operations Last updated: Mon Apr 14 00:00:00 EST 2007
Jason Glick, 
jason@math.miami.edu
 |