/* Variablendeklaration */
var ODE_DP45; // ODE-Solver 2. Ordnung für einfache DGl
...
function setup ()
{
...
ODE_DP45 = new DP_secondOrder(16, 1e-10); // max. Iterationen, Genauigkeit
}
function draw() // Hauptprogramm
{
...
//****************************************** Berechnung ************************************************
if (START)
{
...
if (INIT)
{
...
ODE_DP45.DPsO(f, y, vy, dt); // Init DP45
}
}
else
{
for (var i = 0; i < I; i++)
{ // I-fache Wiederholung der Berechnung zur Zeitkorrektur
result = ODE_DP45.DPsO(f, y, vy, dt); // Dormand-Prince
y = result[0];
vy = result[1];
}
}
/* generalisierte grad-Funktion */
function f(y, vy)
{
return(g - 2*d*vy - sq(omega0)*(y-l0));
}