-
-
Notifications
You must be signed in to change notification settings - Fork 178
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
Template distribute_entity_data
to support multiple data-types
#3119
Conversation
@massimiliano-leoni could you test this?:) |
distribute_entity_data
to support multiple data-types
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 would suggest leaving the code in the .cpp
file and explicitly instantiating for the small number of types that we'll use (at this stage). It's preferable to keep code in the implementation file. This is what we do elsewhere for the mesh.
@garth-wells any further changes you would like to see in this PR? |
* API updates relating to: FEniCS/dolfinx#3149 * Updates due to: FEniCS/dolfinx#3119
First step towards resolving #1253
Second step would be to template
XDMFFile.read_meshtags
. This is fairly trivial, but I figured we should agree on the core changes before doing that change.Currently tested with:
I've removed the unnecessary mesh geometry templating of this function, and made the Python-binding more low-level (improving the Python layer of
distribute_entity_data
to work with the new binding). The PR also has documentation improvements of this function.This would enabling reading vertex, facet and cell data that is single or double precision, which is the case in many biomedical applications (where one for instance have voxel data, or material parameters).
The major difference in the code is that the communication of entity indices and values are split into two separate neighbourhood alltoallv calls.
No major changes in the actual functional structure of the code.