Lotka Volterra (A const, AX k0 2X, XY k1 2Y, X k2 D, Y k3 E).

advertisement
Провести численный расчет кинетики реакции Лотки-Вольтера A= const, A +X →k0 2X, X +Y →k1 2Y, X →k2 D, Y →k3
E, получить в символьном виде выражения для стационарных решений и собственных значений для системы
дифференциальных уравнений описывающей изменение концентраций X и Y. Определить частоту колебаний
используя быстрое преобразование Фурье. Построить качественный фазовый портрет системы ДУ с помощью
векторного графика.
dA
(1)
= k4 - k0AX = 0
k0
k2
A + X ¾¾ 2X X ¾¾ D
dt
A = const
Система ДУ соответствующая рассматриваемой схеме имеет вид:
k1
k3
dX
X +Y ¾¾ 2Y Y ¾¾ E
(2)
= k0AX - k1XY - k2X
dt
dY
( 3)
= k1XY - k3Y
dt
dD
dE
(4 )
= k2X (5)
= k3Y
dt
dt
Для выяснения особенностей кинетики данной реакции достаточно рассмотреть подсистему из (2) и (3) уравнений, поскольку продукты D и E далее ни в каких
реакциях не учавствуют.
Стационатные решения
Найдем стационарные решения системы (2) и (3) уравнений :
Given
k0  A0  X  k1  X  Y  k2  X = 0
k1  X  Y  k3  Y = 0
 0 k3 
k1 
Find ( X Y)  


0 0 
Стационарных решений оказалось два, одно из которых Xst = Yst = 0 - тривиальное
Собственные значения
Для анализа на устойчивость этих решений необходимо определить собственные значения линеаризовнной системы ДУ для малых отклонений от стационарных
решений.
Линеаризуем систему при небольшом отклонении от стационарного состояния, произведя замену в правых частях уравнений (2) и (3) X -> Xst + ΔX и Y -> Yst + ΔY и
убрав квадратичные члены по ΔX и ΔY.
substitute X = Xst  ΔX
k0  A0  X  k1  X  Y  k2  X








substitute Y = Yst  ΔY Xst  k2  A0  k0  Yst  k1  Xst  k1  ΔY  ΔX  k2  A0  k0  Yst  k1  k1  ΔX  ΔY
series ΔX ΔY
Xst  k2  A0  k0  Yst  k1  Xst  k1  ΔY  ΔX  k2  A0  k0  Yst  k1
- линеаризованная правая
часть уравнения (2)
substitute X = Xst  ΔX
k1  X  Y  k3  Y




substitute Y = Yst  ΔY Yst  k3  Xst  k1  ΔY  k3  Xst  k1  Yst  k1  ΔX  k1  ΔX  ΔY
series ΔX ΔY




Yst  k3  Xst  k1  ΔY  k3  Xst  k1  Yst  k1  ΔX
- линеаризованная правая часть уравнения (3)
Теперь для каждой стационарной точки в линеаризованные правые части уравнений (2) и (3) вместо Xst и Yst подставим стационарные
решения.
Для первой стационарной точки (Xst -> 0, Yst -> 0) имеем:



Xst  k2  A0  k0  Yst  k1  Xst  k1  ΔY  ΔX  k2  A0  k0  Yst  k1




Yst  k3  Xst  k1  ΔY  k3  Xst  k1  Yst  k1  ΔX
substitute Xst = 0
 A0  k0  ΔX  k2  ΔX
substitute Yst = 0

substitute Xst = 0
 k3  ΔY
substitute Yst = 0

(
)
DX = [ A ]0 k0 - k2 ⋅ DX + 0 ⋅ DY

DY = 0 ⋅ DX - k3 ⋅ DY
Составляем характеристическое уравнение
|a11 -λ a12 |
| a21  a12 -λ| =0
и находим его собственные значения.
В Mathcad это можно легко сделать с помощью функции eigenvals():
k3
  k0  A0  k2 0   

  

0
k3  

 A0  k0  k2 
