-
-
Notifications
You must be signed in to change notification settings - Fork 194
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
Make standalone function for interpolation over non-matching meshes #3177
Conversation
…t we can distinguish between a submesh with 0 cells and a nonmatching mesh with 0 cells on a process
The logic behind interpolation looks too complicated and the code is hard to follow. I don't see why different cases, e.g. matching and non-matching meshes, are forced through the same interface. |
I've now split the interpolation of nonmatching meshes into a separate function. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think there is more that can be done to simplify and improve the logic.
- In C++ the number of functions can probably be reduced.
- The non-matching interpolation data structure should be a
struct
. - The Python interface still has a function that tries to do too much. Interpolation for non-matching meshes is advanced functionality so it it ok for the user to be responsible for some of the steps, i.e. let the user create the required data structure.
Co-authored-by: Garth N. Wells <[email protected]>
Co-authored-by: Garth N. Wells <[email protected]>
…erpolation-flag-2
…erpolation-flag-2
Resolves #3173.
Simplifies logic of interpolate.
API Change
Non-matching meshes interpolation now has its own interface:
interpolate_nonmatching_meshes
in both C++ and Python.It also clarifies that interpolation of
dolfinx::fem::Expression
is not supported on non-matching meshes.