Forum Message

 

 

We have moved the forum to https://forum.ngsolve.org . This is an archived version of the topics until 05/05/23. All the topics were moved to the new forum and conversations can be continued there. This forum is just kept as legacy to not invalidate old links. If you want to continue a conversation just look for the topic in the new forum.

Notice

The forum is in read only mode.

boundary treatment for time domain waves

More
6 years 2 weeks ago #447 by Guosheng Fu
Hello,

I am looking into time domain wave simulation with explicit DG methods, say acoustics scattering.
I was wondering how a proper boundary treatment in the farfield could be realized in NGSolve.

As an example, how to modify the demo code
timeDGwave.py
to fit for an unbounded domain? I tried to use PML, but it gives me errors...

Best,
Guosheng
More
6 years 1 week ago #455 by mw
Hi,
the PML implementation in NGSolve can only be used for the time harmonic case.
For PML in time domain you would need to use a formulation like e.g. in
www.sciencedirect.com/science/article/pii/S0021999112006055
More
6 years 1 week ago #456 by joachim
Hi Guosheng,

we just now set up some time-domain PML examples ...

Here is a 2D time-domain PML with cartesian PML.

Here is a reference on the method:
hal.archives-ouvertes.fr/hal-01378501/fi...tPMLconvex_FINAL.pdf

best, Joachim
More
6 years 1 week ago #457 by Guosheng Fu
WOW! Thanks, Joachim.
this is perfect. I will look into your code
I was actually planning to implement pml today, following the reference by Atkins...
arc.aiaa.org/doi/abs/10.2514/6.1997-1581

I am working on time domain wave simulations, it's very fun! It's also super easy to code in NGsolve!
More
6 years 1 week ago #458 by Guosheng Fu
Just a follow-up question.
I want to check the accuracy of a pml implementation by comparing the solution with another solution simulated using a larger domain.
Say, how to project/interpolate the solution defined on a larger mesh to the smaller mesh?
More
6 years 1 week ago #459 by joachim
Hi Guosheng,

you have two options:

1. using one mesh, define two different subdomains for the pml, an inner and an outer. setup two problems. then you can compare two fields from the same mesh.

2. using two different meshes. With gf.Set(..) you can project a field from an independent mesh. But of course, it comes at some price (cost + possibly accuracy). It should also work to integrate a field from an independent mesh.

Best, Joachim
Time to create page: 0.115 seconds