Das Lorenz Modell

H.J. Lüdde

Das Lorenz Modell basiert auf den Navier-Stokes Gleichungen und stellt ein stark vereinfachtes Modell der Dynamik in einer Flüssigkeitsschicht dar (Rayleigh-Benard Konvektion). Ein einfaches Beispiel ist das langsame Erwärmen einer ca 2-3cm hohen Wasserschicht in einem Gefäß mit großer Grundfläche. Zu Beginn ist die Temperaturdifferenz zwischen unterer und oberer Wasserschicht Null. Mit der Zeit erhöht sich diese Temperaturdifferenz und in der ersten Phase findet ein Temperaturausgleich durch Wärmeleitung innerhalb der Wasserschichten statt: die Flüssigkeit ist in Ruhe. Mit Überschreiten einer ersten kritischen Temperaturdifferenz ändert sich das Verhalten der Flüssigkeit spontan: der Wärmetransport erfolgt in dieser Phase durch Konvektion (warme Wasserschichten steigen auf, kalte Wasserschichten sinken ab). D.h. die Temperatur- und Geschwindigkeitsverteilungen werden zeitabhängig und es stellt sich mit der Zeit ein dynamisches Gleichgewicht ein. In dieser Phase bilden sich sichtbare Strukturen (kreisförmige Rollen, Hexagonalstrukturen) aus (Selbstorganisation). Bei weiterer Erwärmung erreicht die Temperaturdifferenz zwischen den Kontaktschichten einen weiteren kritischen Wert: die Flüssigkeit beginnt zu sieden und kurz darauf zu kochen. Der Temperaturausgleich innerhalb der Flüssigkeit ist jetzt charakterisiert durch Turbulenzen, also völlig unregelmäßige Strukturen: mathematisch markiert der zweite kritische Wert den Beginn von Chaos.

Stark vereinfacht lässt sich diese Beobachtung mit Hilfe der Lorenzgleichung studieren:

[Maple Math]

[Maple Math]

[Maple Math]

Dabei bedeuten: x die Geschwindigkeitsverteilung innerhalb der Flüssigkeit senkrecht zu den Grenzflächen, y die Temperaturdifferenz zwischen auf- und absteigender Flüssigkeit und z der mittlere konvektive Wärmestrom. s,b,r sind Kontrollparameter, welche die Flüssigkeit charakterisieren (s,b) bzw die Randbedingungen, gegeben durch die Temperaturdifferenz r zwischen den Kontaktschichten (die Temperatur der oberen Schicht ist gegeben durch die Umgebungstemperatur (Dampfphase oberhalb der Flüssigkeit), die Temperatur der unteren Kontaktschicht durch die Temperatur des Topfbodens).

Wir wollen die Lorenzgleichungen diskutieren für s=10, b=8/3 und in Abhängigkeit von r [1].

Referenz

[1] E.N. Lorenz: Deterministic Nonperiodic Flow, J. Atmos. Sc. 20 , 130 (1963)

1) Topologische Analyse

In diesem Abschnitt untersuchen wir die Fixpunktlösungen der Lorenzgleichungen, um einen Eindruck von den Stabilitätseigenschaften der Lösungen für verschiedene Kontrollparameter zu erhalten. In der klassischen Arbeit von Lorenz werden s und b konstant gewählt und r variiert [2].

Referenz

[2] E-Skript zu Differentialgleichungen: http://www.th.physik.uni-frankfurt.de/~luedde/E-Skript/

> restart:

> with(plots):

> with(linalg):

Warning, new definition for norm

Warning, new definition for trace

Definition der Gleichungen für die kritischen Punkt Lösungen

> eqncp:=s*(y-x)=0,r*x-y-x*z=0,x*y-b*z=0;

[Maple Math]

Lösung des Gleichungssystems

> solcp:=solve({eqncp},{x,y,z});

[Maple Math]

> solcp2:=allvalues(solcp[2]); # Auswertung der Wurzeln

[Maple Math]

Charakteristische Gleichung des linearisierten Lorenzsystems

> A:=matrix(3,3,[-s-p,s,0,r-z,-1-p,-x,y,x,-b-p]);

