# 3D Silicon crack simulation using Stillinger-Weber
variable name string ex_crack_Si_long
dimension 3
boundary s s p
units metal
atom_style atomic
neighbor 0.3 bin
neigh_modify delay 5
# create geometry
lattice diamond 5.43
region box block 0 35 0 35 -15 15 units lattice
create_box 5 box
create_atoms 1 box
mass 1 1.0
mass 2 1.0
mass 3 1.0
mass 4 1.0
mass 5 1.0
pair_style sw
pair_coeff * * Si.sw Si Si Si Si Si
# define groups
fix 1 all nve
run 0
variable topbound equal yhi-2
variable botbound equal ylo+2
region 1 block INF INF INF ${botbound} INF INF units box
group lower region 1
region 2 block INF INF ${topbound} INF INF INF units box
group upper region 2
group boundary union lower upper
group mobile subtract all boundary
variable quarter equal xhi/6
variable half equal xhi/2
region leftupper block INF ${quarter} ${half} INF INF INF units box
region leftlower block INF ${quarter} INF ${half} INF INF units box
group leftupper region leftupper
group leftlower region leftlower
set group leftupper type 2
set group leftlower type 3
set group lower type 4
set group upper type 5
# initial velocities
compute new mobile temp
velocity mobile create 5 887723 temp new
velocity upper set 0.0 0.25 0.0
compute stress all stress/atom NULL
# fixes
fix 2 boundary setforce NULL 0.0 NULL
dump 1 all custom 50 dump.${name}.* id type x y z vx vy vz c_stress[1] c_stress[2] c_stress[3]
# run
timestep 0.001
thermo 200
thermo_modify temp new
neigh_modify exclude type 2 3
run 20000
# Original LAMMPS distribution "in.crack" example
# 2d LJ crack simulation
dimension 2
boundary s s p
atom_style atomic
neighbor 0.3 bin
neigh_modify delay 5
# create geometry
lattice hex 0.93
region box block 0 100 0 40 -0.25 0.25
create_box 5 box
create_atoms 1 box
mass 1 1.0
mass 2 1.0
mass 3 1.0
mass 4 1.0
mass 5 1.0
# LJ potentials
pair_style lj/cut 2.5
pair_coeff * * 1.0 1.0 2.5
# define groups
region 1 block INF INF INF 1.25 INF INF
group lower region 1
region 2 block INF INF 38.75 INF INF INF
group upper region 2
group boundary union lower upper
group mobile subtract all boundary
region leftupper block INF 20 20 INF INF INF
region leftlower block INF 20 INF 20 INF INF
group leftupper region leftupper
group leftlower region leftlower
set group leftupper type 2
set group leftlower type 3
set group lower type 4
set group upper type 5
# initial velocities
compute new mobile temp
velocity mobile create 0.01 887723 temp new
velocity upper set 0.0 0.3 0.0
velocity mobile ramp vy 0.0 0.3 y 1.25 38.75 sum yes
# fixes
fix 1 all nve
fix 2 boundary setforce NULL 0.0 0.0
# run
timestep 0.003
thermo 200
thermo_modify temp new
neigh_modify exclude type 2 3
#dump 1 all atom 500 dump.crack
#dump 2 all image 250 image.*.jpg type type &
# zoom 1.6 adiam 1.5
#dump_modify 2 pad 4
#dump 3 all movie 250 movie.mpg type type &
# zoom 1.6 adiam 1.5
#dump_modify 3 pad 4
run 5000
Return to main LAMMPS Tutorials page.