Peridynamics

Hi,

I am trying to use peridynamics for crack simulation in lammps. I have couple of questions:

1- How can I simulate a 2D model? considering the SC lattice is a 3D one.

2- In my model, as I read the previous comments in lammps related to peridynamic, neighbor exclude is not a good option for creating a defect. Now I delete atoms but do you have any better suggestions for creating an internal crack in the model? Because it seems to me that I have to delete many rows of atoms(>horizon) in order to have a defect in the model.

3- My model works fine with PMB but when I change it to LPS it gives me an error related to neighbor bin?

Thanks for your help

Ramin Ghelichi

This is my file:

small Peridynamic cylinder hit by projectile

dimension 3
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 block -0.02 0.02 -0.01 0.01 -0.00075 0.00075 units box
create_box 1 target
create_atoms 1 region target

pair_style peri/pmb
#pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 #lps
pair_coeff * * 1.6862e22 0.0015001 0.0005 0.25 #pmb
set group all density 2200
set group all volume 1.25e-10

region 1 block INF INF INF -0.009 INF INF units box
group lower region 1
region 2 block INF INF 0.009 INF INF INF units box
group upper region 2
group boundary union lower upper
group mobile subtract all boundary

region leftcrack block -0.01 -0.005 -0.003 -0.001 INF INF units box
group crack1 region leftcrack
delete_atoms group crack1

region rightcrack block 0.005 0.01 0.001 0.003 INF INF units box
group crack2 region rightcrack
delete_atoms group crack2

velocity all set 0.0 0.0 0.0 sum no units box
fix 1 all nve

spherical indenter to shatter target

compute new mobile temp
velocity mobile create 1 887723 temp new units box
velocity upper set 0.0 1 0.0 units box
velocity mobile ramp vy 0.0 1e-2 y -0.009 0.009 units box

#fix 2 upper aveforce 0.0 0.001 0.0
fix 3 boundary setforce 0.0 NULL 0.0

compute 1 all damage/atom
compute stressatom all stress/atom

timestep 1.0e-7
thermo 1000

dump 1 all custom 1000 dump.peri id type xs ys zs vx vy vz fx fy fz c_1
dump image all cfg 10000 peri_.cfg id type xs ys zs c_1
#c_stressatom[1] c_stressatom[2] c_stressatom[3] c_stressatom[4] c_stressatom[5] c_stressatom[6]
#dump 2 upper custom 10000 tmp2.
id x y z vx vy vz

run 40000

Hi,

I am trying to use peridynamics for crack simulation in lammps. I have
couple of questions:

1- How can I simulate a 2D model? considering the SC lattice is a 3D one.

are you talking about a true 2d model through the dimension keyword in
LAMMPS or just a 2d periodic slab system?

in the former case, you can use sq or sq2 as indicated in the
documentation of the lattice command in the latter case you just need
to define a suitably thin region to create your atoms in.

2- In my model, as I read the previous comments in lammps related to
peridynamic, neighbor exclude is not a good option for creating a defect.
Now I delete atoms but do you have any better suggestions for creating an
internal crack in the model? Because it seems to me that I have to delete
many rows of atoms(>horizon) in order to have a defect in the model.

mind you. in peridynamics, the particles you simulate are not really
atoms. it is difficult to discuss this without seeing what you are
trying to do. i'm copying the developer of the PERI package. perhaps
he has some suggestion.

3- My model works fine with PMB but when I change it to LPS it gives me an
error related to neighbor bin?

again, without an option to easily reproduce the issue, it is
difficult to give any recommendation. it could be anything from a bad
configuration, bad choice of parameters, bad neighborlist settings to
a bug in the software. in that context is is also very important to
know the exact version of LAMMPS, what kind of machine it is being run
on and with which settings it was compiled.

axel

Thanks for the answer:

1- 2D problem is solved I had the sandia instruction for peridynamic it has mentioned just SC lattice (3D).

2- I delete two rectangle as cracks in my model which is not really what I want.

3- These are the coefficient that I used for two different models:
neighbor 0.0010 bin

lattice sc 0.0005

-OR-

pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 #lps
-OR-
pair_coeff * * 1.6862e22 0.0015001 0.0005 0.25 #pmb

and the lammps version is 11 Jan 2013!

The machine : Microway Xeon Master 120 CPUs

I’ll also mention that PD is parameterized for 3d
models. Things like bond strength, cutoffs, etc.
So you can run a 2d model but it may
make little physical sense.

Steve

Thanks for the reply. After few trials with 2D I felt something is wrong. Thanks for your email.
Still my most important issue is how I can make a defect, or more accurate “a crack”, in PD simulation by lammps. It seems to me I have to delete many rows more than the horizon to have a defect in the system am I wrong?

Thank you again for your helps.

Ramin

Ramin,

You can do 2D simulations, but you have to be careful about your choice of micromodulus (the parameter “c” in the PMB pair style.) If you look at equation (2.6) in this paper (http://projecteuclid.org/euclid.cms/1199377554) you’ll see values for c in 1D, 2D, and 3D. Set up your input deck as if you are doing a 3D simulation, use a SC lattice, but make your computational domain thin enough in one dimension that you are left with a single plane of PD particles. Note that the resulting material will have a Poisson ratio of 1/3. I’ve not given a lot of thought to running the LPS model in 2D.

For an example of how one can introduce a crack in a domain (in 2D or 3D) without removing particles, create three types of atoms, as in the following sketch:

Thanks Mike for your help.

Regards,

Ramin