Math 6630, Spring 2016, Problem Set 2

advertisement
Math 6630, Spring 2016, Problem Set 2
Due – Monday March 7, 2016.
1) Variable coefficient Poisson problem
Consider the scheme
1
h
−(L u)j,l ≡ − 2 βj,l−1/2 uj,l−1 + βj−1/2,l uj−1,l + βj+1/2,l uj+1,l + βj,l+1/2 uj,l+1
h
− (βj,l−1/2 + βj−1/2,l + βj+1/2,l + βj,l+1/2 )uj,l
= fj,l
for the variable coefficient Poisson equation −∇ · (β∇v) = f for x ∈ R ≡ [0, 1]2 with homogeneous Dirichlet boundary conditions. Here β(x) is a smooth function that satisifes
β(x) ≥ β0 > 0. (Note that Lh is the variable-coefficient analog of the 5 point discrete Laplacian ∆h discussed in class.) The local truncation error of this scheme τ = O(h2 ), that is
−Lh v − f = O(h2 ) for the solution v(x) of the differential equation problem. Show that the
global error |vj,l − uj,l | = O(h2 ) for all grid points in R. (Hint: Use a maximum principle
argument after establishing that a maximum principle holds for Lh .) What can you say
about the solvability of the discrete equations −Lh u = f with specfied boundary conditions?
2) Consider the problems
00
−u (x) = ex ,
(1)
for 0 < x < 1, with boundary conditions Set A: u(0) = 1 and u(1) = 0 or Set B: u0 (0) = 1
and u(1) = 0.
a) Write a code to solve Eq. 1 using finite-differences with BC Set A. Use the obvious discrete
BCs for this problem. Perform a convergence study as the meshsize h is reduced. What is
the convergence order? What happens to the convergence order if you mistakenly set the
discrete BC at x = 1 to u(1) = h? What happens if instead you mistakenly set the value of
the right-hand-side of Eq. 1 at x = 1/2 to e1/2 + h?
b) Write a code to solve Eq. 1 using finite differences with BC Set B. For the BC at x =
0, try both options (u1 − u0 )/h = 1 and (−3u0 + 4u1 − u2 )/(2h) = 1, and comment on
the rates of convergence for the two choices. What happens to the convergence if you
mistakenly set (u1 − u0 )/h = 1 + h? What happens to the convergence if you mistakenly set
(−3u0 + 4u1 − u2 )/(2h) = 1 + h?
3) Briggs Chapter 5, problem 8.
4) Briggs Chapter 5, problem 12.
5) Briggs Chapter 5, problem 13.
1
6) Consider the problem
−u00 (x) = f (x)
(2)
for 0 < x < 1 with u(0) = 0 and u(1) = 0.
Write a multigrid code that performs V-cycles using weighted-Jacobi relaxation with ω =
2/3, full-weighting restriction, and linear-interpolation. The code should be able to handle
at least four grid levels. Test your code with an arbitrary initial guess for the problem with
f (x) = 0. How many V-cycles does it take to reduce the initial error by a factor of 105 ?
How does this change as h is halved? Read Briggs, Chapter 4 for advice in checking whether
your code is performing as it should be.
2
Download