in.peri_projectile

# 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