advertisement

18.303 Problem Set 7 Due Wednesday, 30 October 2013. Problem 1: Born again In the class notes on “Green’s functions in inhomogeneous media,” section 3, we applied the Born approximation to a small “object” far from both the source (x0 ) and the observer (x). A key step in the derivation was to approximate the integrand g(x0 ) = ∇0 G0 (x, x0 ) · ∇0 u0 (x0 ) of B̂u0 as a constant in V and to pull it out of the integral. In this problem, you will carry out that process more carefully, as a Taylor expansion of g(x0 ) around x1 : g(x0 ) ≈ g(x1 ) + ∇0 g|x1 · (x0 − x1 ) + (x0 − x1 ) · H · (x0 − x1 ) + . . . where H is the 3 × 3 second-derivative (“Hessian”) matrix with entries Hij = simply keep only the first term in this expansion. ∂2g ∂x0i ∂x0j . What we did in class was to (a) Show that the second term in the Taylor expansion, ∇0 g|x1 · (x0 − x1 ) , contributes zero to B̂u0 if the point x1 is chosen correctly. Give a formula for the correct x1 . (Do you recognize this formula?) (b) Work out the third term (the H term) in the Taylor expansion. This is called the “quadrupole” term. How fast does this term’s contribution to u(x) decay with |x − x1 | and |x0 − x1 |? (In comparison, the “dipole” term we examined in class decayed as ∼ 1/|x − x1 |2 and ∼ 1/|x0 − x1 |2 .) Problem 2: Crank-Nicolson vs. Leapfrog In class, we considered negative-definite discretizations A = A∗ < 0 of ∂u ∂t = Âu and showed that the Crank-Nicolson discretization un+1 − un un+1 + un =A ∆t 2 is unconditionally stable, where the right-hand side was a way of approximating un+0.5 . Here, we will instead consider using un+0.5 directly. That is, we will imagine computing u at timesteps u0 , u0.5 , u1 , u1.5 , . . . where we update u by the center-difference equations: un+1 − un = Aun+0.5 , ∆t un+0.5 − un−0.5 = Aun . ∆t This is called “leapfrog” scheme, for reasons that should become apparent (if you know the children’s game of leapfrog). (a) Suppose we are given the initial condition u0 . Outline an algorithm to update u successively in order to compute un and un+0.5 for as many n > 0 as desired, using the leapfrog scheme above. (You may need to construct a different way to compute u0.5 . Preserve second-order accuracy in time!) n+1 n n n−1 (b) Consider u ∆t−u − u −u and show that you can get an equation in un alone (no half-integer timesteps). ∆t 2 Relate this to the original PDE via ∂∂t2u = · · · . 2 um+1 −2um +um−1 ∂ 00 (c) Suppose Â = ∂x . Perform a Von 2 and A is the usual center-difference approximation um = ∆x2 n ikm n n+0.5 ikm n+0.5 Neumann stability analysis by pluggin in um = e G and um =e G a for an unknown growth rate G, an unknown relative amplitude a of unm and un+0.5 , and arbitrary real k. m (i) Show that a = ±1. (ii) If we can restrict ourselves to solutions with a = +1 (i.e. integer and half-integer timesteps have the same sign), find conditions on ∆t and ∆x (if any) such that |G| < 1 for all real k (stability, since the original PDE is a diffusion equation with decaying solutions). 1