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



Reply via email to