Atractor Lorentz
Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită pe 20 martie 2017; verificările necesită
17 modificări .
Atractorul Lorentz (din engleză a atrage - a atrage) este
un atractor ciudat , găsit pentru prima dată de E. N. Lorentz într-un sistem neliniar de ecuații diferențiale obișnuite
cu următoarele valori ale parametrilor: σ=10, r =28, b =8/3. Acest sistem a fost introdus pentru prima dată ca prima aproximare Galerkin non-trivială pentru problema convecției apei de mare într-un strat plat, ceea ce a motivat alegerea valorilor lui σ, r și b , dar apare și în alte întrebări și modele fizice. :
Sistemul hidrodinamic inițial de ecuații:
unde este viteza curgerii, este temperatura lichidului, este temperatura limitei superioare (pe cea inferioară este menținută ), este densitatea, este presiunea, este forța gravitației, este coeficientul de dilatare termică , coeficient de difuzivitate termică şi respectiv vâscozitate cinematică .








În problema convecției, modelul apare atunci când viteza curgerii și temperatura sunt extinse în serii Fourier bidimensionale și „tăierea” ulterioară a acestora cu o precizie a primei și a doua armonici. În plus, sistemul complet redus de ecuații hidrodinamice este scris în aproximarea Boussinesq . Tunderea seriei este justificată într-o anumită măsură, deoarece Soltsman în lucrările sale a demonstrat absența oricăror caracteristici interesante în comportamentul majorității armonicilor [1] .
Aplicabilitate și relevanță față de realitate
Să desemnăm sensul fizic al variabilelor și parametrilor din sistemul de ecuații în raport cu problemele menționate.
- Convecție într-un strat plat. Aici x este responsabil pentru viteza de rotație a rolelor de apă, y și z sunt pentru distribuția orizontală și verticală a temperaturii, r este numărul Rayleigh normalizat , σ este numărul Prandtl (raportul dintre vâscozitatea cinematică și difuzivitatea termică ), b conține informații despre geometria celulei convective.
- Convecție într-o buclă închisă. Aici x este viteza curgerii, y este abaterea temperaturii de la medie în punctul aflat la 90° distanță de punctul de jos al buclei, z este același, dar în punctul de jos. Căldura este furnizată în punctul cel mai de jos.
- Rotirea roții cu apă. Se ia în considerare problema unei roți pe janta căreia sunt fixate coșuri cu găuri în partea de jos. Un curent continuu de apă curge de sus pe roată simetric față de axa de rotație. Sarcina este echivalentă cu cea anterioară, întoarsă „cu susul în jos”, cu înlocuirea temperaturii cu densitatea de distribuție a masei de apă din coșurile de-a lungul marginii.
- laser cu un singur mod. Aici x este amplitudinea undei în cavitatea laserului , y este polarizarea , z este inversarea populației a nivelurilor de energie , b și σ sunt rapoartele dintre coeficienții de inversare și relaxare a câmpului și coeficientul de relaxare a polarizării și r este pompa intensitate .
Este de remarcat faptul că, aplicat la problema convecției, modelul Lorentz este o aproximare foarte grosieră, foarte departe de realitate. O corespondență mai mult sau mai puțin adecvată există în regiunea regimurilor regulate, unde soluțiile stabile reflectă calitativ imaginea observată experimental a rolelor convective care se rotesc uniform ( celule Bénard ). Regimul haotic inerent modelului nu descrie convecția turbulentă din cauza tăierii semnificative a seriei trigonometrice originale.
De interes este acuratețea semnificativ mai mare a modelului cu unele modificări ale acestuia, care este folosită, în special, pentru a descrie convecția într-un strat supus vibrațiilor în direcția verticală sau efectelor termice variabile. Astfel de modificări ale condițiilor externe conduc la modularea coeficienților din ecuații. În acest caz, componentele Fourier de înaltă frecvență ale temperaturii și vitezei sunt suprimate semnificativ, îmbunătățind acordul dintre modelul Lorentz și sistemul real.
Norocul lui Lorentz în alegerea valorii parametrului este demn de remarcat , deoarece sistemul ajunge la un atractor ciudat doar pentru valori mai mari de 24,74, pentru valori mai mici comportamentul se dovedește a fi complet diferit.

