next up previous
Next: Problem 2 Up: Problem 1 Previous: Preparation

Problem

Solve the bistable equation on the unit square (square.m) with homogeneous Neumann boundary conditions, $a = 0.01$, and $T = 20$. Use a time step of size $k = 0.1$ and let the initial condition be given by

\begin{displaymath}
u_0(x) = \cos(2\pi x_1^2) \cos(2\pi x_2^2).
\end{displaymath} (3)

To solve the problem, look at your solver for the time-dependent convection-diffusion equation from computer session E3, or try yourself without looking.

Since the problem is now nonlinear, we need to use fixed-point iteration. When we solved the (linear) convection-diffusion equation, we only needed to assemble the vector b and then solve the linear system A U1 = b in each time step. Now, we need to solve the nonlinear system

    A U1 = b(U1)

in each time step using fixed-point iteration. We do this by repeatedly assembling the vector b for a given value of U1 and then updating the value of U1 by solving the linear system.

In each iteration, the latest value of U1 is given to the assembler using the optional argument W. Before, we used W only to represent U0 (which becomes w(1) in the variational formulation), but now we will use W = [U0 U1] for both U0 and U1. In the variational formulation, we can then use w(1) to obtain the value of U0 and w(2) to obtain the value of U1.

Plot the solution using the pdesurf command in each time step. Remember to write pause after each plot. You could also use the commands view(2) (to see the solution from above) and colormap jet (for some nice colors).

Check your answer: Compare your solution with a reference solution using the commands load solution1 and then makemovie. This solution has been computed on a finer mesh (square_refined.m) with a time step of size $k = 0.1$ and $T = 20$.

\includegraphics [width=10cm]{eps/solution1.eps}


next up previous
Next: Problem 2 Up: Problem 1 Previous: Preparation
Christoffer Cromvik 2004-04-25