[Maple Math]

> DA:=unapply(det(A),x,y,z);

[Maple Math]

Setze ersten kritischen Punkt ein

> assign(solcp[1]):

> x,y,z;

> DA1:=DA(x,y,z);

[Maple Math]

[Maple Math]

...und bestimme die drei Eigenwerte p

> solDA1:=[solve(DA1,p)];

[Maple Math]

Alle drei Eigenwerte sind reell. Sind sie darüberhinaus alle negativ, so handelt es sich bei dem kritischen Punkt solcp[1] um einen stabilen Knoten. Offenbar hängt diese Stabilitätseigenschaft von r ab:

> r:=1:

> solDA1; # kritische Lösung für r=1

[Maple Math]

> for i to nops(solDA1) do

> simplify(solDA1[i],assume=positive):

> od;

[Maple Math]

[Maple Math]

[Maple Math]

Somit haben wir folgende Situation: für r<1 ist solcp[1] ein attraktiver Knoten, bei r>1 ein Sattel. D.h. bei r=1 ändern sich die Stabilitätseigenschaften der Lorenzgleichung.

Im nächsten Schritt untersuchen wir die Eigenschaften des zweiten kritischen Punktes solcp[2]:

> x:='x':y:='y':z:='z':

> s:='s':b:='b':r:='r':

> assign(solcp2[1]):

> x,y,z;

[Maple Math]

> DA2:=DA(x,y,z);

[Maple Math]

> simplify(%); # fasse Terme zusammen

[Maple Math]

> DA2:=collect(%,p); # sortiere nach Potenzen von p (Eigenwert)

[Maple Math]

Für r=1 erhält man

> r:=1:

> DA2;

[Maple Math]

> solDA2:=[solve(DA2,p)];

[Maple Math]

Für r=1 fallen die drei Punktlösungen solcp2[1,2] und solcp[1] zusammen und bilden einen Sattel. Für r>1 bleibt solcp[1] ein Sattel, während solcp[1,2] ihre Stabilitätseigenschaften ändern.

Wir versuchen die Eigenwerte p für r>1 zu berechnen:

> r:='r':

> solDA2:=[solve(DA2,p)]:

> for i to nops(solDA2) do

> simplify(solDA2[i]):

> od;

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

Ooobs...... Jetzt haben wir zwar eine Lösung für die Eigenwerte für r>1, die Ausdrücke sind aber unlesbar!!

Um eine Aussage über die Stabilität der Punktlösung zu machen, benötigen wir zum Glück nicht die explizite Form der Eigenwerte: es ist ausreichend zu wissen, dass alle Realteile negativ sind, damit der kritische Punkt ein stabiler Attraktor ist. Umgekehrt reicht es aus zu zeigen, dass nur einer der Eigenwerte einen positiven Realteil besitzt, mit der Folge, dass der kritische Punkt instabil ist. Wenn wir wie bisher s und b konstant halten, stellt sich die Frage, ob ein kritischer Wert für r existiert, an dem der Realteil mindestens eines Eigenwertes sein Vorzeichen ändert. Man nennt diesen Fall eine Hopfbifurkation.

Das Hurwitz Kriterium:

Alle Wurzeln der Gleichung

[Maple Math] ... [Maple Math]

haben dann und nur dann negative Realteile, wenn alle Determinanten

[Maple Math] , [Maple Math] , [Maple Math] ...

mit [Maple Math] für [Maple Math] positiv sind.

In unserem Fall gilt [Maple Math] , d.h. D1>0. Wir suchen eine Bedingung, für die D2=0:

> D2:=det(matrix(2,2,[b*(s+r),2*b*s*(r-1),1,s+1+b]))=0;

[Maple Math]

> rc:=unapply(solve(%,r),s,b);

[Maple Math]

Man kann überprüfen, dass diese Bedingung auch D3 verschwinden lässt. D.h. - für [Maple Math] ist rc im erlaubten Parameterbereich - für [Maple Math] ist der kritische Punkt ein stabiler Fokus, für [Maple Math] wird er instabil.

