Recently I’m implementing a new force field into LAMMPS. In this force field, one needs to communicate the information from local atoms to the ghost atoms. So I use functions pack_forward_comm and unpack_forward_comm to realize it, which is similar to that in pair eam.
When I’m testing the potential, I found some problem, which is as follows:
When I use 1 or 2 cores to run the simulation, everything is fine and the results are correct. However, when I use 4 or more cores to run the simulation, LAMMPS got stuck, i.e., there is no output and no error message.
So I start to debug my codes and try to find the problem, I found LAMMPS get stuck at the following command in “compute” function:
More specifically, the codes get stuck at the function: pack_forward_comm and never reach function unpack_forward_comm.
According to the above information, I guess there are some bugs or inconsistency in my codes when communicating information between local and ghost atoms with multiple CPUs. However, due to my limited knowledge of the structure of LAMMPS, I don’t know how to solve it.
Could anyone help me and give me some hints? Any inputs will be grateful.
Thank you in advance!