Thank you Matt, I will definitely do that. Thrilled to add a humble contribution to PETSc :-)
Best, Miguel On 21 Apr 2024, at 16:01, Matthew Knepley <[email protected]> wrote: On Sun, Apr 21, 2024 at 9:38 AM MIGUEL MOLINOS PEREZ <[email protected]<mailto:[email protected]>> wrote: Dear Matt, Thank you for your answer. In addition to your suggestion I solved a bug in the test (I was not updating the local size integer during the time loop). Indeed if I turn off periodicity it works. Furthermore, if I use instead DM_BOUNDARY_TWIST instead, it works too. However, if I turn on DM_BOUNDARY_PERIODIC, I got an error in the search algorithm I implemented for the domain decomposition inspired by (https://urldefense.us/v3/__https://petsc.org/main/src/dm/tutorials/swarm_ex3.c.html__;!!G_uCfscf7eWS!djMj0jtH27HHR56cKhjzc0Kd4_HcjA62WBT1w_w1KFs0TfJQOtFQLA2AexxL7g4rS8aelbmYYFAE9n3wQLSIBA$ ). The algorithm is not capable of finding some of the particles at the initial stage of the simulation (without transport). Looks like the error is on my end, however it is puzzling why it works for DM_BOUNDARY_TWIST but not for DM_BOUNDARY_PERIODIC. I usually solve these things by making a simple example. We could make another test in Swarm test ex1 that uses periodicity. If you send a draft over that fails, I can help you debug it. It would make a fantastic contribution to PETSc. Thanks, Matt Thanks, Miguel On 21 Apr 2024, at 14:53, Matthew Knepley <[email protected]<mailto:[email protected]>> wrote: On Thu, Apr 18, 2024 at 8:23 AM MIGUEL MOLINOS PEREZ <[email protected]<mailto:[email protected]>> wrote: Dear all, I am working on the implementation of periodic bcc using a discretisation (PIC-style). I am working with a test case which consists on solving the advection of a set of particles inside of a box (DMDA mesh) with periodic bcc on ZjQcmQRYFpfptBannerStart This Message Is From an External Sender This message came from outside your organization. ZjQcmQRYFpfptBannerEnd Dear all, I am working on the implementation of periodic bcc using a discretisation (PIC-style). I am working with a test case which consists on solving the advection of a set of particles inside of a box (DMDA mesh) with periodic bcc on the x axis. My implementation updates the position of each particle with a velocity field, afterwards I check if the particle is inside, or not, the supercell (periodic box). If not, I correct the position using bcc conditions. Once this step is done, I call Dmswarmmigrate. It works in serial, but crashes in parallel with MPI (see attached nohup file). I have checked some of the Dmswarmmigrate examples, and they looks similar to my implementation. However they do not use periodic bcc. I am missing any step in addition to Dmswarmmigrate? It does not sound like it. We do have parallel examples of periodic migration, such as Swarm ex9. What happens if you turn off periodicity and just let particles fall out of the box? Does it still crash? Thanks, Matt Best regards Miguel -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://urldefense.us/v3/__https://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!djMj0jtH27HHR56cKhjzc0Kd4_HcjA62WBT1w_w1KFs0TfJQOtFQLA2AexxL7g4rS8aelbmYYFAE9n32M1rp2g$ <https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!djMj0jtH27HHR56cKhjzc0Kd4_HcjA62WBT1w_w1KFs0TfJQOtFQLA2AexxL7g4rS8aelbmYYFAE9n05B_V0QA$ > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://urldefense.us/v3/__https://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!djMj0jtH27HHR56cKhjzc0Kd4_HcjA62WBT1w_w1KFs0TfJQOtFQLA2AexxL7g4rS8aelbmYYFAE9n32M1rp2g$ <https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!djMj0jtH27HHR56cKhjzc0Kd4_HcjA62WBT1w_w1KFs0TfJQOtFQLA2AexxL7g4rS8aelbmYYFAE9n05B_V0QA$ >
