How to fix the error restrain atoms missing

Hello everyone,

I am using LAMMPS-3Mar2020 to simulate a cell membrane with the CHARMM36 force field. The model and input files are obtained from CHARMM-GUI. Initially, I started my simulation with 20 cores, but it exited with an error “restrain atoms missing”. After reviewing discussions in the mailing list, I realized this might be caused by atom drifting. To troubleshoot, I repeated the same simulation using a single core, and the simulation completed normally. However, upon inspecting the trajectory file output, I didn’t find any abnormal atomic movements. Can anyone help me solve this issue? The relevant input files were obtained from CHARMM-GUI and have been uploaded as attachments. Among them, file “1.out” is the output file where the simulation encountered errors. I appreciate any guidance you can provide, and I will be grateful for it.

Best regards (1.5 MB)

The “restrain atoms missing” in dihedral atoms has been fixed through setting a longer communication cutoff by “comm_modify cutoff 50” command. However, I have no idea about whether such settings have adverse effects on my simulation or not?

You should check out the discussion of the domain decomposition used in LAMMPS in the (new) LAMMPS paper (or the condensed version in the Programmer Guide section of the LAMMPS manual).

For fix restrain to not give you errors, all atoms in a defined restraint have to be present on the relevant subdomain; either as local atom or as ghost atom. When your system changes, it may happen, that only one of the restraint atom is local and at the very edge of the subdomain. Thus, the region of ghost atoms has to be large enough to contain all the other atoms. Of course this demand is the largest for dihedral restraints and may depend on how close the atoms forming the dihedral can move apart.

The size of the ghost atom region is determined by the communication cutoff. By default, this is the same as the neighborlist cutoff (it must not be shorter), but you can increase it. Increasing the communication cutoff requires more communication and thus can slow your calculation down and limit parallel scaling. The effect is the bigger the larger you set the communication cutoff. So you want to experiment with different values.

Thanks for you patient response.

I have changed the cpmmunication cutoff to 50. The simulation seems to be running smoothly now, but I’m curious if these modifications will affect my simulation results, such as energy and density calculations.

You can easily test for that.

You are not changing the physics, you are not adding any forces or velocities, you are just carrying more copies of atoms around. I don’t see how this can have any impact beyond other changes like changing the number of processors or neighbor list update settings.