Bond atom missing in image check

I got error message : ERROR on proc 2: Bond atom missing in image check (…/domain.cpp:658)
ERROR on proc 1: Bond atom missing in image check (…/domain.cpp:658)
ERROR on proc 0: Bond atom missing in image check (…/domain.cpp:658)
.
.
.
This is my input file.

variable strain equal 0.001
variable repx equal 1
variable repz equal 1
variable strain2 equal "1+v_strain"
variable deldist equal 50
variable fixdist equal 45

######################################
# INITIALIZATION
units real
dimension 3
boundary p p p
atom_style full

pair_style	lj/class2/coul/long 9.5 9.5
dielectric      1.0
pair_modify     tail yes

bond_style      class2
angle_style     class2
dihedral_style  class2
improper_style  class2

read_data	mC12o-DSB-303K3.data

kspace_style	pppm 0.00000001




#variable minlength equal 100
variable xlen equal lx
variable ylen equal ly
variable zlen equal lz

print "lx: ${xlen}"
print "ly: ${ylen}"
print "lz: ${zlen}"




# Compute stress information for Atomeye visualization
compute stress all stress/atom NULL
compute stress1 all reduce sum c_stress[1]
compute stress2 all reduce sum c_stress[2]
compute stress3 all reduce sum c_stress[3]
compute stress4 all reduce sum c_stress[4]
compute stress5 all reduce sum c_stress[5]
compute stress6 all reduce sum c_stress[6]

# Compute distance for each side of the grain boundary to displace
#variable ly1 equal ly
compute ly1low all reduce min y
compute ly1hi all reduce max y


variable	Temp_target equal 300.0
variable	Temp_anneal equal 300.0
variable	Press equal 1.0

#velocity        all create ${Temp_anneal} 38951 dist gaussian
neighbor        2.0 bin
neigh_modify	delay 0 every 1 check yes  
special_bonds   lj/coul 0.0 0.0 1.0

replicate	20 20 4

# Minimize first
timestep        0.5
thermo          10000
thermo_style custom step lx ly lz press pxx pyy pzz pe c_ly1low c_ly1hi
write_data	data.mindone
min_style	sd
fix 1 all box/relax x 0.0 z 0.0 couple none vmax 0.001 
minimize	1.0e-2 1.0e-2 1000 1000
velocity        all create ${Temp_anneal} 38951 dist gaussian
unfix 1

fix		Mynvt1 all nvt temp ${Temp_anneal} ${Temp_anneal} 100.0 drag 0.01

dump		Myatom1 all atom 1000 1_NVT_${Temp_anneal}K.pos
dump_modify	Myatom1 image yes scale yes
restart	10000 1_NVT_${Temp_anneal}K.restart
run_style	verlet
run		5000

unfix		Mynvt1
undump		Myatom1


# CREATE REGIONS FOR BOUNDARY CONDITIONS

# lx, ly, lz are fixed for the rest

thermo_style custom step lx ly lz press pxx pyy pzz pe c_ly1low c_ly1hi
# Delete groups of atoms far from boundary
region rlow block 0 INF -10 25 0 INF units box
region rhigh block 0 INF 75 110 0 INF units box
group glow region rlow
group ghigh region rhigh

delete_atoms group glow
delete_atoms group ghigh

# Create groups to fix and displace
region rgblow block 0 INF -10 30 0 INF units box
region rgbhigh block 0 INF 70 110 0 INF units box
group gbhigh region rgbhigh
group gblow region rgblow

# Put fixed boundary condition on edge atoms by setting forces to zero
fix 2 gbhigh setforce 0 0 0
fix 3 gblow setforce 0 0 0


run 0
variable ly1 equal "c_ly1hi - c_ly1low"
variable ly0 equal ${ly1}
variable lydelta equal "v_strain*v_ly0/2"
print "Length of box w/ GB: ${ly0}"
print "y Strain increments: ${lydelta}"



##########################################
# MS Deformation loop

variable a loop ${nloop}

label loop

