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

Add support for quadrilateral elements (enhancement) #173

Open
jahargreaves opened this issue Sep 26, 2022 · 3 comments
Open

Add support for quadrilateral elements (enhancement) #173

jahargreaves opened this issue Sep 26, 2022 · 3 comments
Labels
enhancement New feature or request

Comments

@jahargreaves
Copy link

Hello, I've often worked on problems that are more naturally meshed with quadtrilaterals, and am about to start another, so I'm wondering if it would be possible to add this functionality? I'd be happy to assist if you choose to progress this.

I'm naivie to some of bempp's inner workings. but at face value there's four steps:

  • Add appropriate shape functions to the library. These are trivially simple to define for scalar problems at least
  • Update the assembly & DOF management. For PWC and PWL this would require little change from triangles - one DOF per element or per node, respectively.
  • Add numerical quadrature rules. This would require more thought & validations since, although the Hyena codebased & Sauter & Schwab's textbook have regualarised schemes in them, neither worked as well as I expected when I've tried them previously.
  • Deal with the potential for bilinear element curvature. This may or may not be straightforward, depending on how normal and tangent vectors are handled within integration kernels (e.g. can they be abcissa-dependent?) If not, then the easiest thing might be to add a check when a mesh is loaded to check that all the quads are planar (they are for all the cases I'm interested in).

Other barriers might be dependencies on other libraries or interfaces I guess, but I can't comment on that.

Thanks!

@mscroggs
Copy link
Member

This is something we're planning to work on in the short/medium term for the next versions of Bempp

@mscroggs mscroggs added the enhancement New feature or request label Sep 26, 2022
@jahargreaves
Copy link
Author

Thanks @mscroggs I'd be happy to help if needed.

@mscroggs
Copy link
Member

We're currently exploring using Rust for the low-level functionality for the next version (with the main user interface remaining in Python). Work on this is in progress at https://github.com/rusty-fast-solvers. If you fancy learning Rust, there's lots to be done. Or once the Rust library is more mature, there will be lots to add to the Python layer to make new functionality work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants