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 functions #102

Closed
wants to merge 2 commits into from

Conversation

paresula
Copy link
Contributor

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.

To get the correct signs in all expressions, this relies on pull request #14 in the WiltonInts84 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 Aug 23, 2023

I released a new version of WiltonInts with your additions. Could you modify the Project.toml in this PR to depend on this new version?

I have been working in parallel on enabling the SauterSchwab rules for the HH3D Hypersinguler etc. could you bring your PR in accordance to this work (I think most of what is in helmholtz3d/wiltonints.jl can now be found on the master branch in hh3dops.jl

@paresula
Copy link
Contributor Author

Thank you for your work! I am now finally finding time to look into the changes you made.
I will probably make a rebase of this branch to make sure everything is running, and make a new PR within the next few day.

@paresula paresula closed this Sep 11, 2023
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