Für die Standardwerte s=10 und b=8/3 erhält man somit

> rc(10,8/3);

[Maple Math]

> evalf(%);

[Maple Math]

>

2) Numerische Lösungen

Mit Kenntnis der Stabilität der Punktlösungen für verschiedene Werte von r werden die Lorenzgleichungen für die klassische Parameterkombination s=10, b=8/3 gelöst.

> restart;

> with(plots): with(linalg):

Warning, new definition for norm

Warning, new definition for trace

> lorenzeqs:=diff(x(t),t)=s*(y(t)-x(t)),diff(y(t),t)=r*x(t)-y(t)-x(t)*z(t),diff(z(t),t)=-b*z(t)+x(t)*y(t);

[Maple Math]

> vars:={x(t),y(t),z(t)}:

> s:=10:b:=8/3:

> rho[1]:=0.8:rho[2]:=1.2:rho[3]:=3:rho[4]:=10:rho[5]:=22:rho[6]:=28:

> ics:=x(0)=1,y(0)=1,z(0)=1:

> for i from 1 to 6 do

> rf:=rand()/10^12:gf:=rand()/10^12:bf:=rand()/10^12:

> r:=rho[i]:

> lorenzsol:= dsolve({lorenzeqs, ics}, vars, type=numeric, method=classical[rk4],output=listprocedure):

> lorenzx[i]:=odeplot(lorenzsol,[t,x(t)],0..100,numpoints=500, color=COLOR(RGB,rf,gf,bf)):

> if i=6 then

> lorenzxyz:=odeplot(lorenzsol,[x(t),y(t),z(t)],0..100, numpoints=5000):

> fi:

> od:

> display(seq(lorenzx[i],i=1..3),view=[0..6,0..3],axes=boxed,labels=[t,x], title=` Verschiedene Lösungen der Lorenzgleichungen für r=0.8,1.2,3 `);

[Maple Plot]

Für r<1 befindet sich die Flüssigkeit in ruhendem Zustand: alle Zustandsvariablen konvergieren gegen die Punktlösung (0,0,0) (attraktiver Knoten). Für r>1 ist (0,0,0) keine stabile Punktlösung mehr (Sattel), die Flüssigkeit tritt in die konvektive Phase. Lösungen konvergieren gegen den zweiten Attraktor ( [Maple Math] ) einen stabilen Fokus.

> display(seq(lorenzx[i],i=4..6),view=[0..100,-20..20],axes=boxed,labels=[t,x], title=` Verschiedene Lösungen der Lorenzgleichungen für r=10,20,28 `);

[Maple Plot]

Mit wachsenden Werten für r wird die Einschwingphase (transiente Phase) immer ausgeprägter, bis der attraktive Fokus für r>rc über eine Hopfbifurkation in eine instabile Punktlösung übergeht: der Bereich chaotischer Lösungen ist erreicht (anschaulich vergleichbar mit den Turbulenzen, die in einer kochenden Flüssigkeiten auftreten).

> display(lorenzxyz,axes=boxed,labels=[x,y,z],orientation=[100,82], title=` Chaotische Lösungen der Lorenzgleichungen für r=28 `,shading=xyz,thickness=0,style=line);

[Maple Plot]

Die Phasenraumdarstellung einer chaotischen Lösung der Lorenzgleichungen: die Zustandsvariablen springen willkürlich zwischen zwei Attraktorbecken.

3) Poincare Abbildung (Lorenz Plot)

Analog zur Stroboskop Abbildung des getriebenen Pendels, versucht man für ein autonomes System eine 'Wiederkehrabbildung' zu definieren, indem man aufeinanderfolgende Extrema einer Lösungskomponente (hier z(n+1) vs z(n)) gegeneinander aufträgt. Diese spezielle Form der Poincare Abbildung nennt man Lorenz Plot (siehe Kap 2.1 in Abschnitt II).

> restart;

> with(plots): with(linalg):

Warning, new definition for norm

Warning, new definition for trace

