Lab assignment 1: Due Friday April 3, 18:00 EDT

For this assignment, you will need a set up to work with Python code, in particular, to develop Jupyter notebooks, as well as a GitHub account to share your notebooks.

We will solve the following boundary value problem by a finite element method. $$ \begin{cases} -\Delta u = f&\textrm{in}\,\,\Omega,\\ u = g &\textrm{on}\,\,\partial\Omega. \end{cases}\qquad\qquad(*) $$

Part 1: Implementation

Reference: J. Alberty, C. Carstensen & S.A. Funken. Remarks around 50 lines of Matlab.

Part 2: Numerical experiments

  1. Pick a convex domain $\Omega$ and a smooth function $u$, and compute $f=-\Delta u$ in $\Omega$. Then solve (*) with $f$ just computed and with $g=u|_{\partial\Omega}$, on several grids with decreasing meshsize.
  2. Plot the $H^1$-error of the finite element solution against the meshsize $h$ on a logarithmic scale, and estimate the convergence rate $\alpha$ in $error\sim h^\alpha$ from the graph. Is it consistent with theory?
  3. Repeat the preceding exercise for the $L^2$-error of the finite element solution. Explain the results.
  4. Repeat the preceding 3 exercises for a smooth function $u$ on a domain with a reentrant corner. Explain the results.
  5. In a domain with a reentrant corner, consider a solution of the form $u(r,\theta)=r^a\sin(a\theta)$, where the coordinate origin is at the reentrant corner, and the rays $\theta=0$ and $\theta=\pi/a$ correspond to the two sides of the corner. For example, for an L-shaped domain, we would have $a=\frac23$. This is the function from Assignment 1, Problem 5. Repeat exercises 1–3. If your code allows, experiment with a couple of different values of $a$, that is, with different values of the reentrant angle. Explain the results.

How and what to submit

Please submit links to your Jupyter notebooks on GitHub by email, before Friday April 3, 18:00 EDT. The subject line of the email should be: