Note: I'm trying to implement a Discontinuous Galerkin method, as kind of a way to learn about these things.

As of now, I've taken the acoustic wave equation $c^2 \nabla \cdot \nabla u(x,t) - \frac{\partial^2 u(x,t)}{\partial t^2} = f(x,t)$, rewritten it in weak form with the test function $v(x,t)$, and used Green's first identity to obtain a flux integral from the laplace operator:

$$\int_{\Gamma_K} c^2 v(x,t) \nabla u(x,t) \cdot dS - \int_K c^2 \nabla u(x,t) \cdot \nabla v(x,t) dV - \int_K \frac{\partial^2 u(x,t)}{\partial t^2} v(x,t) dV = \int_K f(x,t) v(x,t) dV$$ where $K$ is an element of the mesh and $\Gamma_K$ is its edges / faces.

I'm not super sure how ABC's work, but I believe the reason for using Green's first identity to get the flux integral on $\Gamma_K$ is so that we can replace existing boundary conditions with absorbing boundary conditions on the boundary faces of $\partial \Omega$? If I understand correctly, these absorbing boundary conditions would also be a differential equation that are only imposed on the boundary $\partial \Omega$.

My question is: What are some good absorbing boundary conditions (differential equations) I can use for the acoustic wave equation in a 2-dimensional or 3-dimensional rectangular domain?

  • 2
    $\begingroup$ I s there a particular type of ABCs you wish to implement, or are you asking which are good ABCs for the wave equation? $\endgroup$ – DanielRch Jul 23 '15 at 17:08
  • $\begingroup$ I am asking what are some good ABC's. $\endgroup$ – Andy Jul 23 '15 at 22:00
  • $\begingroup$ High or low order DG? $\endgroup$ – Jesse Chan Jul 24 '15 at 2:33
  • $\begingroup$ Both cases, if possible, because I am trying to make it arbitrary order. $\endgroup$ – Andy Jul 24 '15 at 9:15
  • 1
    $\begingroup$ You'll have to decide how accurate you want your ABCs to be. Is low accuracy sufficient (perhaps because the absorbing boundaries are far away from the point of interest)? Or do you need very small reflections from these boundaries? $\endgroup$ – DanielRch Jul 24 '15 at 15:38

The problem with ABC in the form of derivative operators at the boundary is that the exact ABCs are non-local in space and often in time, which makes them hard to use in numerical simulations. You can derive approximate ABCS based on series expansions, but this can be tedious and it may be difficult to get stable schemes. This approach was made famous by a very widely cited paper by Enquist and Majda.

An easier and widely used approach are perfectly matched layers. You extend your computational domain $\Omega$ by an additional layer in which you modify your derivatives by a complex scaling factor

$\partial_x \rightarrow \left(1 + \frac{i \sigma(x)}{\omega} \right) \partial_x$

This modifies the dispersion relation of your system such that traveling wave modes in the exterior layer are damped. Here, $\sigma$ is chosen such that it is zero at the boundary of your physical domain $\partial \Omega$ and increases towards the end of your layer, thus slowly increasing the damping. A function like $\textrm{erf}(x) = \frac{1}{\sqrt{\pi}}\int_{0}^{x} \exp(-s^2) ds$ might work well for $\sigma$, but you will need to rescale it so that it starts at zero at the physical boundary. You may have to play a little with your parameters $\sigma$ and $\omega$ to get good results.

Note that PML provides an approximate ABC, unless the layer would be infinitely long, which is of course impossible in a numerical simulation. However, the amplitude of the waves usually decays exponentially, so that small layers can already damp your reflections to below the discretization error of your DG method in the interior.

Originally, PML was introduced by Berenger although this paper might not be the best way to start. There is also a well written Wikipedia entry and searching for perfectly matched layer certainly will provide you with good material - as said, the method is very widely used.

  • $\begingroup$ Would I even need to decompose the laplacian if I use PML's? $\endgroup$ – Andy Jul 30 '15 at 15:15
  • 1
    $\begingroup$ I do not think so, but I never used PML for DG methods, only FD, so take this with a grain of salt. But essentially you only add a complex coefficient in front of your derivative. $\endgroup$ – Daniel Jul 30 '15 at 16:09

There exist Absorbing Boundary Conditions for the wave equation that are stable and that go up to any order of accuracy (limited only by the accuracy of discretization of your model), so that they are good competition for PMLs.

A commonly used ABC of the Enquist-Majda type mentioned above, which is of the second order, is:


(Derivatives are implied). This should be plugged into the boundary term in your weak form, but you may need to define $u_x$ on the boundary as an additional variable in your model to do that.

If you need higher accuracy I suggest the Hagstrom-Warburton boundary condition: this condition is based on the definition of auxiliary variables on the boundary, which also satisfy the wave equation there. Corners require special treatment.

  • $\begingroup$ You are right, for the plain wave equation there are surely alternatives to PML - I was probably a little general in my answer above. However, the mixed derivatives that typically appear in ABC derived from series expansions can be a pain to implement, in my experience (although, may be I was just doing it wrong). $\endgroup$ – Daniel Jul 27 '15 at 13:04
  • $\begingroup$ That's the beauty of the Hagstrom-Warburton condition - no high derivatives. $\endgroup$ – DanielRch Jul 27 '15 at 14:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.