-
Notifications
You must be signed in to change notification settings - Fork 16
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
Lagrangian particles -- Nearest Neighbor (GPEXCHTYPE_NN) interface #6
Comments
Yes! We noticed that there are some issues with GPEXCHTYPE_NN, and we should fix this in the next few days. This will make Lagrangian particles work with GPEXCHTYPE_NN, and we will later fix all other particles. In the meantime, note that for small runs the GPEXCHTYPE_VDB method should be faster (a 1024^3 run with 1 million particles has ~1000 less particles than grid points). |
We just uploaded an updated version that should do GPEXCHTYPE_NN for all types of particles. Please tell us if you find any problem. |
Thanks! I am going to test it. If you allow me, I have another question. In the spline interpolation, when computing in parallel (MPI or hybrid) Such a line basically decenter the spline interpolation. If we assume that we are in a cell that is in the position Thanks again! |
Follow up of my message. The communicator If my previous statement is correct, then the line
to
This would follow the logic of the GPartcomm_ctor,
In this case, if the position is, for instance Summing up, if this reasoning is correct. The Lagrangian stencil on the z-direction was always decentered |
Btw, I did some tests on the implementation that you did. The results coincide with my implementation, so I think the NN module is now working! Thanks! |
The module for exchanging the data associated to particles GPEXCHTYPE_NN is not operational.
Functions like
GPart_InitUserSeed
usethis%gpcomm_%VDBSynch
even when GPEXCHTYPE_NN is active.In a (simple) first attempt to use the nearest neighbours interface I allow the allocation of memory of
even when GPEXCHTYPE_NN is active. However, in this case
GPartComm_PartExchangeV
does not work as it should.When there isn't any exchange of particles, it adds more particles. That I think it could be solved by adding
before the comment
! Post receives:
.Another issue is on line 1195, which packs on the variable
this%sbbuff_
but it then sendsthis%stbuff_
. Then that line I think should beCALL GPartComm_PPackV(this,this%stbuff_,this%nbuff_,id,px,py,pz,nparts,this%itop_,this%ntop_)
However, even after these changes, the interface does not work properly. After the exchange of particles between neighbouring nodes, I observe that two particles may share the same global id, which is forbidden, and I also think that
GPartComm_ConcatV
does not work properly because it does not remove all the particles that have been sent away.Could you take a look into this?
The text was updated successfully, but these errors were encountered: