# Fourier transform for Neumann boundary condition

I need to solve system of two coupled partial differential equations numerically.

\begin{align} \frac{\partial x_1}{\partial t} &= c_1\nabla ^2 x_1 + f_1(x_1,x_2)\\ \frac{\partial x_2}{\partial t} &= c_2\nabla ^2 x_2 + K\frac{\partial x_1}{\partial t} \end{align}

The domain of system is a square region.

Boundary condition:

\begin{align} x &= \text{constant} \implies \frac{\partial x_1}{\partial x} = \frac{\partial x_2}{\partial x} = 0\\ y &= \text{constant} \implies \frac{\partial x_1}{\partial y} = \frac{\partial x_2}{\partial y} = 0 \end{align}

I tried to solve this system with Fourier transform. Solution becomes unstable after few iterations. I have solved this system earlier with finite difference scheme and it worked well so I know that constants of system are perfectly fine.

• My question is can Fourier transform be used to solve these equations?
• I read somewhere that it because of Neumann boundary condition one cannot apply Fourier transform. Is this correct?
• If yes what is alternative?(I have read that cosine transform should be used but want to confirm).
• How do you define $f_1(x_1,x_2)$ ? Is $f_1$ a periodic function ? Sep 10 '12 at 16:35
• $f_1(x_1,x_2) = P(x_1)arctan(x_2)$, where P(x) is a polynomial. Sep 10 '12 at 19:36
• Maybe the numerical unstability come from the function $f_1$. If $P$ is not equal to zero at the limite of the domain you can have a jump at the boundary condition when reconstructing the periodic signal. Sep 10 '12 at 20:07
• @aberration, Thanks for comment but do not understand what it means. Probably I should study FFT more thoroughly. But If I am solving system in all the changes are limited to center part only(roughly) so that values at the boundary are not affected can I use FFT here? Sep 11 '12 at 6:01
• Well maybe what I said is wrong, I think it's may work with some smooth function $f_1$ but anyway it's will give probably a wrong solution because near boundary process will not be solved properly. As you said you probably need to use a cosine modes or Chebyshev modes. If you really want to use Fourier transform you can use some kind of penalization method. Sep 11 '12 at 16:08