The Big Green Ordinary Differential Equation Machine


Instructions

The Big Green Ordinary Differential Equation Machine is a Java applet that integrates systems of ordinary differential equations and graphs the results. The applet integrates with respect to the variable "t" (often representing "time"). Since any number of variables may be entered into the Big Green Ordinary Differential Equation Machine, it can be used to model systems with an arbitrary number of equations. For each variable, the user should enter an intial value (value for t = 0) and a derivative with respect to "t".

Input

AN IMPORTANT NOTE: When you refresh or reload this page, all input fields are reset.

Values entered in the "Name:" and "Title:" fields are for identification and do not affect the numerical integration. The applet uses a Runge-Kutta fixed-step method for the numerical integration between the time entered in the "Time Start:" field and the time entered in the "Time End:" field. The applet performs the integration using the integral number of steps entered in the "Number of Steps:" field. The applet will also plot this many points. Make the value high enough for accuracy, but as low as possible for speed.

Variable names, initial values, and time derivatives must be entered in the large text area on the left. Variable names can be of any length, but must start with a letter. Capitalization is significant ("a" is different from "A"). The variable "t" is reserved to represent time. The format for entering variables is to enter one variable on each line. Start the line with the variable name, enter an equals sign (=) and then enter the initial value of the variable. On the same line then enter a comma (,), the variable name with a prime ('), another equals sign, and then a formula for the time derivative of the variable. The formula can contain the any of following:

Operators:

+ for addition
- for subtraction
* for multiplication
/ for division
^ for power

Parentheses: ( )

Constants: any number, e.g. 1.23, -6, 5.55E-5

Variables: any defined variable string

    Valid Functions:

ABS - absolute value, ABS(x) = |x|
SQR - square, SQR(x) = x2
EXP - exponential function, EXP(x) = ex
LN - natural logarithm, LN(x) = loge(x)
LOG10 - base 10 logarithm, LOG10(x) = log10(x)
SQRT - square root
SIN - sine
COS - cosine
TAN - tangent
ATN - arc tangent in the range of -pi/2 to pi/2
INT - nearest integer

Controls

Pressing the "Calculate" buttons starts the integration and performs the plotting. The "Update Plot" button will replot the results of the integration. This can be used to look at the behavior of different variables without redoing the integration.

Output

The text area below the plot gives feedback on any problems with the input values and variables, or with problems during the integration.

The values to be plotted on the graph are controlled by the "vertical" and "horizontal" fields. The "vertical" field will accept any number of defined, non-constant variables, each separated by a comma. The horizontal field will accept only one defined, non-constant variable including "t".

2002 BPReid