> lorenzeqs:=diff(x(t),t)=s*(y(t)-x(t)),diff(y(t),t)=r*x(t)-y(t)-x(t)*z(t),diff(z(t),t)=-b*z(t)+x(t)*y(t):

> vars:={x(t),y(t),z(t)}:

> ics:=x(0)=1,y(0)=1,z(0)=1:

> s:=10:b:=8/3:tmax:=200:dt:=0.02:zahl:=0:r:=28:

> for k from 1 to tmax/4 do

> lorenzsol:=dsolve({lorenzeqs,ics},vars,numeric,output=listprocedure);

> assign(lorenzsol);

> X:=x(t):

> Y:=y(t):

> Z:=z(t):

> for i from 0 to 4 by dt do

> dz1:=(Z(i)-Z(i+dt));dz2:=(Z(i+dt)-Z(i+2*dt));zi:=Z(i):xi:=X(i):yi:=Y(i):

> if dz1*dz2< 0 then zahl:=zahl+1:pts[zahl]:=Z(i+dt): fi; # Bedingung für Maxima bzw Minima

> od:

> unassign(x,y,z);

> ics:=x(0)=xi,y(0)=yi,z(0)=zi;

> od:

> plot([seq([pts[j],pts[j+1]],j=0..(zahl-1))],style=point,symbol=POINT,color=blue,view=[0..50,0..50],font=[TIMES,ROMAN,12],title=` Lorenzplot für r=28`,axes=boxed,labels=[`Z(n)`,`Z(n+1)`]);

[Maple Plot]

Lorenz Plot einer chaotischen Lösung des Lorenz Modells. Offenbar existiert eine eindimensionale diskrete Abbildung (Differenzengleichung) z(n+1)=f(z(n)), welche die Extremwerte der Koordinate z(t) miteinander verknüpft. Eine entsprechende Abbildung erhält man für die anderen Koordinaten: wie sehen sie aus?

4) Intermittenz

Die folgenden 3 Abbildungen zeigen einen möglichen Weg von einer stabil oszillierenden zu einer chaotischen Lösung: die Intermittenz. Eine zunächst stabile Lösung wird durch immer häufiger auftretende 'Störsignale' unterbrochen, bis der Abstand zwischen zwei unregelmäßigen Ausschlägen so klein ist, dass die Lösung irregulär wird: der Intermittenzpfad zum Chaos.

> restart;

> with(plots): with(linalg):

Warning, new definition for norm

Warning, new definition for trace

> lorenzeqs:=diff(x(t),t)=s*(y(t)-x(t)),diff(y(t),t)=r*x(t)-y(t)-x(t)*z(t),diff(z(t),t)=-b*z(t)+x(t)*y(t):

> s:=10:b:=8/3:

> vars:={x(t),y(t),z(t)}:

> rho[1]:=166:rho[2]:=166.2:rho[3]:=166.4:

> ics:=x(0)=1,y(0)=0,z(0)=0:

> for i from 1 to 3 do

> rf:=rand()/10^12:gf:=rand()/10^12:bf:=rand()/10^12:

> r:=rho[i]:

> lorenzsol:= dsolve({lorenzeqs, ics}, vars, type=numeric, method=classical[rk4],output=listprocedure):

> lorenzf[i]:=odeplot(lorenzsol,[t,z(t)],0..60, numpoints=20000, color=COLOR(RGB,rf,gf,bf)):

> od:

> for i from 1 to 3 do

> display(lorenzf[i],view=[30..60,60..250], axes=boxed,labels=[t,z], title=` Lösungen der Lorenzgleichungen im Intermittenzbereich `);

> od;

[Maple Plot]

[Maple Plot]

[Maple Plot]

>

5) Übung

Diskutieren Sie analog zu den Lorenzgleichungen das Rössler-Modell:

[Maple Math]

[Maple Math]

[Maple Math]

für a=b=0.2 in Abhängigkeit von c. Das System besitzt einen stabilen Grenzzyklus und durchläuft mit wachsenden Werten für c eine Folge von Periodenverdopplungen. Für c>4.2 ist die Dynamik chaotisch. Beginnen Sie mit der Anfangsbedingung x(0)=y(0)=z(0)=1.