Különböző differenciálegyenletek fázisképének vizsgálata

Programozási Feladat 3
Önálló Kutatási Feladat 1

Holubecz Judit

Elméleti összefoglaló

A természetben számos rendszer kezelhetõ arányegyenletek segítségével. Ezek elsõrendû idõ szerinti differenciálegyenletek, amik leírják a rendszer idõfejlõdését. Legtöbbször a fizikai mennyiségek, részecske- vagy fajtakoncentrációk, mint például kémiai, biokémiai és ökológiai rendszerekben, valamint félvezetõkben. Ez azt a követelményt támasztja az arányegyenletekkel szemben, hogy invariánsan kell hagyniuk a pozitív kúpot, vagyis a fázistérnek azt a részét, ahol az összes változó pozitív vagy nulla. Ezen túlmenõen ha alapvetõ folyamatokat akarnak leírni, további megkötések érvényesek rájuk, amiatt, hogy olyan részecske vagy fajta tud csak megsemmisülni egy folyamatban, amelyik részt vesz benne. Formálisan ez azt jelenti, hogy azok a változók az egyenletben, amelyek egy C mennyiség idõbeli változását írják le, és nem tartalmazzák C-t magát, kizárólag nem negatív együtthatójúak lehetnek. Ezek a feltételek általában megkötésekhez vezetnek a fázistérbeli trajektóriák lehetséges topológiai struktúráira nézve. A következőkben néhány példát mutatunk ezekre az egyenletekre.

Első példa

Első lépésben a Tung-féle differenciálegyenlet-rendszert fogjuk modellezni, tetszőleges kezdetiérték, és konstansok mellett. Inicializáljuk a változókat egy olyan értéknél, amely esetén látványos az eredmény:

param1={x0->0.1,b->0.1,c->0.01,d->-0.01,a->0.05,θ->-0.00001}

A Manipulate segítségével kirajzoljuk az eredményt:

Manipulate[Module[{sol=NDSolve[{x'[t]==a x[t]y[t] Cos[θ]-((b x[t]+d y[t]-b x0) (x[t]-1)+(c y[t]^2)) Sin[θ],y'[t]==a x[t]y[t]  Sin[θ]+((b x[t]+d y[t]-b x0) (x[t]-1)+(c y[t]^2)) Cos[θ],x[0]==p[[1]],y[0]==p[[2]]},{x,y},{t,-5000,0}]/.param1},ParametricPlot[Evaluate[{x[t],y[t]}/.sol],{t,-5000,0},PerformanceGoal->"Quality",PlotRange->{{-1.2,1.2},{-1.2,1.2}}]],{{p,{1.01,1.01}},Locator},{{θ,-0.00001},-0.1,0.1},{{a,0.05},0,0.06},{{b,0.1},0,0.2},{{d,-0.01},-0.05,0},{{c,0.01},0,0.05},{{x0,0.1},0,0.2}]

a,b,c,d paraméterek változtatásával a spirál görbülete, x0 változtatásával pedig a fókuszpont helye változtatható.

Második példa

Következőnek nézzük meg a cikkben megkonstruált példát, melyben tudjuk változtatni a csomópont típusát az η paraméter változtatásával:

param2={a2->-3.2,η->1,ξ->a2+3,ω->Sqrt[ξ (ξ+2-a2) (1+a2)]}

Az inicializálás után ismét Manipulate-et használunk:

Manipulate[Module[{sol=NDSolve[{x'[t]==(η+ξ) x[t]^2-2 x[t] y[t] - (1+η+ξ+(ω^2+ξ^2)/a2) x [t]+1,y'[t]==-a2 x[t] y[t] + (a2-ξ) y[t] + ξ (ω^2+ξ^2)/(a2^2),x[0]==p[[1]],y[0]==p[[2]]},{x,y},{t,0,100}]/.param2},ParametricPlot[Evaluate[{x[t],y[t]}/.sol],{t,0,100},PerformanceGoal->"Quality",PlotRange->{{0,2},{0,3}}]],{{p,{1,2}},Locator},{{η,1},0.5,1.5}]

Az η paraméter kis értékei esetén fókuszként, a nagy értékek esetén pedig centrumként viselkedik.

Harmadik példa

Következő példánk a Van der Pol limitciklus (ez ugyan nem kémiai, hanem elektronikus egyenlet, de hasonló tulajdonságokat mutat):

param3={μ->2,l->14,m->1}

A szükséges változók inicializálása után ismét Manipulate:

Manipulate[Module[{sol = NDSolve[{x'[t] == y[t], y'[t] == -(μ + 1) (l x[t]^2 - m) y[t] - x[t], x[0] == p[[1]], y[0] == p[[2]]}, {x, y}, {t, 0, 100}] /. param3}, ParametricPlot[Evaluate[{x[t], y[t]} /. sol], {t, 0, 100}, PerformanceGoal -> "Quality", PlotRange -> {{-2, 2}, {-3, 3}}]], {{p, {1, 2}}, Locator}, {{μ, 2}, -1, 4}, {{l, 14}, 2, 16}, {{m, 1}, 0, 3}]

A μ változó itt a csúcsok “hegyességét” váloztatja, extrém esetben körré alakítható, l és m pedig a limitciklus vízszintes és függőleges kiterjedését szabályozza.

Felhasznált irodalom

C. Escher: Bifurcation and coexistance of several limit cycles in models of open two-variable quadratic mass-action systems, Chem. Phy. 63 (1981) 337/348