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

vertex based patch creation #112

Merged
merged 37 commits into from
Dec 3, 2024
Merged

vertex based patch creation #112

merged 37 commits into from
Dec 3, 2024

Conversation

cwsmith
Copy link

@cwsmith cwsmith commented Aug 30, 2024

This PR adds support for creation of small sets of elements (the highest dimension mesh entity, dim) surrounding each vertex in the mesh. The patches are formed by first collecting the upward adjacent elements to each vertex and then successively adding elements to the patch that are adjacent to the current elements via sides (entities of dimension dim-1) until the minimum patch size is reached for each vertex. For use with a partitioned mesh, the mesh partition needs to be created with ghosting enabled (i.e., mesh.set_parting(OMEGA_H_GHOSTED)).

Note, Kokkos is required for shared memory parallel segment sorting via team sort.

This functionality is needed to support super convergent patch recovery for the BER land ice project.

  • add 3d test case
  • add partitioned mesh test case

@cwsmith cwsmith added the enhancement New feature or request label Aug 30, 2024
@cwsmith cwsmith marked this pull request as ready for review August 30, 2024 19:44
@cwsmith
Copy link
Author

cwsmith commented Aug 30, 2024

/runtests

Copy link

Test Result: success (details)

Copy link
Collaborator

@jacobmerson jacobmerson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it might be helpful to have a couple comments in the expandPatches function that explains the steps of the algorithm.

Is the naming convention you are using functions in the anonymous namespace use underscores and other functions are camel case? That's fine just wasn't positive if there is something else I wasn't grokking.

src/Omega_h_patches.cpp Show resolved Hide resolved
@jacobmerson
Copy link
Collaborator

Thanks for adding the docs. I am fine with including this if you are ready.

@cwsmith cwsmith merged commit 3a2f0a0 into master Dec 3, 2024
14 checks passed
@cwsmith cwsmith deleted the cws/formPatches branch December 3, 2024 20:19
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

Successfully merging this pull request may close these issues.

2 participants