5
$\begingroup$

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?

$\endgroup$
6
  • 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, 2015 at 17:08
  • $\begingroup$ I am asking what are some good ABC's. $\endgroup$
    – Andy
    Jul 23, 2015 at 22:00
  • $\begingroup$ High or low order DG? $\endgroup$
    – Jesse Chan
    Jul 24, 2015 at 2:33
  • $\begingroup$ Both cases, if possible, because I am trying to make it arbitrary order. $\endgroup$
    – Andy
    Jul 24, 2015 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, 2015 at 15:38

2 Answers 2

6
$\begingroup$

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.

$\endgroup$
2
  • $\begingroup$ Would I even need to decompose the laplacian if I use PML's? $\endgroup$
    – Andy
    Jul 30, 2015 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, 2015 at 16:09
3
$\begingroup$

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:

$u_{tt}-u_{xt}-\frac{1}{2}u_{yy}=0$

(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.

$\endgroup$
2
  • $\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, 2015 at 13:04
  • $\begingroup$ That's the beauty of the Hagstrom-Warburton condition - no high derivatives. $\endgroup$
    – DanielRch
    Jul 27, 2015 at 14:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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