[lammps-users] Bonds crossed boundary after relaxation

Hi, LAMMPS users,

I used LAMMPS to do some simulation for the tensile deformation of a sparse polymer network system. I do the work including three steps.

The first, I generate the polymers network using “self-avoiding random walk” method in a square lattice, and then dynamically relaxed in a periodic box (boundary p p p), in this process, some bonds crossed the boundary. After relaxation, output the configuration taking advantage of “write_data” command. In the second step, we add some crosslinking in the system and input the configuration (including the atoms coordinates, image flags, velocities, bonds, angles) in LAMMPS to do relaxation again, output the second relaxation results using “write_data” command. Third, delete the bonds in x direction of the output configuration, modify the boundary condition in x redirection to shrink (s) and keep y z direction periodic (boundary s p p), fixed the x boundary in a set width, then move the fixed boundary in x direction to deform the system.

Because the system is a sparse system and tensile stress in the range of 0-1 MPa, I used fix langevin to control temperature in overall process (relaxation and deformation), using fix deform cannot obtain the stress directly.

In my simulations, I found initial stress cannot be eliminated through increasing relaxation time (Which cased by the off-balance of crosslink). I think the bonds crossed the boundary in y and z direction will affect the dynamic relaxation so that the initial stress cannot be elimiated. How to deal with the problem that the output relaxed configuration having bonds crossed boundary and that will as the input configuration to simulated stretching deformation.

The LAMMPS version is May 05, 2020.

Any advices or suggestions will be appreciated!

Hi! If you do not want bonds to cross the boundaries, I recommend using fix wall/reflect to set up reflective walls at the boundary. Something like this should work:
#Prevent atoms from crossing boundary
variable xlow equal xlo
variable xhigh equal xhi
variable ylow equal ylo
variable yhigh equal yhi
variable zlow equal zlo
variable zhigh equal zhi
fix walls all wall/reflect xlo v_xlow xhi v_xhigh ylo v_ylow yhi v_yhigh zlo v_zlow zhi v_zhigh

Hi Pisani,
Thanks for your advice! I will try your method to deal with my problem.
Bo Gong

Will Pisani <[email protected]> 于2020年12月18日周五 上午1:08写道: