Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Linear Basis function #106

Merged
merged 4 commits into from
Sep 21, 2023

Conversation

paresula
Copy link
Contributor

This is basically the same as PR#102 , but rebased and adapted for the current state of BEAST, and the compatibilty for WiltonInts84 is now set to the newest version.

For Helmholtz problems, there was so missing support for the singular or near singular integrals when linear basis functions are used.

In this pull request,

functions were adapted or added to allow using SauterSchwab quadratures for the common face/edge/vertex case for all four Helmholtz3D operators for the different combinations of patch/pyramid basis functions available,
for the near singular case, a Wilton/ singularity extraction was implemented, also for the different combinations of patch/pyramid functions.
I tested the functions by comparing the SauterSchwab, Wilton, and DoubleQuad integrals for the common face/edge/vertex cases and making sure they give similar results, also under the assumption that the Wilton strategy should give results closer to the SauterSchwab strategy than the DoubleQuad does. However, there are some cases where where the DoubleQuad performs better, and I am not sure why that is, it's marked in the code as a comment.
For seperated triangles, I also compare to a reference value that was calculated with the HCubature package.

This allows a singularity extraction strategy for the doublelayer, doublelayertransposed
and hypersingular operator for triangles close together (for specific pairings of patch and pyramid functions).
Added functions so that all combinations of patch and pyramid functions can be used
with Sauter integrals for the common face/edge/certex case and a singularity extraction
rule for the near singular case.

Not clear why DoubleQuadStrat performs better for common vertex than
singularity extraction. For triangles close together singularity extraction
appears to perform better as is expected.
@krcools
Copy link
Owner

krcools commented Sep 15, 2023

Thanks for this. Could you find a workaround for using the broken keyword for the tests that do not pass? The tests are currently not successful on the latest Julia LTS version (1.6).

@krcools krcools merged commit 6f65cc8 into krcools:master Sep 21, 2023
2 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants