Simulationsergebnis schwankt stark mit Wert von DT

Hallo Fachkundige,

Bei der Modellierung eines mikrobiologischen Prozesses bringt die numerische
Lösung der Differentialgleichungen recht unterschiedliche Werte, abhängig von
dem Wert von DT (integration stepsize).

Verwende ich absurd niedrige Werte für DT, sieht das Ergebnis halbwegs
plausibel aus, leider kann ich das dann allerdings nur für einen kurzen
Zeitraum simulieren. Für die Simulation längerer Zeiträume, bei denen ich
größere Werte von DT nehmen muss (wg. Rechenkapazität), nehmen meine
Zustandsvariable wahnwitzige Werte an…

Wie kann das sein, und wie komme ich diesem Problem bei?

Die technischen Details:

  • Simulatiosprogramm: Berkeley Madonna 8.0, (http://www.berkeleymadonna.com)
  • Integrationsmethode ist Runge-Kutta 4. Ordnung.
    Größenorndung für die beschriebenen Werte:
  • der Simulationszeitraum sollte etwa 2000 h betragen (d.h. Stoptime = 2000),
    bei Integrationsschritten von DT = 0.2 produziert das Ding keine sinnvollen
    Lösungen (es sei denn, 1+1 ergäbe etwa 20)
  • Bei hundert- bis tausendfach kleineren Integrationsschritten ist das ganze
    schon wesentlich plausibler, allerdings bräuchte ich dann für die gesamte
    Simulation wohl deutlich mehr Rechenleistung, als zur Verfügung steht… Was
    tun?

Wäre schön, wenn jemand eine Idee hat, wo hier der Hund begraben liegt…

Simon

Auch hallo.

Hallo Fachkundige,

…das ist wohl eher ein mathematisches Problem, oder ?

Bei der Modellierung eines mikrobiologischen Prozesses bringt
die numerische
Lösung der Differentialgleichungen recht unterschiedliche
Werte, abhängig von
dem Wert von DT (integration stepsize).

Welche DGL und welcher Typ ? Vielleicht wurde eine Bedingung für die numerische Auswertung verletzt ?

Verwende ich absurd niedrige Werte für DT, sieht das Ergebnis
halbwegs
plausibel aus, leider kann ich das dann allerdings nur für
einen kurzen
Zeitraum simulieren. Für die Simulation längerer Zeiträume,
bei denen ich
größere Werte von DT nehmen muss (wg. Rechenkapazität), nehmen
meine
Zustandsvariable wahnwitzige Werte an…

Wie kann das sein, und wie komme ich diesem Problem bei?

Die technischen Details:

Keine andere Methode zulässig ?

Größenorndung für die beschriebenen Werte:

  • der Simulationszeitraum sollte etwa 2000 h betragen (d.h.
    Stoptime = 2000),
    bei Integrationsschritten von DT = 0.2 produziert das Ding
    keine sinnvollen
    Lösungen (es sei denn, 1+1 ergäbe etwa 20)
  • Bei hundert- bis tausendfach kleineren Integrationsschritten
    ist das ganze
    schon wesentlich plausibler, allerdings bräuchte ich dann für
    die gesamte
    Simulation wohl deutlich mehr Rechenleistung, als zur
    Verfügung steht… Was
    tun?

Wäre schön, wenn jemand eine Idee hat, wo hier der Hund
begraben liegt…

Ohne das Modell genauer zu kennen ist das nur ein Stochern im Nebel :frowning:

HTH
mfg M.L.

Hallo Simon,

du musst als erstes eine Fehlerabschätzung machen. Der Fehler ist irgendwas mit exp{Schrittweite/Genauigkeit).
Wahrscheinlich kannst Du kein EInzelschrittverfahren anwenden. Versuch mal ein Mehrschrittverfahren. (Stichwort: Mondflug. Da war auch die enorm große Entfernung das Problem. Lösung war ein Mehrschrittverfahren mit vielen kleinen Lösungen und der Randbedingung, dass es aneinanderpassen muss)

Gruß

Peter

Hallo Markus,

Welche DGL und welcher Typ ?

Gleichungen der Art
d/dt(Stoff X) = (Produktionsrate von X) - (Abbaurate von X)

Vielleicht wurde eine Bedingung
für die numerische Auswertung verletzt ?

Bitte wie? Was meinst du damit konkret?

  • Integrationsmethode ist Runge-Kutta 4. Ordnung.

Keine andere Methode zulässig ?

Es stehen noch Runge-Kutta 2. Ordnung, Euler, Rosenbrock zur Auswahl.
RK4 war defaultmäßig gesetzt… wäre eine andere Methode geeigneter?

Ohne das Modell genauer zu kennen ist das nur ein Stochern im
Nebel :frowning:

Schon klar… Es geht darum, dass ein paar Viecher (Bakterien) Stoffe
produzieren und sie auch wieder abbauen (s.o.). Mathematisch eigentlich recht
simpel (zumindest versteh’ ichs noch). Bislang habe ich daran gearbeitet, dass
das Modell in sich stimmt (hat lang genug gedauert) - dass die
Integrationsmethode auf das Ergebnis Einfluss hat, ist eine recht neue
Erkenntnis für mich.

Grüße, Simon