eigenvals  
Аналогично для второй стационарной точки (Xs -> k3/k1, Ys -> (k0*A0-k2)/k1):



Xst  k2  A0  k0  Yst  k1  Xst  k1  ΔY  ΔX  k2  A0  k0  Yst  k1




Yst  k3  Xst  k1  ΔY  k3  Xst  k1  Yst  k1  ΔX

substitute Xst =
substitute Yst =
substitute Xst =
substitute Yst =
k3
k1
k0  A0  k2
 k3  ΔY
k1

k3
k1
k0  A0  k2
k1
 A0  k0  ΔX  k2  ΔX
DX = 0 ⋅ DX - k3 ⋅ DY

DY = ([A]0 k0 - k2 ) ⋅ DX - 0 ⋅ DY
 k3  k2  A0  k0 
0
k3  

  

  k0  A0  k2 0     k3  k2  A0  k0 
eigenvals  
Итак, для первой стационарной точки (0,0) λ 1 = -k3, λ 2 = A0*k0-k2,
для второй (k3/k1, (k0*A0-k2)/k1) λ 1 = (k3*(k2-A0*k0))1/2 , λ 2 = -(k3*(k2-A0*k0))1/2 .
В случае когда k2 < A0*k0 первая стационарная точка оказывается неустойчивой т.к. λ 2 > 0, а в окрестности второй возможны осцилляции, причем как мы ниже
убедимся они будут незатухающими с частотой 2π/|Im(λ 1 )|.
В случае k2 > A0*k0 первая стационарная точка оказывается устойчивой т.к. λ 1 < 0 и λ 2 < 0, а вторая соответствует физически неосуществимому состоянию [Y] < 0.
Теперь перейдем к численному расчету и получим решение для произвольных начальных концентраций X и Y (т.е. не при не обязательно малых отклонений [X] и [Y] от
стационарных значений). Убедимся также в правильности теоретических предсказаний.
dX
= k0AX - k1XY - k2X
dt
dY
= k1XY - k3Y
dt
Численный расчет
Зададим константы скоростей
k0  1
k1  .5
k2  .01
k3  2
A0  1
Если при заданных выше значениях констант и A0 условие колебаний k0  A0  1 > k2  0.01 выполняется, то концентрации X и Y будут испытывать колебания вокруг
второй стационарной точки
k3


0
k1

   0 4 
XYst 
 k0  A0  k2   0 1.98 
0

k1


0  0 
XYst   
0 
1
XYst 
 4 


 1.98 
Чем ближе ко второй стационарной точке выбрать начальные концентрации веществ X и Y, тем более синусоидальный вид будут иметь колебания концентраций.
В пределе малых колебаний их частота будет равна νsmall 
Y0 
Im  k3  ( k2  A0  k0)
2π
1
 0.22395 , а период Tsmall 
 4.46527 .
νsmall
 X0   1 
  
 Y0   1 
X0  1
Y0  1
tb  0
te  300 - начальное и конечное время интегрирования
Вектор правых частей ДУ:
Sys ( t Y) 
15
N  2
 k0  A0  Y0  k1  Y0  Y1  k2  Y0 


k1  Y0  Y1  k3  Y1


 1  32767
Матрица решения:
0
t  M
1
X  M
1
-X
2
-Y
- число точек решения на интервале (tb, te]
Задаем в таком виде для того, чтобы иметь возможность воспользоваться в дальнейшем
быстрым преобразованием Фурье!
M  Rkadapt ( Y0 tb te N Sys)
2
Y  M
- дискретные значения времени и концентраций веществ X и Y в эти моментв времени
График численного решения:
Фазовая траетрория решения:
Y
10
X
6
XYst 4
1 1
2
Y
5
0
5
10
X XYst
0 1
0
100
200
300
t
Частота осцилляций
Частоту осцилляций можно определить как непосредственно из приведенного выше графика, так и используя быстрое преобразование Фурье.
fs 
N
te
 109.22333 - частота дискретизации (sampling frequency) = 1/dt
