-
Notifications
You must be signed in to change notification settings - Fork 9
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
Conversation
doesn't support more than one expansion round for now
The elmsInPatch-to-2ndAdjElms graph was being created and returned. It was not 'merging' those subgraphs into the patch-to-elmsInPatch graph that needs to be returned.
use graph functions nnodes and nedges
given the use of kokkos team sorting, the patch api is only supported when kokkos is enabled
moved to Omega_h_patches.[h|c]pp
/runtests |
Test Result: success (details) |
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 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.
Thanks for adding the docs. I am fine with including this if you are ready. |
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 dimensiondim-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.