[lammps-users] tension in lammps-periodic BC

Hello all,
I wanted to perform tensile loading on my system along x direction using fix deform erate and fix nvt. My boundary condition are periodic and but as you see in the attached file the atoms close to boundary do not move in x direction (I did use remap x in the fix deform erate). It feels very strange and not sure why I face this problem. Any suggestions?
Best,
Sepi

1.avi (519 KB)

Posting a video to a mailing is almost always pointless and a massive waste of bandwidth. A few selected images are usually better.
However, without the corresponding input it is not possible to make any suggestions as it is not possible to infer all your input settings from your visuals.
You don’t want people to speculate which has a very high risk of being wrong.

Axel,
Following is my input file:
Best,
Sepi

MD simulation

log tension.log
units metal
dimension 3
boundary p p p ###check direction

atom_style full
neigh_modify every 1 delay 0 check yes

pair_style buck/coul/cut 10.0
pair_modify shift yes mix arithmetic
read_data …/data ## check filename
pair_coeff 1 1 22764.3 0.149 27.89
pair_coeff 1 2 826.744 0.35587 0.0
pair_coeff 1 3 1453.8 0.35 0.0
pair_coeff 2 2 0.0 1.0 0.0
pair_coeff 2 3 0.0 1.0 0.0
pair_coeff 3 3 0.0 1.0 0.0

region up block INF INF INF INF 205.0 INF units box ## check dimension and direction
region low block INF INF INF INF INF -205.0 units box ## check dimension and direction
region core block -90.19 90.19 -90.19 90.19 -195.8 195.8 units box ## check dimension and direction

group up region up
group low region low
group core region core
group boundary union up low
group mobile subtract all boundary
group shell subtract mobile core

compute new all temp
timestep 0.001
compute new2 all temp

fix npt all npt temp 298 298 0.01 aniso 0 0 0.5

variable mratio equal “count(all)/count(all)”
variable vv equal “vol”
print “{vv}" print "{mratio}”
variable mvol equal {vv}*{mratio}
print “${mvol}”
compute m1 all stress/atom NULL
compute m1tot all reduce sum c_m1[1] c_m1[2] c_m1[3] c_m1[4] c_m1[5] c_m1[6]
compute m2 all pe/atom
compute m2tot all reduce ave c_m2
compute m3 core pe/atom
compute m3tot core reduce ave c_m3
compute m4 shell pe/atom
compute m4tot shell reduce ave c_m4

variable ppx equal c_m1tot[1]
variable ppy equal c_m1tot[2]
variable ppz equal c_m1tot[3]

thermo_style custom step temp pe etotal vol v_ppx v_ppy v_ppz pxx pyy pzz lx ly lz c_m2tot c_m3tot c_m4tot
thermo_modify flush yes
thermo 100

dump 1 all xyz 10000 eq.xyz
restart 100000 *_eq1.restart
run 100000
unfix npt
undump 1

reset_timestep 0
timestep 0.001

fix f1 all deform 1 x erate -0.001 units box remap x
fix nvt all nvt temp 298 298 0.1
dump snap all cfg 1000 traj/dump.config.*.cfg mass type xs ys zs vx vy vz id q c_m1[1] c_m1[2] c_m1[3] c_m1[4] c_m1[5] c_m1[6]
dump 1 all xyz 1000 dump_new.xyz
restart 50000 *.restart
run 50000

Posting a video to a mailing is almost always pointless and a massive waste of bandwidth. A few selected images are usually better.
However, without the corresponding input it is not possible to make any suggestions as it is not possible to infer all your input settings from your visuals.
You don’t want people to speculate which has a very high risk of being wrong.

this is the input file for compression. The tension’s is the same but setting 0.001 as erate.
Best,
Sepi

Axel,
Following is my input file:
Best,
Sepi

MD simulation

log tension.log
units metal
dimension 3
boundary p p p ###check direction

atom_style full
neigh_modify every 1 delay 0 check yes

pair_style buck/coul/cut 10.0
pair_modify shift yes mix arithmetic
read_data …/data ## check filename
pair_coeff 1 1 22764.3 0.149 27.89
pair_coeff 1 2 826.744 0.35587 0.0
pair_coeff 1 3 1453.8 0.35 0.0
pair_coeff 2 2 0.0 1.0 0.0
pair_coeff 2 3 0.0 1.0 0.0
pair_coeff 3 3 0.0 1.0 0.0

region up block INF INF INF INF 205.0 INF units box ## check dimension and direction
region low block INF INF INF INF INF -205.0 units box ## check dimension and direction
region core block -90.19 90.19 -90.19 90.19 -195.8 195.8 units box ## check dimension and direction

group up region up
group low region low
group core region core
group boundary union up low
group mobile subtract all boundary
group shell subtract mobile core

compute new all temp
timestep 0.001
compute new2 all temp

fix npt all npt temp 298 298 0.01 aniso 0 0 0.5

variable mratio equal “count(all)/count(all)”
variable vv equal “vol”
print “{vv}" print "{mratio}”
variable mvol equal {vv}*{mratio}
print “${mvol}”
compute m1 all stress/atom NULL
compute m1tot all reduce sum c_m1[1] c_m1[2] c_m1[3] c_m1[4] c_m1[5] c_m1[6]
compute m2 all pe/atom
compute m2tot all reduce ave c_m2
compute m3 core pe/atom
compute m3tot core reduce ave c_m3
compute m4 shell pe/atom
compute m4tot shell reduce ave c_m4

variable ppx equal c_m1tot[1]
variable ppy equal c_m1tot[2]
variable ppz equal c_m1tot[3]

thermo_style custom step temp pe etotal vol v_ppx v_ppy v_ppz pxx pyy pzz lx ly lz c_m2tot c_m3tot c_m4tot
thermo_modify flush yes
thermo 100

dump 1 all xyz 10000 eq.xyz
restart 100000 *_eq1.restart
run 100000
unfix npt
undump 1

reset_timestep 0
timestep 0.001

fix f1 all deform 1 x erate -0.001 units box remap x
fix nvt all nvt temp 298 298 0.1
dump snap all cfg 1000 traj/dump.config.*.cfg mass type xs ys zs vx vy vz id q c_m1[1] c_m1[2] c_m1[3] c_m1[4] c_m1[5] c_m1[6]
dump 1 all xyz 1000 dump_new.xyz
restart 50000 *.restart
run 50000

Posting a video to a mailing is almost always pointless and a massive waste of bandwidth. A few selected images are usually better.
However, without the corresponding input it is not possible to make any suggestions as it is not possible to infer all your input settings from your visuals.
You don’t want people to speculate which has a very high risk of being wrong.

it would be helpful to also see the log file that goes with it.

Please find attached.
Sepideh

it would be helpful to also see the log file that goes with it.

tension.log (24 KB)

The log file does not match the input. Overall the way how you present your case is so disorganized and inconsistent that I cannot trust whether either matches the movie.

More importantly you are thermostatting atoms twice which is a very, very bad thing and on top of that you are using fix temp/resale with settings that render the temperature in the thermo outout useless and are generally bad settings.
In addition, fix temp/rescale should never ever be used for a meaningful production calculation.

Under such circumstances your results cannot be trusted and I cannot and do not care to further discuss your simulation or try to give advice.

Axel