nν  0 
N 1
N 1
2
2
 16384
νnν  nν 
fs
N
1
fs
 0.00916
t1  0.00916
- частоты, соответствующие nν компаненте Фурье спектра
ff  fft ( X)
300
200

Im ff nν
На графике также видны 2 - я и последующие
гармоники, поскольку колебания носят отличный
от синусоидального характер.

100




max Im ( ff)  251.30475
0
0.5
1
ν nν
 



 

Ν  lookup max Im ( ff)  Im ( ff) ν 0  0.18667
- частота осцилляций
Заметим, что c ростом амплитуды колебаний их частота уменьшается: Ν  0.18667 < νsmall  0.22395 .
1
te
 0.00333
ν1  0.003333
- точность измерения частоты
Фазовый портрет
Представление о фазовом портрете рассматриваемой системы ДУ (кривых Y(X) при различных начальных условиях) можно получить с помощью векторного графика,
показывающего направление и скорость изменения X и Y (вектор с компонентами (dX/dt;dY/dt)) в различных точках плоскости XY.
xlow  0
xhigh  2  XYst
xn  20
ylow  0.
yhigh  2  XYst
yn  xn
0 1
1 1
i  0  xn  1
xindi  xlow  i 
j  0  yn  1
yindj  ylow  j 
  xindi 
 0
  yindj 
gXi j  Sys 0 
( gX gY)
xhigh  xlow
xn  1
yhigh  ylow
yn  1
  xindi 
 1
  yindj 
gYi j  Sys 0 
Направление маленьких стрелок на предыдущем графике можно лучше расмотреть, если
пронормировать вектора:
gXni j 
gXi j
 gXi j2  gYi j 2
gYni j 
gYi j
 gXi j2  gYi j 2
( gXn gYn)
Чтобы получиить точный фазовый портрет решений необходимо изобразить множество зависимостей Y(X) при различных начальных условиях.
Фазовая диаграмма
Подробное объяснение построения фазовой диаграмы приводится в задаче о Брюсселяторе. Здесь мы построим ее без объяснений, записав правые части СДУ с
использованием стехиометрической матрицы α (Stoichiometric Matrix) и вектора скоростей реакций R.
A = const
k0
(1) A + X ¾¾ 2X
k1
(2) X +Y ¾¾ 2Y
k2
(3) X ¾¾ D
k3
(4) Y ¾¾ E
N  2047
nx  7
1

T  1
Z  α 
 1

0


1 
 1 1 1 0 
α  
R ( k XY) 

0 
 0 1 0 1 

1 
k3


 k0 
 
0

k1
 k1 

   0 4 
k 
XYst 
 k2 
 k 0  A0  k 2   0 1.98 
 
0

k1
 k3 


te  1.5  Tsmall  6.6979
ny  5
xb  0.9
yb  0.3
0 1
for i  0  nx  1
v 0 jnx i  i 
v 1 jnx i  j 
ye  2 XYst
1 1
0
xe  xb
nx  1
ye  yb
ny  1
 xb
1
2
3
3.26667
4.45
5.63333
6.81667
8
1
0.3
0.3
0.3
0.3
0.3
0.3
...
0
yv
Z  q ( k y )
3
z2  q ( k y )
y
i
yv
2
1
z1  stack ( z1 z2)
z1
0
6
2.08333
q ( k C0 )  Rkadapt ( C0 tb te N E ( k ) )
 
5
0.9
 yb
z1  Z
4
0
2
4
x
6
8
 XY0  k0  XY0  k2  XY0  XY1  k1 


XY0  XY1  k 1  XY1  k 3


dX
= k0AX - k1XY - k2X
dt
dY
= k1XY - k3Y
dt
v 0
E ( k t Y)  α  R ( k Y)
 T 1
for i  1  last  v

α  R ( k XY) 
 3.96
v
U 
 k0  A0  XY0 
 k1  XY0  XY1 


 k 2  XY0 
 k 3  XY1 


tb  0
xe  2 XYst
for j  0  ny  1
v 
0
Download