--- /dev/null
+<!--#set var="root_directory" value="../../.." --><!--#include virtual="$root_directory/shared/header.shtml"-->
+
+<h1>Assignment #8</h1>
+<p><em>Due Friday, November 20</em></p>
+
+<h2>Purpose</h2>
+
+<p>Learn how to solve PDEs using parallel computers.</p>
+
+<p>Note: Please identify all your work.</p>
+
+<h2>Solving Poisson Equation</h2>
+
+<p>You are to solve Poisson equation in a parallel code. This elliptic
+PDE is typicaly used in demonstrating how to numerically solve
+PDEs. It has the advantage of being time independent. In 2D, it takes
+the form</p>
+
+<p class="equation">\[
+ \frac{\partial^2 u(x,y)}{\partial x^2}
+ + \frac{\partial^2 u(x,y)}{\partial y^2}
+ = S(x,y)
+\]</p>
+
+<p>where the field $u(x,y)$ is solved for in a domain in $x$ and $y$
+with specified boundary conditions and source term $S(x,y)$.</p>
+
+<h3>Steps</h3>
+
+<ul>
+ <li>Use finite difference approach on an equally spaced square lattice to solve the PDE.</li>
+ <li>Start with the serial 2D Poisson solver code
+ <a href="../../../content/2D_Domain_Decomposition/src/poisson_2d.tar.gz">poisson_2d.tar.gz</a>.
+ Use the physical set-up as in this code, namely use the domain,
+ the gaussian source, and the Dirichlet boundary conditions as
+ specified in this code.</li>
+ <li>Parallelize the code.</li>
+ <li>Use the parallel Game of Life
+ (<a href="../../../content/game_of_life/src/parallel_life_game.c">parallel_life_game.c</a>)
+ and the 1D Poisson equation solver
+ (<a href="../../../content/domain_decomposition/src/poisson_1d/poisson_1d.tar.gz">poisson_1d.tar.gz</a>)
+ codes as guides.</li>
+ <li>Use MPE or a pipe in the Python graphic code
+ (<a href="../../../programming_strategies/src/plot_image.py">plot_image.py</a>)
+ to display the solution.</li>
+ <li>Compare your solution (map image of $u(x,y)$) to the serial code
+ solution as a rough check of the code.</li>
+ <li>Replace the solution back in the Poisson equation as a further
+ (more precise) check of the solution (as is done in the serial
+ code).</li>
+ <li>Make sure your code works for arbitrary lattice size and number
+ of processors.</li>
+<ul>
+
+<!--#include virtual="$root_directory/shared/footer.shtml"-->