# Displace the atoms and minimize again
# displace_atoms group-ID style args keyword value
displace_atoms gblow move 0 INF -10 25 0 INF units box
displace_atoms gbhigh move 0 INF 75 110 0 INF units box

minimize	1.0e-2 1.0e-2 1000 1000

# Create cfg files with stress in y direction for AtomEye viewing
reset_timestep ${a}
dump 1 all cfg 1000 dump. mC12o-DSB-303K3_*.cfg mass type xs ys zs c_stress[2]
dump_modify 1 element  mC12o-DSB-303K3
dump_modify 1 first yes 
dump_modify 1 pad 3
run 0
undump 1

next a
jump  mC12o-DSB-303K3.txt loop 

unfix gb_fracture

######################################
# SIMULATION DONE
print "All done"

Give me a advise please.

This is a rather long and convoluted input. There are lots of things in there, that have no relation to the issue at hand. Thus it is difficult to judge where the error is actually happening. Please try to reduce it to the minimum.

Also, you don’t report which LAMMPS version you are using and what your command line is as well as what platform you are running on.

Basically, the error indicates that you have atoms in a bond that are far too far apart so that no longer both atoms are available in the local subdomain (either as local or ghost atom). That is usually an indication of a bad or insufficiently equilibrated initial geometry or bad simulation settings.

I suspect you may be moving incomplete molecules during your displace_atoms commands.

I just started lammps, so there are many things I don’t know. Thanks for the advice though!
I try to reduce input and change displace_atoms commands.

If you are new to LAMMPS you should be doing simpler simulations first.
By doing so many complex steps right away you can’t tell whether you have the basics done correctly.

You are right. so i’m really working hard.
I followed it while watching lammps tutorial 6
[lammps-tutorials/LAMMPS-Tutorials-06.ipynb at 314b04f6352430bef10ac60cf80f7d50a290c703 · mrkllntschpp/lammps-tutorials · GitHub]
But It was more difficult than I thought.

My output was
40848 atoms in group glow
42184 atoms in group ghigh
Deleted 40848 atoms, new total = 141552
Deleted 42184 atoms, new total = 99368
7073 atoms in group gbhigh
7438 atoms in group gblow
PPPM initialization …
WARNING: System is not charge neutral, net charge = -1.12 (…/kspace.cpp:293)
G vector (1/distance) = 0.362325
grid = 160 192 250
stencil order = 5
estimated absolute RMS force accuracy = 2.93832e-06
estimated relative force accuracy = 8.84867e-09
using double precision FFTs
3d grid and FFT values/proc = 247380 184320
Setting up run …
ERROR on proc 14: Bond atom missing in image check (…/domain.cpp:658)
ERROR on proc 13: Bond atom missing in image check (…/domain.cpp:658)
.
.
when displace_atoms gblow move 0 -5 0 units box
displace_atoms gbhigh move 0 5 0 units box

What should be the value of the displace_atom box?

You are not understanding the problem. The example you quote is for an atomic system. You have apparently a molecular system or for some other reason bonds in your system. The groups you define apparently do not include entire molecules, hence the error when displacing.

You have another problem:

WARNING: System is not charge neutral, net charge = -1.12

That indicates that your initial data file is already bogus.

As I already stated, you are trying to do simulations that are far beyond your level of understanding of both, LAMMPS and classical force field simulations in general. The only viable approach is to step back and first learn to do simpler simulations or simpler systems, and to them correctly and under the supervision of an experienced person.

MD simulations are as much a craft as they are science and unlike the science part, you cannot learn the craft part (well) from text books or online tutorials. Instead, you need in-person tutoring (everybody does, those that have managed to learn doing MD simulations without, can tell you a tale of many woes as they went through a world of pain).

That’s right, I’ll practice slowly from the basics.
But how do you get it to contain the entire molecule?
please i want to know. :sweat_smile:

That is what the documentation is for.

Can you find out by this??

I am not going to do your job for you. How naive do you think I am?

This has nothing to do with what I recommended you to do and you promised you would do. Apparently, you just promised that with the hope to placate me.

You’re right, I’m very sorry.
I’ll get back to you from the basics!