Comportamentul soluției sistemului
Să luăm în considerare modificările comportamentului soluției sistemului Lorentz pentru diferite valori ale parametrului r. Ilustrațiile pentru articol arată rezultatele simulării numerice pentru puncte cu coordonatele inițiale (10,10,10) și (-10,-10,10). Modelarea a fost efectuată folosind programul de mai jos, scris în limbajul Fortran , trasând conform tabelelor rezultate - datorită capacităților grafice slabe ale Fortran folosind Compaq Array Viewer.
- r <1 — atractorul este originea, nu există alte puncte stabile.
- 1< r <13,927 - traiectoriile se apropie în spirală (aceasta corespunde prezenței oscilațiilor amortizate) de două puncte, a căror poziție este determinată de formulele:
Aceste puncte determină stările regimului de convecție staționară, când în strat se formează o structură de role fluide rotative.
- r ≈13,927 - dacă traiectoria părăsește originea, atunci, după ce a făcut o revoluție completă în jurul unuia dintre punctele stabile, se va întoarce înapoi la punctul de plecare - apar două bucle homoclinice. Conceptul de traiectorie homoclinică înseamnă că pleacă și ajunge în aceeași poziție de echilibru.
- r >13,927 - în funcție de direcție, traiectoria ajunge la unul dintre cele două puncte stabile. Buclele homoclinice renasc în cicluri limită instabile și apare și o familie de traiectorii aranjate complex, care nu este un atractor, ci, dimpotrivă, respinge traiectorii de la sine. Uneori, prin analogie, această structură este numită „strange repeller” (în engleză pentru a respinge - respinge).
- r ≈24,06 - traiectoriile nu mai conduc la puncte stabile, ci se apropie asimptotic de cicluri limită instabile - apare atractorul Lorentz propriu-zis. Cu toate acestea, ambele puncte stabile persistă până la r ≈ 24,74.
- r ≈28 este valoarea clasică a parametrului considerat în lucrarea lui Lorenz. Toate cele trei echilibre sunt instabile și traiectorii din vecinătățile lor sunt atrase de un atractor haotic (local) (care este astfel autoexcitant în ceea ce privește toate echilibrele). Un atractor haotic are o dimensiune Lyapunov fracțională , pentru care o estimare analitică superioară poate fi obținută analitic prin forma dimensiunii Lyapunov a atractorului global, iar o estimare inferioară poate fi obținută analitic-numeric prin dimensiunea Lyapunov a traiectoriilor periodice instabile pe atractor. [2] [3] [4] . Aproximațiile unor astfel de traiectorii pot fi găsite cu mare precizie prin metoda echilibrului armonic [5] . Pentru simularea numerică de înaltă precizie a dinamicii sistemului Lorentz, se utilizează de obicei metoda seriei de putere [6] .
Pentru valori mari ale parametrului, traiectoria suferă modificări serioase. Shilnikov și Kaplan au arătat că la r foarte mare , sistemul intră în modul de auto-oscilare, iar dacă parametrul este redus, se va observa o tranziție către haos printr-o succesiune de dublari ale perioadei de oscilație.
Semnificația modelului
Modelul Lorentz este un exemplu fizic real de sisteme dinamice cu comportament haotic, spre deosebire de diferitele mapări construite artificial ( „dinte de fierăstrău” , „copertă” , transformarea lui Baker , cartografierea Feigenbaum etc.).
Datorită formei sale caracteristice, atractorul a fost numit „fluturele Lorenz”, ceea ce a dat naștere conceptului de „ efect de fluture ” în teoria haosului , asociat ulterior în mod eronat în conștiința de masă cu celebra poveste a lui Ray Bradbury .
Programe care simulează comportamentul sistemului Lorenz
Borland C
#include <graphics.h>
#include <conio.h>
void main ()
{
dublu x = 3,051522 , y = 1,582542 , z = 15,62388 , x1 , y1 , z1 ;
dublu dt = 0,0001 ;
int a = 5 , b = 15 , c = 1 ;
int gd = DETECTARE , gm ;
initgraph ( & gd , & gm , "C: \\ BORLANDC \\ BGI" );
face {
x1 = x + a * ( - x + y ) * dt ;
y1 = y + ( b * x - y - z * x ) * dt ;
z1 = z + ( - c * z + x * y ) * dt ;
x = x1 ; y = y1 ; z = z1 ;
putpixel (( int )( 19,3 * ( y - x * 0,292893 ) + 320 ),
( int )( -11 * ( z + x * 0,292893 ) + 392 ), 9 );
} while ( ! kbhit ());
closegraph ();
}
Mathematica
date = tabel [
Cu [{ N = 1000 , dt = 0,01 , a = 5 , b = 1 + j , c = 1 },
NestList [ Modulul [{ x , y , z , x1 , y1 , z1 },
{ x , y , z } = # ;
x1 = x + a ( - x + y ) dt ;
y1 = y + ( b x - y - z x ) dt ;
z1 = z + ( - c z + x y ) dt ;
{ x1 , y1 , z1 }] și ,
{ 3,051522 , 1,582542 , 15,62388 }, N
]
],
{ j , 0 , 5 }];
Graphics3D @ MapIndexed [{ Hue [ 0.1 First [ # 2 ]], Point [ # 1 ]} & , data ]
JavaScript și
HTML5
< html >
< body >
< canvas height = '500' width = '500' id = 'cnv' ></ canvas >
< script >
var cnv = document . getElementById ( "cnv" );
var cx = cnv . getContext ( '2d' );
var x = 3,051522 , y = 1,582542 , z = 15,62388 , x1 , y1 , z1 ;
vardt = 0,0001 ; _ var a = 5 , b = 15 , c = 1 ; var h = parseInt ( cnv . getAttribute ( „înălțime” )); var w = parseInt ( cnv . getAttribute ( "lățime" )); var id = cx . createImageData ( w , h ); varrd = Matematică _ _ rotund ; var idx = 0 ; i = 1000000 ; în timp ce ( i -- ) { x1 = x + a * ( - x + y ) * dt ; y1 = y + ( b * x - y - z * x ) * dt ; z1 = z + ( - c * z + x * y ) * dt ; x = x1 ; y = y1 ; z = z1 ; idx = 4 * ( rd ( 19,3 * ( y - x * 0,292893 ) + 320 ) + rd ( - 11 * ( z + x * 0,292893 ) + 392 ) * w ); id . date [ idx + 3 ] = 255 ; } cx . putImageData ( id , 0 , 0 ); </ script > </ body > </ html >
MATLAB
%Soluție pentru ecuațiile Lorenz în intervalul de timp [0,100] cu condiții inițiale [1,1,1].
șterge totul
clc
sigma = 10 ;
beta = 8 / 3 ;
rho = 28 ;
f = @( t , a ) [ - sigma * a ( 1 ) + sigma * a ( 2 ); rho * a ( 1 ) - a ( 2 ) - a ( 1 ) * a ( 3 ); - beta * a ( 3 ) + a ( 1 ) * a ( 2 )];
%'f' este setul de ecuații diferențiale și 'a' este o matrice care conține valori ale variabilelor x,y și z.
%'t' este variabila de timp
[ t , a ] = ode45 ( f ,[ 0 100 ],[ 1 1 1 ]); %'ode45' folosește metoda adaptivă Runge-Kutta de ordinul 4 și 5 pentru a rezolva ecuații diferențiale
plot3 ( a (:, 1 ), a (:, 2 ), a (:, 3 )) %'plot3' este comanda pentru a face o diagramă 3D
Maxima
--> încărcare ( dinamică ) $
[sigma, r,b]: [10,28,8/3]$
eq: [sigma* ( yx ) , x* ( rz ) -y, x*yb*z]$
init: [1.0,0,0]$
t_range: [t,0,50,0.01]$
sol: rk ( eq, [x, y,z], init, t_range ) $
len: lungime ( sol ) $
t: makelist ( sol[k][1], k,1,len ) $
x: makelist ( sol[k][2], k,1,len ) $
y: makelist ( sol[k][3], k, 1,len ) $
z: makelist ( sol[k][4], k,1,len ) $
plot2d ( [discret, t , x] ) $
--> încărcați ( desen ) $
draw3d ( dimensiunea_punct = 0,01, puncte_unite = adevărat,
tip_punct = cerc_umplut, puncte ( x,y,z )
) $
Piton
"""
================
Lorenz Atractor
================
"""
import numpy ca np
import matplotlib.pyplot ca plt
def lorenz ( x , y , z , s = 10 , r = 28 , b = 2.667 ):
'''
Dat:
x, y, z: un punct de interes în spațiul tridimensional
s, r, b: parametrii care definesc lorenz attractor
Returnează:
x_dot, y_dot, z_dot: valorile derivatelor parțiale ale atractorului lorenz
la punctul x, y, z
'''
x_dot = s * ( y - x )
y_dot = r * x - y - x * z
z_dot = x * y - b * z
returnează x_dot , y_dot , z_dot
dt = 0,01
num_steps = 10000
# Mai trebuie unul pentru valorile inițiale
xs = np . gol ( num_steps + 1 )
ys = np . gol ( num_steps + 1 )
zs = np . gol ( numar_pasi + 1 )
# Setați valorile inițiale
xs [ 0 ], ys [ 0 ], zs [ 0 ] = ( 0. , 1. , 1.05 )
# Treceți prin „timp”, calculând derivatele parțiale la punctul curent
# și folosindu-le pentru a estima următorul punct
pentru i în interval ( num_steps ):
x_dot , y_dot , z_dot = lorenz ( xs [ i ], ys [ i ], zs [ i ])
xs [ i + 1 ] = xs [ i ] + ( x_dot * dt )
ys [ i + 1 ] = ys [ i ] + ( y_dot * dt )
zs [ i + 1 ] = zs [ i ] + ( z_dot * dt )
# Plot
fig = plt . figura ()
ax = fig . gca ( proiecție = '3d' )
topor . grafic ( xs , ys , zs , lw = 0,5 )
ax . set_xlabel ( " Axa X " )
ax . set_ylabel ( „Axa Y” )
ax . set_zlabel ( „Axa Z” )
ax . set_title ( "Atractor Lorenz" )
plt . savefig ( 'Lorenz Attractor' )
plt . arata ()
Note
- ↑ Saltzman, Barry (1962). „Convecția liberă cu amplitudine finită ca o problemă de valoare inițială — I”. Journal of the Atmospheric Sciences 19(4): 329-341.
- ↑ Kuznetsov, NV; Mokaev, T. N.; Kuznetsova, OA; Kudryashova, EV (2020). „Sistemul Lorenz: granița ascunsă a stabilității practice și dimensiunea Lyapunov” . Dinamica neliniară . DOI : 10.1007/s11071-020-05856-4 . Arhivat din original pe 28.06.2021 . Preluat 2020-09-20 .
- ↑ Leonov, G.A.; Kuznetsov, NV; Korzhemanova, N.A.; Kusakin, DV (2016). „Formula dimensiunii Lyapunov pentru atractorul global al sistemului Lorenz”. Comunicații în știință neliniară și simulare numerică . 41 : 84-103. arXiv : 1508,07498 . Cod biblic : 2016CNSNS..41 ...84L . DOI : 10.1016/j.cnsns.2016.04.032 .
- ↑ Kuznețov, Nikolai. Estimări de dimensiune a atractorului pentru sisteme dinamice: teorie și calcul / Nikolay Kuznetsov, Volker Reitmann. - Cham : Springer, 2021. Arhivat 3 iunie 2020 la Wayback Machine
- ↑ Pchelintsev, AN (2020). „O metodă numerico-analitică pentru construirea soluțiilor periodice ale sistemului Lorenz” . Ecuații diferențiale și procese de control (4): 59-75. arXiv : 2102.04794 .
- ↑ Pchelintsev, AN (2014). „Modelarea numerică și fizică a dinamicii sistemului Lorenz”. Analiza numerica si aplicatii . 7 (2): 159-167. DOI : 10.1134/S1995423914020098 . S2CID 123023929 .
Literatură
- Kuznetsov S.P. , Curs 3. Sistemul Lorentz; Curs 4. Dinamica sistemului Lorentz. // Haos dinamic (curs de prelegeri). — M.: Fizmatlit, 2001.
- Saltzman B. Convecția liberă cu amplitudine finită ca problemă de valoare inițială. // Revista de știință atmosferică, Nr. 7, 1962 - p. 329-341.
- Lorenz E. Mișcare neperiodică deterministă // Atractori ciudați. - M., 1981. - S. 88-116.
Vezi și