- Thank you received: 0
Coupled FE-BI
6 years 9 months ago - 6 years 9 months ago #361
by Watson
Coupled FE-BI was created by Watson
Good morning NGSolve community
I've been reading through the documentation and tutorials of NGSolve to see if it's possible to couple FEM with a boundary integral method in curl-curl Maxwell's equations (i.e. to simulate my computational FEM domain embedded in free-space, with an incoming wave-field).
It looks like all the basic tools are probably there in the Python interface (e.g. Trace() to get the right basis functions), but I'm not sure how to go about forming the double surface integrals/dense matrix part. Is this something already implemented, is it hackable, or would it require more C++ programming? Admittedly, I'm asking this having only had small play with NGSolve so far!
Alternatively, is there another way to set up this problem more suited to NGSolve that I may be overlooking?
Many thanks,
Francis
I've been reading through the documentation and tutorials of NGSolve to see if it's possible to couple FEM with a boundary integral method in curl-curl Maxwell's equations (i.e. to simulate my computational FEM domain embedded in free-space, with an incoming wave-field).
It looks like all the basic tools are probably there in the Python interface (e.g. Trace() to get the right basis functions), but I'm not sure how to go about forming the double surface integrals/dense matrix part. Is this something already implemented, is it hackable, or would it require more C++ programming? Admittedly, I'm asking this having only had small play with NGSolve so far!
Alternatively, is there another way to set up this problem more suited to NGSolve that I may be overlooking?
Many thanks,
Francis
Last edit: 6 years 9 months ago by Watson.
6 years 9 months ago #364
by joachim
Replied by joachim on topic Coupled FE-BI
Hi Francis,
NGSolve does not include BEM, but there are people who have coupled NGSolve to bem++ (see bempp.com).
In principle, they are willing to share the coupling code, but they want to clean up a bit before putting it onto github.
best, Joachim
NGSolve does not include BEM, but there are people who have coupled NGSolve to bem++ (see bempp.com).
In principle, they are willing to share the coupling code, but they want to clean up a bit before putting it onto github.
best, Joachim
- christopher
- Offline
- Administrator
Less
More
- Thank you received: 101
6 years 9 months ago #366
by christopher
Replied by christopher on topic Coupled FE-BI
Hi Francis,
have you considered using absorbing boundary conditions (i.e. PML) on a bounded domain?
Attached is a H1 example, but it works for HCurl the same way.
If you check Visual->AnimatePeriodic you can visualize the waves
have you considered using absorbing boundary conditions (i.e. PML) on a bounded domain?
Attached is a H1 example, but it works for HCurl the same way.
If you check Visual->AnimatePeriodic you can visualize the waves
Attachments:
6 years 9 months ago #371
by Watson
Replied by Watson on topic Coupled FE-BI
Hi Joachim and Christopher
Thank you both for your replies.
I suppose using a PML and applying an incoming wavefield this way with a complex scatterer somehow feels less natural to me (perhaps I am just being funny!), but this is a good way to start in any case.
Can you say if it's the same team at UCL that have coupled to BEM++, or if it's a third party?
Best,
Francis
Thank you both for your replies.
I suppose using a PML and applying an incoming wavefield this way with a complex scatterer somehow feels less natural to me (perhaps I am just being funny!), but this is a good way to start in any case.
Can you say if it's the same team at UCL that have coupled to BEM++, or if it's a third party?
Best,
Francis
6 years 9 months ago #375
by joachim
Replied by joachim on topic Coupled FE-BI
Hi Francis,
Alexander has posted now his (3rd party) coupling-code between BEM++ and NGSolve at github:
github.com/arieder/ngbem
We can help with the NGSolve side,
Joachim
Alexander has posted now his (3rd party) coupling-code between BEM++ and NGSolve at github:
github.com/arieder/ngbem
We can help with the NGSolve side,
Joachim
Time to create page: 0.112 seconds