Difference between revisions of "Reaction-Diffusion Systems"
(47 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{nonlinear waves course |
+ | | chapter title = Reaction-Diffusion Systems | ||
+ | | next chapter = [[Burgers Equation]] | ||
+ | | previous chapter = [[Example Calculations for the KdV and IST]] | ||
+ | }} | ||
+ | |||
+ | {{complete pages}} | ||
We present here a brief theory of reaction diffusion waves. | We present here a brief theory of reaction diffusion waves. | ||
Line 18: | Line 24: | ||
set <math>p=[P]</math> and <math>a = [A] </math> we obtain the equations | set <math>p=[P]</math> and <math>a = [A] </math> we obtain the equations | ||
<center> | <center> | ||
− | <math> \frac{ | + | <math> \frac{\mathrm{d}p}{\mathrm{d}t} = -kp\,\,\,\textrm{and}\,\,\, \frac{\mathrm{d}a}{\mathrm{d}t} = kp</math> |
</center> | </center> | ||
which has solution | which has solution | ||
Line 26: | Line 32: | ||
</math> | </math> | ||
</center> | </center> | ||
+ | where <math>a_0</math> and <math>p_0</math> are the values of <math>a</math> | ||
+ | <math>p</math> repectively at <math>t=0</math>. | ||
=== Example 2: Quadratic Autocatalysis === | === Example 2: Quadratic Autocatalysis === | ||
Line 37: | Line 45: | ||
and <math>b = [B]</math> we obtain the following equations | and <math>b = [B]</math> we obtain the following equations | ||
<center> | <center> | ||
− | <math> \frac{ | + | <math> \frac{\mathrm{d}a}{\mathrm{d}t} = -kab\,\,\,\textrm{and}\,\,\, \frac{\mathrm{d}b}{\mathrm{d}t} = kab</math> |
</center> | </center> | ||
We can solve these equations by observing that | We can solve these equations by observing that | ||
<center> | <center> | ||
<math> | <math> | ||
− | \frac{d(a+b)}{ | + | \frac{\mathrm{d}(a+b)}{\mathrm{d}t} = 0 |
</math> | </math> | ||
</center> | </center> | ||
− | so that <math>a | + | so that <math>a + b = a_0 + b_0</math>. We can then eliminate <math>a</math> to obtain |
<center> | <center> | ||
<math> | <math> | ||
− | \frac{ | + | \frac{\mathrm{d}b}{\mathrm{d}t} = k(a_0 + b_0 - b)b |
</math> | </math> | ||
− | </center | + | </center> |
which is separable with solution | which is separable with solution | ||
<center> | <center> | ||
Line 92: | Line 100: | ||
<center> | <center> | ||
<math> | <math> | ||
− | c(x,t) = \frac{1}{\sqrt{4\pi D t}} \int_{-\infty}^{\infty} c_0(x) e^{(x-s)^2/4Dt} | + | c(x,t) = \frac{1}{\sqrt{4\pi D t}} \int_{-\infty}^{\infty} c_0(x) e^{(x-s)^2/4Dt}\mathrm{d}s |
</math> | </math> | ||
</center> | </center> | ||
Line 99: | Line 107: | ||
We can solve the dispersion equation using the discrete Fourier transform and | We can solve the dispersion equation using the discrete Fourier transform and | ||
− | its closely related numerical implementation the FFT. We consider the concentration | + | its closely related numerical implementation the FFT (Fast Fourier Transform). |
+ | We have already met the FFT [[Numerical Solution of the KdV]] but we consider it here in more detail. | ||
+ | We consider the concentration | ||
on the finite domain <math>-L \leq x \leq L</math> and use a | on the finite domain <math>-L \leq x \leq L</math> and use a | ||
[http://en.wikipedia.org/wiki/Fourier_series Fourier series] expansion | [http://en.wikipedia.org/wiki/Fourier_series Fourier series] expansion | ||
Line 118: | Line 128: | ||
<center> | <center> | ||
<math> | <math> | ||
− | \hat{c}_n(0) = \frac{1}{2L} \int_{-L}^{L} e^{-\mathrm{i} k_n x} c_0(x) | + | \hat{c}_n(0) = \frac{1}{2L} \int_{-L}^{L} e^{-\mathrm{i} k_n x} c_0(x) \mathrm{d}x |
</math> | </math> | ||
</center> | </center> | ||
Line 127: | Line 137: | ||
<center> | <center> | ||
<math> | <math> | ||
− | + | \hat{c}_n(0) = \frac{1}{N} \sum_{m=0}^{N-1} e^{-\mathrm{i} k_n x_m} c_0(x_m) | |
</math> | </math> | ||
</center> | </center> | ||
<center> | <center> | ||
<math> | <math> | ||
− | = \frac{1}{N} \sum_{m=0}^{N-1} e^{-2\mathrm{i} \pi nm/N} e^{ | + | = \frac{1}{N} \sum_{m=0}^{N-1} e^{-2\mathrm{i} \pi nm/N} e^{\mathrm{i} \pi n} c_0(x_m) |
</math> | </math> | ||
</center> | </center> | ||
Line 144: | Line 154: | ||
<center> | <center> | ||
<math> | <math> | ||
− | = \sum_{n=-\infty}^{\infty} \hat{c}_n(0) e^{-k_n^2 D t} e^{2\mathrm{i} \pi nm/N} e^{\mathrm{i} \pi n} | + | = \sum_{n=-\infty}^{\infty} \hat{c}_n(0) e^{-k_n^2 D t} e^{2\mathrm{i} \pi nm/N} e^{-\mathrm{i} \pi n} |
</math> | </math> | ||
</center> | </center> | ||
Line 150: | Line 160: | ||
<center> | <center> | ||
<math> | <math> | ||
− | \hat{c}_n(0) e^{\mathrm{i} \pi n} = \frac{1}{N} \sum_{m=0}^{N-1} e^{-2\mathrm{i} \pi nm/N} c_0(x_m) | + | \hat{c}_n(0) e^{-\mathrm{i} \pi n} = \frac{1}{N} \sum_{m=0}^{N-1} e^{-2\mathrm{i} \pi nm/N} c_0(x_m) |
</math> | </math> | ||
</center> | </center> | ||
Line 157: | Line 167: | ||
The | The | ||
[http://en.wikipedia.org/wiki/Discrete_Fourier_transform discrete Fourier transform] | [http://en.wikipedia.org/wiki/Discrete_Fourier_transform discrete Fourier transform] | ||
− | of a sequence of ''2N'' complex numbers ''c''<sub>0</sub>, ..., ''c''<sub>''2N''−1</sub> is transformed into the sequence of ''N'' complex numbers | + | of a sequence of ''2N'' complex numbers ''c''<sub>0</sub>, ..., ''c''<sub>''2N''−1</sub> is transformed into the sequence of ''N'' complex numbers <math>\hat{c}</math><sub>0</sub>, ..., <math>\hat{c}</math><sub>''N''−1</sub> by the DFT according to the formula: |
<center> | <center> | ||
− | <math>\hat{c}_m = \sum_{n=0}^{ | + | <math>\hat{c}_m = \sum_{n=0}^{N-1} c_n e^{-2\pi \mathrm{i}mn/N} \quad \quad m = 0, \dots, N-1</math> |
</center> | </center> | ||
Line 166: | Line 176: | ||
The '''inverse discrete Fourier transform (IDFT)''' is given by | The '''inverse discrete Fourier transform (IDFT)''' is given by | ||
<center> | <center> | ||
− | <math>c_n = \frac{1}{ | + | <math>c_n = \frac{1}{N} \sum_{m=0}^{N-1} \hat{c}_m e^{2\pi \mathrm{i}mn/N} \quad \quad n = 0,\dots,N-1.</math> |
</center> | </center> | ||
Line 172: | Line 182: | ||
<center> | <center> | ||
<math> | <math> | ||
− | c(x_m,t) = \mathcal{F} \left\{ e^{-k_n^2 D t} \mathcal{F}^{-1} c_0(x_m)} | + | c(x_m,t) = \mathcal{F} \left\{ e^{-k_n^2 D t} \mathcal{F}^{-1} \left\{ c_0(x_m) \right\} |
\right\} | \right\} | ||
</math> | </math> | ||
</center> | </center> | ||
− | + | Note that the choice of where to put the <math>1/N</math> is arbitrary in the definition of FFT and IFFT and | |
+ | does not exactly match here. Of course since it appears once the formula above is correct regardless. | ||
The only difficulty is that we need to define carefully the values of | The only difficulty is that we need to define carefully the values of | ||
<math>k_n</math> | <math>k_n</math> | ||
+ | |||
+ | The real power of this method lies with the [http://en.wikipedia.org/wiki/FFT Fast Fourier Transform] | ||
+ | or '''FFT''' algorithm. A naive implementation of the discrete Fourier transform above (or its inverse) | ||
+ | will involve order <math>N^2</math> operations. Using FFT algorithms, this can be reduced to order <math>N \log(N)</math>. This is an incredible speed up, for example | ||
+ | if N = 1024, FFT algorithms are more efficient by a factor of 147. This is the reason FFT | ||
+ | algorithms are used so extensively. | ||
== Reaction Diffusion Equations == | == Reaction Diffusion Equations == | ||
Line 193: | Line 210: | ||
<center> | <center> | ||
<math> | <math> | ||
− | z = x/x^*\,\,\,\tau = t/t^*\,\,\,\alpha = a/a_0\,\,\,\beta = b/ | + | z = x/x^*\,\,\,\tau = t/t^*\,\,\,\alpha = a/a_0\,\,\,\beta = b/a_0 |
</math> | </math> | ||
</center> | </center> | ||
Line 230: | Line 247: | ||
=== Solution via split step method === | === Solution via split step method === | ||
+ | |||
+ | [[Image:Reaction diffusion.gif|thumb|right|500px|Solutions for <math>\alpha(z,0) =1 | ||
+ | \, \beta(z,0) = \exp(-10z^2)</math>]] | ||
We can solve this equations numerically using a | We can solve this equations numerically using a | ||
Line 264: | Line 284: | ||
We can easily implement this split step method in matlab and we obtain | We can easily implement this split step method in matlab and we obtain | ||
− | a pair of travelling waves. | + | a pair of travelling waves. |
== Travelling Waves solution == | == Travelling Waves solution == | ||
Line 277: | Line 297: | ||
<center> | <center> | ||
<math> | <math> | ||
− | \frac{d^2 \alpha}{ | + | \frac{\mathrm{d}^2 \alpha}{\mathrm{d}y^2} + v \frac{\mathrm{d} \alpha}{\mathrm{d}y} = \alpha\beta |
</math> | </math> | ||
</center> | </center> | ||
Line 283: | Line 303: | ||
<center> | <center> | ||
<math> | <math> | ||
− | \frac{d^2 \beta}{ | + | \frac{\mathrm{d}^2 \beta}{\mathrm{d}y^2} + v \frac{\mathrm{d} \beta}{\mathrm{d}y} = -\alpha\beta |
</math> | </math> | ||
</center> | </center> | ||
Line 289: | Line 309: | ||
<center> | <center> | ||
<math> | <math> | ||
− | \frac{d^2 \alpha+\beta}{ | + | \frac{\mathrm{d}^2 (\alpha+\beta)}{\mathrm{d}y^2} + v \frac{\mathrm{d} (\alpha+\beta)}{\mathrm{d}y} = 0 |
</math> | </math> | ||
</center> | </center> | ||
− | so that <math>\alpha + \beta = c_0 + c_1 e^{-vy}</math> Boundary conditions | + | so that <math>\alpha + \beta = c_0 + c_1 e^{-vy}</math>. Boundary conditions |
are that as <math>y\to\infty </math> <math>\alpha = 1</math> and | are that as <math>y\to\infty </math> <math>\alpha = 1</math> and | ||
− | <math>\beta = 0</math> | + | <math>\beta = 0</math> and if <math>y\to-\infty</math> then <math>\alpha = 0</math> and |
− | + | <math>\beta = 1</math>. Therefore <math>\alpha + \beta = 1</math>. | |
+ | This means that, since <math>\alpha \geq 0</math>, we must have | ||
+ | <math>0\leq \beta \leq 1</math>. | ||
We can then obtain the following equation | We can then obtain the following equation | ||
<center> | <center> | ||
<math> | <math> | ||
− | \frac{d^2 \beta}{ | + | \frac{\mathrm{d}^2 \beta}{\mathrm{d}y^2} + v \frac{\mathrm{d} \beta}{\mathrm{d}y} + \beta(1-\beta)= 0 |
+ | </math> | ||
+ | </center> | ||
+ | which we can write as the system of first order equations. | ||
+ | |||
+ | [[Image:R_d_phase_portrait.jpg|thumb|right|500px|Phase portrait for out system showing | ||
+ | the equilibrium points and the heteroclinic connection]] | ||
+ | |||
+ | We define the variable <math>\gamma = \frac{\mathrm{d}\beta}{\mathrm{d}y}</math> | ||
+ | and we obtain | ||
+ | <center><math> | ||
+ | \begin{align} | ||
+ | \frac{\mathrm{d}\beta}{\mathrm{d} y} &= \gamma&\ | ||
+ | \frac{\mathrm{d}\gamma}{\mathrm{d} y} &= -v\gamma + \beta(\beta -1)& \ | ||
+ | \end{align} | ||
+ | </math></center> | ||
+ | This dynamical system has equilibrium points at <math>(0,0)</math> | ||
+ | and <math>(1,0)</math>. We can analyse these equilibrium points by | ||
+ | linearization. The Jacobian matrix is | ||
+ | <center> | ||
+ | <math> | ||
+ | J =\begin{pmatrix} | ||
+ | 0 & 1 \ | ||
+ | -1 + 2\beta & -v | ||
+ | \end{pmatrix} | ||
+ | </math> | ||
+ | </center> | ||
+ | |||
+ | We can easily see that the Jacobian evaluated at our first equilibrium point is | ||
+ | <center> | ||
+ | <math> | ||
+ | J_{(0,0)} =\begin{pmatrix} | ||
+ | 0 & 1 \ | ||
+ | -1 & -v | ||
+ | \end{pmatrix} | ||
</math> | </math> | ||
</center> | </center> | ||
− | which we | + | which has eigenvalues <math>\mu_{\pm} = -1/2 (v \mp \sqrt{v^2-4})</math>. Therefore |
+ | this point is a nodal sink (possibly a spiral) | ||
+ | |||
+ | |||
+ | [[Image:R_d_wave.gif|right|Travelling wave solution for v=2 and the position on | ||
+ | the heteroclinic connection]] | ||
+ | |||
+ | |||
+ | Additionally, | ||
+ | <center> | ||
+ | <math> | ||
+ | J_{(1,0)} =\begin{pmatrix} | ||
+ | 0 & 1 \ | ||
+ | 1 & -v | ||
+ | \end{pmatrix} | ||
+ | </math> | ||
+ | </center> | ||
+ | which has eigenvalues <math>\lambda_{\pm} = -1/2 (v \mp \sqrt{v^2+4})</math>. | ||
+ | This is a a saddle point. The unstable and stable | ||
+ | separatrices leave the equilibrium point at <math>(1,0)</math> in the directions | ||
+ | <math> | ||
+ | as <math>y\to-\infty</math> are the unstable separatrices. Also, only the | ||
+ | unstable separatrix which enters the region <math>\beta<1</math> is physically meaningful. | ||
+ | |||
+ | To find a travelling wave we need to find a heteroclinic connection | ||
+ | between the two equilibrium points which also has to satisfy the conditions | ||
+ | that <math>0\leq \beta \leq 1</math>. | ||
+ | |||
+ | We need to show that the heteroclinic connection does not cross the <math>\beta</math> axis. | ||
+ | Consider the region | ||
+ | <center> | ||
+ | <math> | ||
+ | R = \left\{(\beta,\gamma)\,|\, \beta<1,\,-k\beta<\gamma<0\right\} | ||
+ | </math> | ||
+ | </center> | ||
+ | On the line <math>\beta = 1,d\beta/dy<0</math> and hence all flow it into <math>R</math>. | ||
+ | On the line <math>\gamma = 0, d\gamma/dy < 0</math> for <math>0<\beta<1</math>. On the line | ||
+ | <math>\gamma = -k \beta</math> we know that <math>d\beta/dy < 0</math> so that integral paths | ||
+ | enter the region if and only if <math>d\gamma/d\beta < \gamma/\beta</math>. We know that | ||
+ | <center> | ||
+ | <math> | ||
+ | d\gamma/d\beta - \gamma/\beta = -v - \frac{\beta(1-\beta)}{\gamma} -\frac{\gamma}{\beta} | ||
+ | = \frac{1}{k} (k^2 - vk +1 -\beta) | ||
+ | </math> | ||
+ | </center> | ||
+ | when <math>\gamma = -k\beta</math>. Therefore we need to find a value of <math>k</math> | ||
+ | so that <math>k^2 - vk +1 < 0</math>, which is possible provided <math>v\geq 2</math>, for example | ||
+ | <math>k = \dfrac{v}{2}</math>. | ||
+ | |||
+ | == Lecture Videos == | ||
+ | |||
+ | === Part 1 === | ||
+ | |||
+ | {{#ev:youtube|rF4X42jP0v8}} | ||
+ | |||
+ | === Part 2 === | ||
+ | |||
+ | {{#ev:youtube|D0NwYlM-uOg}} | ||
+ | |||
+ | === Part 3 === | ||
+ | |||
+ | {{#ev:youtube|5IEZJtJaDHk}} | ||
+ | |||
+ | === Part 4 === | ||
+ | |||
+ | {{#ev:youtube|t_OjTSwVgdo}} | ||
+ | |||
+ | === Part 5 === | ||
+ | |||
+ | {{#ev:youtube|kTHVZaYezLk}} | ||
+ | |||
+ | === Part 6 === | ||
+ | |||
+ | {{#ev:youtube|MVuSg5_sfYI}} | ||
+ | |||
+ | === Part 7 === | ||
+ | |||
+ | {{#ev:youtube|hxKMOHyy6Bw}} | ||
+ | |||
+ | === Part 8 === | ||
+ | |||
+ | {{#ev:youtube|yQ-O2KIqu44}} | ||
+ | |||
− | |||
− | |||
[[Category:Simple Nonlinear Waves]] | [[Category:Simple Nonlinear Waves]] |
Latest revision as of 23:15, 24 October 2024
Nonlinear PDE's Course | |
---|---|
Current Topic | Reaction-Diffusion Systems |
Next Topic | Burgers Equation |
Previous Topic | Example Calculations for the KdV and IST |
We present here a brief theory of reaction diffusion waves.
Law of Mass Action
The law of mass action states that equation rates are proportional to the concentration of reacting species and the ratio in which they combined. It is discussed in detail in Billingham and King 2000. We will present here a few simple examples.
Example 1: Simple Decay
Suppose we have of chemical
with rate
which has solution
where
Example 2: Quadratic Autocatalysis
This example will be important when we consider reaction diffusion problems. We consider the reaction
with rate proportional to
We can solve these equations by observing that
so that
which is separable with solution
and
Note that
Diffusion
The equation for spatially homogeneous diffusion of a chemical with concentration
which is the heat equation. We will consider this in
only one spatial dimension. Consider it on the boundary
where
We can find the inverse transform using convolution and obtain
Solution of the dispersion equation using FFT
We can solve the dispersion equation using the discrete Fourier transform and
its closely related numerical implementation the FFT (Fast Fourier Transform).
We have already met the FFT Numerical Solution of the KdV but we consider it here in more detail.
We consider the concentration
on the finite domain
where
Note that this is not the same solution as we obtained on the infinite domain because
of the boundary conditions on the finite domain. The coefficients
The key to the numerical solution of this equation is the use of the FFT. We begin by discretising the
domain into a series of
We also get
but we know that
The discrete Fourier transform
The
discrete Fourier transform
of a sequence of 2N complex numbers c0, ..., c2N−1 is transformed into the sequence of N complex numbers
We denote the transform by the symbol
The inverse discrete Fourier transform (IDFT) is given by
Therefore we can write
Note that the choice of where to put the
The real power of this method lies with the Fast Fourier Transform
or FFT algorithm. A naive implementation of the discrete Fourier transform above (or its inverse)
will involve order
Reaction Diffusion Equations
We consider an auto catalytic reaction where the chemical species also diffuse. In this case the equations are
We can non-dimensionalise these equations scaling the variables as
So that the equations become
If we choose
then we obtain the system
Solution via split step method
We can solve this equations numerically using a
split step method. We assume
that at time
from
by assuming that
and we do likewise for the equation for
We can easily implement this split step method in matlab and we obtain a pair of travelling waves.
Travelling Waves solution
When we solve the equations we found the solution formed travelling waves and we now consider this phenomena in detail.
We define a new coordinate
and
If we add these equations we obtain
so that
which we can write as the system of first order equations.
We define the variable
This dynamical system has equilibrium points at
We can easily see that the Jacobian evaluated at our first equilibrium point is
which has eigenvalues
Additionally,
which has eigenvalues
To find a travelling wave we need to find a heteroclinic connection
between the two equilibrium points which also has to satisfy the conditions
that
We need to show that the heteroclinic connection does not cross the
On the line
when