# 3D Peridynamic simulation with virtual projectile traveling in -z
# modified slightly from in.peri to break asymetry and visualize stress
units si
dimension 3
boundary s s s
atom_style peri
atom_modify map array
neighbor 0.0010 bin
# Create target
lattice sc 0.0005
region target cylinder z 0.0 0.0 0.100 -0.0020 0.0 units box
create_box 1 target
create_atoms 1 region target
pair_style peri/pmb
pair_coeff * * 1.6863e22 0.00125 0.0005 0.25 # <type1> <type2> <c> <horizon> <s00> <alpha>
set group all density 2200
set group all volume 1.25e-10 # volume = lattice constant^3
velocity all create 1 12345
thermo 25
fix F1 all nve
displace_atoms all random 0.00075 0.00075 0.00075 12345
reset_timestep 0
# Virtual spherical indenter to break target
variable z0 equal 0.00510
variable vz equal -100
variable z equal "v_z0 + step*dt*v_vz"
fix F2 all indent 1e17 sphere 0 0 v_z 0.0050 units box
# Compute damage and stress for each particle
compute C1 all damage/atom
compute stress all stress/atom NULL
timestep 1e-7
dump D1 all custom 5 dump.periT1_d125_r100_t002_v100.* id type x y z c_C1 c_stress[1] c_stress[2] c_stress[3]
run 2500
# Original LAMMPS distribution "in.peri" example
# small Peridynamic cylinder hit by projectile
variable name string peridynamics2
units si
boundary s s s
atom_style peri
atom_modify map array
neighbor 0.0010 bin
# small target
lattice sc 0.0005
region target cylinder y 0.0 0.0 0.075 -0.005 0.0 units box
create_box 1 target
create_atoms 1 region target
pair_style peri/pmb
pair_coeff * * 1.6863e22 0.0015001 0.0005 0.25
set group all density 2200
set group all volume 1.25e-10
velocity all set 0.0 0.0 0.0 sum no units box
fix 1 all nve
# spherical indenter to shatter target
variable y0 equal 0.00155
variable vy equal -100
variable y equal "v_y0 + step*dt*v_vy"
fix 2 all indent 1e17 sphere 0.0000 v_y 0.0000 0.0015 units box
compute 1 all damage/atom
timestep 0.1e-7
thermo 100
dump 1 all custom 50 dump.${name}.* id type x y z vx vy vz c_1
#dump 1 all custom 100 dump.peri id type x y z c_1
#dump 2 all image 50 image.*.jpg type type &
# axes yes 0.8 0.02 view 80 -30 adiam 0.0006
#dump_modify 2 pad 4
#dump 3 all movie 50 movie.mpg type type &
# axes yes 0.8 0.02 view 80 -30 adiam 0.0006
#dump_modify 3 pad 4
run 20000