-
Notifications
You must be signed in to change notification settings - Fork 50
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
Particle-grid migrate #395
Conversation
83cec77
to
b8e0c9d
Compare
3019a5c
to
67afc76
Compare
Codecov Report
@@ Coverage Diff @@
## master #395 +/- ##
======================================
Coverage 93.0% 93.0%
======================================
Files 36 37 +1
Lines 4194 4269 +75
======================================
+ Hits 3902 3973 +71
- Misses 292 296 +4
Continue to review full report at Codecov.
|
Ok @sslattery this is ready for review. I will keep working on the similar arbitrary dimension halo functionality and create a separate PR |
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.
Just a few small changes
|
||
for ( std::size_t d = 0; d < num_space_dim; ++d ) | ||
{ | ||
local_low[d] = local_mesh.lowCorner( Cajita::Own(), d ); |
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.
We do this in a lot of places. No need to add in this PR but it would be nice to have functions for these that do not take a dimension argument and just return a Kokkos::Array
for all dimensions.
destinations( p ) = neighbor_ranks( neighbor_index ); | ||
|
||
// Shift particles through periodic boundaries. | ||
for ( std::size_t d = 0; d < num_space_dim; ++d ) |
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.
nice - good kernel fusion. I think we can also eventually find a way to fuse in the count kernel as well so we have only a single setup kernel.
@sslattery should be ready for final review |
This adds particle-grid migrate in Cajita, wrapping calls to
Cabana::Distributor
,Cabana::migrate
particleGridMigrate
uses implementation functions and callsmigrate
This supersedes #263 and is part of the very old #77