Hello, I sent an email last week about an issue I had with DMSwarm but did not get an answer yet. If there is any other information needed or anything I could try to solve it, I would be happy to do them...
Thanks a lot for your help. Best regards, Joauma ________________________________ From: Joauma Marichal Sent: Friday, March 18, 2022 4:02 PM To: [email protected] <[email protected]> Subject: DMSwarm Hello, I am writing to you as I am trying to implement a Lagrangian Particle Tracking method to my eulerian solver that relies on a 3D collocated DMDA. I have been using examples to develop a first basic code. The latter creates particles on rank 0 with random coordinates on the whole domain and then migrates them to the rank corresponding to these coordinates. Unfortunately, as I migrate I am loosing some particles. I came to understand that when I create a DMDA with 6 grid points in each 3 directions and then set coordinates in between 0 and 1 using ,DMDASetUniformCoordinates and running on 2 processors, I obtain the following coordinates values on each proc: [Proc 0] X = 0.000000 0.200000 0.400000 0.600000 0.800000 1.000000 [Proc 0] Y = 0.000000 0.200000 0.400000 0.600000 0.800000 1.000000 [Proc 0] Z = 0.000000 0.200000 0.400000 [Proc 1] X = 0.000000 0.200000 0.400000 0.600000 0.800000 1.000000 [Proc 1] Y = 0.000000 0.200000 0.400000 0.600000 0.800000 1.000000 [Proc 1] Z = 0.600000 0.800000 1.000000 . Furthermore, it appears that the particles that I am losing are (in the case of 2 processors) located in between z = 0.4 and z = 0.6. How can this be avoided? I attach my code to this email (I run it using mpirun -np 2 ./cobpor). Furthermore, my actual code relies on a collocated 3D DMDA, however the DMDASetUniformCoordinates seems to be working for staggered grids only... How would you advice to deal with particles in this case? Thanks a lot for your help. Best regards, Joauma
