3
$\begingroup$

How can I use Fourier Transform to solve Fisher-Kolmogorov Equation in 1D?

\begin{equation} u_t(x,t) = u_{xx}(t) + u(1-u) \end{equation}

\begin{equation} u(0,x) = \phi(x) \end{equation}

with Dirichlet \begin{equation} u(0,t)=0 \\ u(1,t)=0 \end{equation}

and Neumann boundary conditions \begin{equation} u_x(0,t)=0\\ u_x(1,t)=0 \end{equation}

Can I just do the following?

\begin{equation} F\{u(x,t)\}=\hat{u}(k,t) = \int_{-\infty}^{+\infty}u(x,t)e^{-ikx}dx \end{equation}

\begin{equation} \hat{u}_t(k,t) = (ik)^2\hat{u}(k) + F\{u(x,y)(1-u(x,t))\} \\ u_t(x,t)=F^{-1} \{ (ik)^2\hat{u}(k) \} + u(x,y)(1-u(x,t)) \end{equation}

This is a simple Matlab implementation in 1D:

After 250 iterations using forward Euler with $\Delta t = 0.01$ , the solution looks something like Fisher-Kolmogorov

$\endgroup$
3
  • $\begingroup$ I don't understand what the plot shows. The function you are seeking, $u(x,t)$ depends also on time, but your plot only shows the $x$-dependence. $\endgroup$ Jul 11, 2015 at 19:21
  • $\begingroup$ It's one frame after 250 iterations using forward Euler and $\Delta t = 0.01$ $\endgroup$
    – ilciavo
    Jul 11, 2015 at 19:24
  • $\begingroup$ OK, but so is the shown solution correct or wrong? $\endgroup$ Jul 13, 2015 at 16:29

1 Answer 1

2
$\begingroup$

The problem can be partially solved following this tutorial.

Given Fisher-Kolmogorov equation

\begin{equation} u_t=u_{xx}+u(1-u) \end{equation}

It can also be written as

\begin{equation} u_t = u_{xx} + u\,v\\ v_t = v_{xx} - u\,v \end{equation}

where $v = (1-u)$

Solving the equation \begin{equation} u_t = u_{xx} \\ \end{equation}

from $t$ to $\Delta t$ gives

\begin{equation} \hat{u}_t = (ik)^2 \hat{u} \\ \tilde{u}(x,t+\Delta t) = F^{-1} \left\{e^{-k^2 \Delta t} \hat{u} \right\} \end{equation}

Now solving the equation

\begin{equation} u_t = u \, v \\ \end{equation}

Using the splitting operator method we can write

\begin{equation} u(x,t+\Delta t) = e^{-v\Delta t} \tilde{u}(x,t+\Delta t) \end{equation}

Doing that likewise for $v$ gives the solution

Solution

Diffusion_Reaction.m

Boundary conditions still must be imposed.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.