Non-Reflective Boundary Conditions for the Wave Equation

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
3 replies · 10K views
NeoDevin
Messages
334
Reaction score
2
I wasn't completely sure where to put this (programming or Diff.E.'s), so if there's a better place, maybe the mentors could move it for me.

I'm doing some numerical simulations involving the (2-D) wave equation, and was wondering if anyone could tell me (or give a reference to a paper which would tell me) how to implement a boundary condition which will prevent reflections?

For now I'm just doing a straightforward centered difference, I may implement a higher order method later, depending how much time I have.
 
on Phys.org
Anybody? Could we move this to the programming forum and try there?
THanks
 
What is the particular problem of interest, and why do you wish to use non-reflective BCs? I've typically used Thompson-style boundary conditions as they seem the most "physical." Are you having problems with reflecting waves growing and ruining the solution?

If so, you might just want to stretch the grid away from the area of interest. The old way of doing things is that if the waves don't make it to the boundary (by way of damping), then you don't have to worry about the boundaries ;).
 
minger said:
What is the particular problem of interest, and why do you wish to use non-reflective BCs? I've typically used Thompson-style boundary conditions as they seem the most "physical." Are you having problems with reflecting waves growing and ruining the solution?

If so, you might just want to stretch the grid away from the area of interest. The old way of doing things is that if the waves don't make it to the boundary (by way of damping), then you don't have to worry about the boundaries ;).

Yes, you are so right minger. I am also extending the computational domain as your idea...
However, since I need to compute on a large domain in a proper computed time, so I have to learn how to make my code better with PML boundary condition...

I've heard about PML, but it's not easy for me to implement it into my code...

Anyone can help us out? How should I start with coding PML?

Thank you so much !