Enquiry on tensile simulation

Dear all,

I am now simulating the uniaxial tension of a two-layer structure (figure bellow). The lower region was set fixed, and the upper region was set to move with certain strain rate in +z direction. Two commands have been tried for this purpose, the “fix deform” command and the “change_box” command. However, neither of these commands give the correct result. The lammps version I use is the LAMMPS 64-bit 12Dec2018.

Outlook-3if41jsz.png

For the “fix deform” command, the scripts are as follows,

##############TENSILE SIMULATION#######################

reset_timestep 0

neighbor 0.3 bin

neigh_modify every 1 delay 10 check yes

timestep 1

fix 2 all nvt temp 298.15 298.15 100.0
region lower block INF INF INF INF INF 5.0

region upper block INF INF INF INF 35.0 INF

group lower region lower

group upper region upper

velocity lower set 0 0 0 units box

fix 3 lower setforce 0 0 0

fix 4 all deform 1 z erate 1e-5 units box remap x
thermo_style custom step temp lx ly lz press pxx pyy pzz pe

thermo 100

run 50000

During the simulation, only the lattice boundary increased in z direction, while the atoms almost didn’t move with the lattice.

For the “change_box”, a loop was applied, the scripts are shown as bellow,

###############TENSILE SIMULATION################

variable strain equal 0.001

variable lz1 equal lz

variable lz0 equal ${lz1}

variable lzdelta equal “v_strain*v_lz0/2”

region lower block INF INF INF INF INF 5 units box

region upper block INF INF INF INF 35 INF units box

group lower region lower

group upper region upper

fix 2 lower setforce 0 0 0

fix 3 upper setforce 0 0 0

variable nloop equal 500

variable a loop ${nloop}

label loop
change_box upper z delta 0 ${lzdelta} remap units box

minimize 1.0e-35 1.0e-35 10000 100000

run 1

next a

jump TensileMD3.txt loop

unfix equil1

The tensile simulation was realized using this command, however, the tensile stress kept increasing even after the two layers separated.

I have searched in the Lammps mail-list and tried to modify these command many times, but still cannot solve it.
Can anyone give me some suggestions?

Thank you very much!

Best regards,
Kevin

Dear all,

I am now simulating the uniaxial tension of a two-layer structure (figure bellow). The lower region was set fixed, and the upper region was set to move with certain strain rate in +z direction. Two commands have been tried for this purpose, the “fix deform” command and the “change_box” command. However, neither of these commands give the correct result. The lammps version I use is the LAMMPS 64-bit 12Dec2018.

neither approach makes sense. changing the box dimensions to induce strain is only meaningful for a bulk system with periodic boundaries where then the force inducing the strain is caused by the dilated atoms. however for a non-periodic system like yours, you have to apply an explicit force or an explicit displacement (without ability to relax) to part of the system. moreover, you are deforming the whole system and thus displacing atoms of the part that is not supposed to move, and therefore are causing bogus contributions to the stress from that part.

axel.

Dear Dr. Axel Kohlmeyer,

Thank you for the suggestion. I have also tried the “velocity” command, please see the scripts below,

Tensile simulation

reset_timestep 0

neighbor 0.3 bin

neigh_modify every 1 delay 10 check yes

timestep 1
fix 2 all nvt temp 298.15 298.15 100.0
region lower block INF INF INF INF INF 5.0

region upper block INF INF INF INF 35.0 INF

group lower region lower

group upper region upper

velocity lower set 0 0 0 units box

fix 3 lower setforce 0 0 0

velocity upper set 0 0 10 units box

fix 4 upper setforce 0 0 0

group middle subtract all upper lower

fix 5 middle nve

thermo_style custom step temp vol press pe etotal

thermo 100

run 10000

The upper region of the molecules moved upward a little bit at the beginning, however, the molecules then stayed there and did not move later.
In addition, the temperature decreased to almost zero within just a few hundred timesteps.
The result is similar if I delete the line “fix 4 upper setforce 0 0 0”.

Could you please give me some tips.

Best regards,
Kevin

Outlook-3if41jsz.png

the velocity command is a one time effect. after that, the forces that those atoms experience will make it vanish. to make it persist, you have to ensure, that those atoms do not experience forces. or use fix move to time integrate those atoms instead of fix nvt.

axel.

Outlook-3if41jsz.png