velocity tension problem

Hi, everyone,
I am simulating tension with Lammps by the velocity method. But why it always breaks at the position close to where the load applied? Here is the input code. THanks very much.

boundary s s s
units metal
atom_style atomic
neighbor 2.0 bin
neigh_modify delay 1 check yes

create geometry

#create geometry
lattice fcc 3.61
region box block 0 6 0 40 0 6
create_box 1 box
create_atoms 1 box
mass 1 63.546


pair_style eam
pair_coeff * * Cu_u3.eam

variable L equal 144.6

#define groups
region 1 block INF INF 0 14.46 INF INF units box
group lower region 1
region 2 block INF INF 130.14 144.6 INF INF units box
group upper region 2
group boundary union lower upper
group mobile subtract all boundary

velocity all create 0.01 511124 rot yes mom yes
compute peratom all stress/atom pair virial

define computes

compute s all stress/atom
compute strea all reduce sum c_s[1]
variable stressa equal c_strea/vol
compute streb all reduce sum c_s[2]
variable stressb equal c_streb/vol
compute strec all reduce sum c_s[3]
variable stressc equal c_strec/vol

reset_timestep 0
timestep 0.005

thermo 2000
thermo_style custom step temp etotal vol lx ly lz press v_stressa v_stressb v_stressc
fix relax all nvt temp 0.01 0.01 0.01

run 500

timestep 0.005

unfix relax

variable upper_vel equal 0.04
velocity lower set 0.0 0.0 0.0
fix 3 boundary setforce 0.0 0.0 0.0

velocity upper set 0.0 {upper_vel} 0.0 units box velocity mobile ramp vy 0 {upper_vel} y 14.46 130.14 sum yes units box

fix fix1 mobile nvt temp 0.01 0.01 0.01
fix fix2 boundary nve

dump 1 all atom 1000 dump.lammpstrj
run 500000

A lot of places can go wrong:

  1. tdamp is too small for fix nvt,
  2. timestep may be too large for such strain rate,
  3. strain rate may be too high (moving 1 angstrom in 8 steps sounds a bit high),
  4. incorrectly applied fix nve to the rigid moving boundary.