Lieber Udo,
vielen Dank für Ihre ausführliche Antwort. Leider löst sie das Problem
nicht.
1. Die Randbedingungen machen sehr wohl Sinn, und wenn ich das Problem -
allerdings einschränkend - umformuliere erhalte ich auch mit NDSolve
geeignete Lösungen. Aber eben nicht die, die ich hier erzeugen will.
2. Ihre Ausführungen mit G[x,t] und H[x,t] sind beeindruckend. Aber Sie
dürfen nicht aus G[1,t] == -H[1,t] auf Derivative[1,0][G][1,t] == -
Derivative[1,0][H][1,t] und damit auf Ihre modifizierte Art der
Randbedingungen schließen. Dass zwei Funktionen an einer Stelle gleich sind
(bis auf den Faktor -1) sagt nichts über die Ableitungen aus! Sie erhalten
Ihre Form der Randbedingungen letztlich in der Form D[h[x,t],t]== -
D[g[x,t],t]/.x->1. Das ist falsch - auch physikalisch falsch! Wegen
g[1,t]==h[1,t] für alle Zeiten t sind auch die Ableitungen gleich:
D[h[x,t],t]== D[g[x,t],t]/.x->1.
3. Ich weiß immer noch nicht, wie es zu diser Divison durch null kommt und
was man dagegen machen kann. Interessant: wenn man im Vorfaktor zu g das d2
auf null setzt läuft die Routine durch, allerdings mit einer anderen
Fehlermeldung.
Mit freundlichen Grüßen
Hans Dolhaine
_________________________________
VTR-TS
Phone: +49-211-797-4809
Fax: +49-211-798-1853
Mobile: 0171 97 17 049
E-Mail: Hans.Dolhaine@XXXXXXX.com
Udo und Susanne
Krause An: Hans.Dolhaine@XXXXXXX.com
<su.krause@bluewi Kopie: demug@XXXXXXX.ch
n.ch> Thema: Re: PDE's und Randbedingungen
05.11.2005 17:52
Entscheidung
erforderlich ?
|--------|
| [ ] ja |
|--------|
Hallo Hans,
Ihr PDE-System
NDSolve[{D[g[x, t], t] == D[(d1 + d2 g[x, t]) D[g[x, t], x], x],
D[h[x, t], t] == D[(d1 + d2 h[x, t]) D[h[x, t], x], x],
g[x, 0] == c0,
h[x, 0] == 0,
Derivative[1, 0][g][0, t] == 0,
Derivative[1, 0][h][0, t] == 0,
(d1 + d2 g[1, t]) Derivative[1, 0][g][1, t] == -(d1 + d2 h[1,
t])Derivative[1, 0][h][1, t],
h[1, t] == g[1, t](1 - Exp[-30 t])},
{g, h},
{x, 0, 1}, {t, 0, t1}
]
kommt durch die Randbedingung
(d1 + d2 g[1, t]) Derivative[1, 0][g][1, t] == -(d1 + d2 h[1,
t])Derivative[1, 0][h][1, t]
in einen schlechten Zustand oder gewissenmassen in Unordnung: Sei
G[x, t] := (d1 + d2 g[x, t]) Derivative[1, 0][g][x, t] und
H[x, t] := (d1 + d2 h[x, t]) Derivative[1, 0][h][x, t]
dann lautet die Rdbdg G[1, t] == -H[1, t]. Die Gleichungen sind in
denselben Bezeichnungen
D[g[x, t], t] == D[G[x, t], x] und D[h[x, t], t] == D[H[x, t], x],
somit bei x = 1
D[h[1, t], t] == D[H[1, t], x] == D[-G[1, t], x] == -D[g[1, t], t]
oder mit anderen Worten, die Randbedingung kann auch folgendermassen
geschrieben werden
Derivative[0, 1][h][1, t] == -Derivative[0, 1][g][1, t]
und konkurrenziert vom Grad der Zeitableitung her die Gleichungen - das
hat Mma bei Ihrer Eingabeform übersehen.
Wenn man es trotzdem eintippt
NDSolve[{D[g[x, t], t] == D[(d1 + d2 g[x, t]) D[g[x, t], x], x],
D[h[x, t], t] == D[(d1 + d2 h[x, t]) D[h[x, t], x], x],
g[x, 0] == c0,
h[x, 0] == 0,
Derivative[1, 0][g][0, t] == 0,
Derivative[1, 0][h][0, t] == 0,
(*
(d1 + d2 g[1, t]) Derivative[1, 0][g][1, t] == -(d1 + d2 h[1, t])
Derivative[1, 0][h][1, t],
*)
Derivative[0, 1][h][1, t] == -Derivative[0, 1][g][1, t]
h[1, t] == g[1, t] (1 - Exp[-30 t])},
{g, h},
{x, 0, 1}, {t, 0, t1}]
gibt Mma 5.1 Bescheid mittels:
NDSolve::bdord: Boundary condition -(1 - E^(-30 t)) g[1, t] + h^(0,
1)[1, t] should have derivatives of order lower than the differential
order of the partial differential equation.
Richtig. Also dies wird nichts Sinnvolles mehr erbringen, solche
Randbedingungen sollten auch vom Modell her nicht stimmen.
Gruss
Udo.
Hans.Dolhaine@XXXXXXX.com wrote:
>Liebe Liste,
>
>ich will numerisch ein System von partiellen Differentialgleichungen
>integrieren. Dabei soll einer der Koeffizienten eine Funktion der Lösung
>sein - es ist also etwas komplizierter. Insbesondere hängt damit auch eine
>der Randbedingungen (die an der Stelle x = 1 ) von der Lösung ab. NDSolve
>funktioniert klaglos, wenn der Koeffizient konstant ist. Baue ich die
>Abhängigkeit von der Lösung ein gibt's eine Fehlermeldung "Division durch
>null". Ich kenne mich zu wenig in Mathematica und der Theorie der
>partiellen Differentialgleichungen aus, um den Grund für diesen Fehler zu
>erkennen. Versteht das jemand? Und wie kann ich mein System trotzdem
lösen?
>
>Hans Dolhaine
>
>(See attached file: dmug.nb)
>_________________________________
>
>VTR-TS
>Phone: +49-211-797-4809
>Fax: +49-211-798-1853
>Mobile: 0171 97 17 049
>E-Mail: Hans.Dolhaine@XXXXXXX.com
>