Interaction between a gas atom and a solid surface using ReaxFF potential

Dear Lammps Users,

I am studying the interaction between a gas atom and a solid surface using ReaxFF potential. As you can see in my input file (attached in the following), in each loop a gas atom will be inserted into the simulation box at a certain distance from the surface. Since the inserted gas atom’s perpendicular velocity is always negative it goes toward the surface and after bouncing with the surface it goes away. The thing is I want to monitor the van der Waals interaction between the gas atom and the surface, so I decided to use “compute pe/atom pair”. I was expecting that when the gas atom is far away from the surface pair potential value should be zero. But as I checked the written Output file when the gas atom enters the cut off distance the absolute value of potential increases (as expected), but after bouncing with the surface when it goes away from the surface, the potential value doesn’t reach to zero and after some times it becomes constant but not zero!

I highly appreciate if someone could tell me what I am doing wrong here.

Kind regards,

Shahin Mohammad Nejad

######################-------Input file--------------------------

variable a loop 40000

read_restart restart.1000000.Ni_Eq

change_box all boundary p f p

variable VX file parallel1_He350.txt
variable VZ file parallel2_He350.txt
variable VY file perpendicular_He350.txt
variable jj file random50000.txt

timestep 0.25

thermo_style custom step temp epair etotal pxx pyy pzz pe lx ly lz
thermo 1000

#----------------------------------------------FORCE FIELD--------------------------------------------------------------
pair_style reax/c NULL checkqeq no

pair_coeff * * ffield.reax.CHONSSiPtZrNiCuCoHeNeArKrXe Ni He

neighbor 2. bin
neigh_modify every 5 delay 0 check yes
fix 1 all qeq/reax 1 0.0 10.0 1e-6 reax/c

region Ni_B_fix block INF INF 18 19 INF INF units box

group NiBfix region Ni_B_fix

region mobile block INF INF 19 INF INF INF units box

group mobile region mobile

group NiB_thermo subtract NiB NiBfix

region gas_in block 0 24 50 52 0 24 units box

group addatoms type 2

variable dt equal “timestep”

fix 2 addatoms nve

fix 3 mobile nve

fix 6 NiB_thermo temp/berendsen 300 300 $(100.0*dt)

thermo 1000
thermo_style custom step c_6_temp etotal epair pe pxx pyy pzz lx ly lz
thermo_modify lost warn
run 5000

fix 7 addatoms deposit 1 2 100 {jj} region gas_in vx {VX} {VX} vy {VY} {VY} vz {VZ} ${VZ} units box

fix 8 addatoms wall/reflect yhi EDGE

variable Count equal count(addatoms)

thermo 100
thermo_style custom step c_6_temp pe v_Count

thermo_modify lost warn

run 200