Zur Startseite
Statik, Festigkeitslehre, Kinematik/Kinetik, 4. Auflage

CAMMPUS - Lösung von Anfangswertproblemen

CAMMPUS starten, “Taschenrechner” wählen, dieses Programm gestattet u. a. die numerische Lösung von nichtlinearen Anfangswertproblemen. Ein Beispiel für die “Schritt-für-Schritt-Eingabe” findet sich hier. Nachfolgend werden der mathematische Hintergrund und einige grundsätzliche Regeln für die Lösung solcher Probleme beschrieben.

Es können Anfangswertprobleme für ein Differentialgleichungssystem 1. Ordnung
mit den Anfangsbedingungen
gelöst werden. Differentialgleichungen höherer Ordnung müssen durch Einführen von zusätzlichen Variablen zu Differentialgleichungen 1. Ordnung gemacht werden (eine Differentialgleichung m­ter Ordnung wird zu m Differentialgleichungen 1. Ordnung, vgl. Abschnitt 28.3.2).

Für die Lösung des Anfangswertproblems wird das Runge­Kutta­Verfahren 4. Ordnung benutzt. Die Runge­Kutta­Verfahren ermitteln, am Startpunkt der Rechnung mit den vorgegebenen Anfangswerten beginnend, die Funktionswerte an einem Punkt

x i +1 = x i + h

aus den Funktionswerten am Punkt x i , wobei mehrfach die ersten Ableitungen entsprechend der durch die Differentialgleichungen gegebenen Vorschriften im Intervall    x i x x i +1 berechnet werden müssen.

Bei den Runge­Kutta­Formeln 4. Ordnung (vgl. Formelsatz (28.15) im Abschnitt 28.3.1) ist der Fehler proportional zur 5. Potenz der Schrittweite h, ist also bei genügend kleiner Schrittweite sehr klein, bei einer zu großen Schrittweite kann das Verfahren empfindlich reagieren (Abweichungen von der exakten Lösung).

Die Festlegung einer geeigneten Schrittweite ist schwierig, die möglichen Auswertungen von "Schrittbewertungszahlen" liefern bei zahlreichen praktischen Problemen keine befriedigenden Aussagen. Deshalb ist die einfachste Kontrolle der Rechnung immer noch die effektivste: Die Lösung für das Integrationsintervall sollte mehrfach mit unterschiedlichen Schrittweiten berechnet werden. Wenn die Ergebnisse am Intervallende nicht mehr nennenswert voneinander abweichen, ist die Rechnung mit großer Sicherheit "gesund".

Die im Programm MCALCU voreingestellte Einteilung des Integrationsintervalls in 500 äquidistante Abschnitte ist für die meisten praktischen Probleme mehr als ausreichend. Bei großen Integrationsintervallen oder kritischem Lösungsverhalten sollten Testrechnungen mit feinerer Diskretisierung ausgeführt werden.

Die Berechnungsvorschriften, die die Differentialgleichungen definieren, sind nach den Regeln zu bilden, die für Funktionen in CAMMPUS gelten. Der Name einer Differentialgleichung muß allerdings mit dem Zeichen ' enden.

Es kann nur ein Differentialgleichungssystem definiert werden, das (wie die Funktionen) nur als kompletter Block (und nur gemeinsam mit den definierten Funktionen) gelöscht werden kann. Alle definierten Differentialgleichungen (Funktionen, deren Namen mit dem Zeichen ' enden) werden als zum Differentialgleichungssystem zugehörig betrachtet.

Differentialgleichungen können wie die Funktionen editiert, in einer (editierbaren) Datei gespeichert und wieder eingelesen werden.

Die einfachste Art, ein Differentialgleichungssystem zu definieren, ist das Annehmen der Option "Definieren" im Tastaturmenü "y'(x,...)". Dann werden sämtliche erforderlichen Informationen für ein Anfangswertproblem abgefragt.

Nach der Annahme der Option "Definieren" müssen folgende Parameter eingegeben werden:

  • Anzahl der Differentialgleichungen NDGL,
  • Name der unabhängigen Variablen, der identisch ist mit dem Namen der unabhängigen Variablen für die Funktionen (vorbelegt mit X) und bei Änderung auch für die übrigen Funktionen gilt,
  • Grenzen des Integrationsintervalls xANF ... xEND als X­anf bzw. X­end,
  • Anzahl der Abschnitte NSTEPS, in die das Integrationsintervall für den Runge­Kutta­Prozess unterteilt werden soll (Anzahl der auszuführenden Runge­Kutta­Schritte),
  • für jede Variable der (maximal fünfstellige) Name (diese Namen sind mit Y1, Y2, ... vorbelegt) und deren Anfangswerte an der Stelle xANF , die im Konsttn./Variabl.­Speicher abgelegt werden.

Der Parameter NSTEPS beeinflußt entscheidend die Qualität der numerischen Lösung und sollte nicht zu klein gewählt werden. Da die errechneten Zwischenergebnisse i. a. nicht alle interessieren, wird vor dem Start der Rechnung noch der Parameter KWETAB angeboten, mit dem gesteuert werden kann, nach wieviel Runge­Kutta­Schritten die Zwischenergebnisse ausgegeben werden sollen. Alle bei der Definition des Differentialgleichungssystems festgelegten Werte können nachträglich über die entsprechenden Menüangebote modifiziert werden.

Nachdem alle Parameter definiert sind, werden die Differentialgleichungen abgefragt. Dabei werden die Namen der Variablen, ergänzt um das Zeichen ', im Eingabefeld vorgegeben und dürfen nicht verändert werden. Einzugeben sind also nur die rechten Seiten der Differentialgleichungen. Alle benutzten Konstanten und Funktionen müssen vor ihrer Verwendung in einer Differentialgleichung definiert sein, weil die Eingaben sofort einer syntaktischen Kontrolle unterzogen und bei Fehlern abgelehnt werden.

Es ist möglich, "vergessene" Definitionen von Konstanten (nach Drücken der Funktionstaste F7) "nachzuholen". Funktionen, die in den Differentialgleichungen verwendet werden, können ohnehin erst im Zusammenhang mit der Definition der Differentialgleichungen definiert werden, wenn sie von den Variablen des Differentialgleichungssystems abhängig sind. Eine Funktionsdefinition während der Definition eines Differentialgleichungssystems wird durch Drücken der Taste F6 eingeleitet.

Für weitere Informationen wird auf das Hilfe­System des Programms und die Beispiele verwiesen.

Homepage

www.D@nkert.de

D

nkert.de