How to apply Less Edwards Boundary Condition in packing?

Submitted by laudari on Mon, 12/13/2021 - 12:19

Hello LIGGGHTS users.

I have to apply Less Edwards Boundary Condition in one off my simulation.

Right now I got a script from LIGGGHTS packing example.

I tried to modified it.

My script looks like this

```
#Particle packing by insertion and successive growing of particles

atom_style granular
atom_modify map array
boundary m m m
newton off
#echo both
communicate single vel yes
units si
#box tilt small

###################################System variables##################################################################
#Definition of boundaries
variable xmin equal -0.05
variable xmax equal 0.05 #Extension of the simulation box in x direction to have space for a second ground

variable ymin equal -0.05
variable ymax equal 0.05

variable zmin equal 0.00
variable zmax equal 0.15

#Definition of the timestep

variable dt equal 0.00001 #timestep = 1e-5 second; Each iteration step represents 0.0001 seconds.

###################################Specific variables for current simulation#########################################

variable natoms equal 2 #1 -> particle #2->hopper,frame and ground, lid

####variable for material properties####

####Young Modulus####
variable youngmodulus1 equal 5.e6 #N/mm²
variable youngmodulus2 equal 5.e6 #N/mm²

####Poission ratio####
variable poission1 equal 0.45
variable poission2 equal 0.45

####variable for contact properties####

####coefficient of restitution####
variable CoR11 equal 0.5
variable CoR12 equal 0.8
variable CoR21 equal 0.8
variable CoR22 equal 0.5

####sliding friction coefficient####
variable sf11 equal 0.6
variable sf12 equal 0.6
variable sf21 equal 0.6
variable sf22 equal 0.6

####rolling friction coefficient####
variable rf11 equal 0.6
variable rf12 equal 0.6
variable rf21 equal 0.6
variable rf22 equal 0.6

####k_finnie peratomtypepair####
variable KfP11 equal 0.5
variable KfP12 equal 0.5
variable KfP21 equal 0.5
variable KfP22 equal 0.5

####variable for particle####

#Number of particle radius
variable nradii equal 2

variable radius1 equal 0.005 #m
variable radius2 equal 0.005 #m

variable frac1 equal 0.5 #50%
variable frac2 equal 0.5 #50%

variable density equal 3000 #kg/m³

###################################Definition of simulationbox#######################
region reg block ${xmin} ${xmax} ${ymin} ${ymax} ${zmin} ${zmax} units box
create_box 2 reg

neighbor 0.002 bin #default
neigh_modify delay 0 #default

###################################Definition of cohesionEnergy Density#############

variable CeD11 equal 100000
variable CeD12 equal 100000
variable CeD21 equal 100000
variable CeD22 equal 100000

#Material properties required for new pair styles

################################### gradually growing particle diameter #########################################
#parameters for gradually growing particle diameter
variable alphastart equal 0.25
variable alphatarget equal 0.67
variable growts equal 50000
variable growevery equal 40
variable relaxts equal 10000

#change_box all x scale 1.1 y volume z volume remap

###################################Definition of Material properties#################################################
#Material properties required for new pair styles
fix m1 all property/global youngsModulus peratomtype ${youngmodulus1} ${youngmodulus2}
fix m2 all property/global poissonsRatio peratomtype ${poission1} ${poission2}
fix m3 all property/global coefficientRestitution peratomtypepair ${natoms} ${CoR11} ${CoR12} ${CoR21} ${CoR22}
fix m4 all property/global coefficientFriction peratomtypepair ${natoms} ${sf11} ${sf12} ${sf21} ${sf22}
fix m5 all property/global coefficientRollingFriction peratomtypepair ${natoms} ${rf11} ${rf12} ${rf21} ${rf22}
fix m6 all property/global k_finnie peratomtypepair ${natoms} ${KfP11} ${KfP12} ${KfP21} ${KfP22}
fix m7 all property/global characteristicVelocity scalar 2. # Required for hooke model
fix m8 all property/global cohesionEnergyDensity peratomtypepair ${natoms} ${CeD11} ${CeD12} ${CeD21} ${CeD22} # <--- This is the density for cohesion energy

#################################Definition of the contact models####################################################
#New pair style

pair_style gran model hertz tangential history cohesion sjkr #Hertzian with cohesion
#pair_style gran model hertz tangential history #Hertzian without cohesion
pair_coeff * *

timestep ${dt} #default 0.00001

fix gravi all gravity 9.81 vector 0.0 0.0 -1.0

###########Define primitive wall#######################################################

fix xwalls1 all wall/gran model hertz tangential history cohesion sjkr primitive type 1 xplane ${xmin}
fix xwalls2 all wall/gran model hertz tangential history cohesion sjkr primitive type 1 xplane ${xmax}
fix ywalls1 all wall/gran model hertz tangential history cohesion sjkr primitive type 1 yplane ${ymin}
fix ywalls2 all wall/gran model hertz tangential history cohesion sjkr primitive type 1 yplane ${ymax}
fix zwalls1 all wall/gran model hertz tangential history cohesion sjkr primitive type 1 zplane ${zmin} #buttom
fix zwalls2 all wall/gran model hertz tangential history cohesion sjkr primitive type 1 zplane ${zmax} #top

#fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 0.05 0. 0.

###################################Generation and Insertion of the particles#########################################
#distributions for insertion
fix pts1 all particletemplate/sphere 15485863 atom_type 1 density constant ${density} radius constant ${radius1}
fix pts2 all particletemplate/sphere 15485867 atom_type 1 density constant ${density} radius constant ${radius2}
fix pdd1 all particledistribution/discrete 32452843 ${nradii} pts1 ${frac1} pts2 ${frac2}

###################################Generation Insertion area #########################################

#region and insertion
group nve_group region reg

#particle insertion
fix ins nve_group insert/pack seed 32452867 distributiontemplate pdd1 &
maxattempt 3000 insert_every once overlapcheck yes all_in yes vel constant 0. 0. 0. &
region reg volumefraction_region ${alphastart}

###################################Thermodynamics properties ############################
#apply nve integration to all particles that are inserted as single particles
fix integr nve_group nve/sphere

#output settings, include total thermal energy
compute 1 all erotate/sphere
thermo_style custom step atoms ke c_1 vol
thermo 1000
thermo_modify lost ignore norm no

###################################Dumping of the data for post-processing to visualize############################

#insert the first particles
run 1
dump dmp all custom/vtk 350 post/packing_*.vtk id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius

dump dmp0 all custom 1000 all/dump*.data id type x y z vx vy vz fx fy fz omegax omegay omegaz radius
unfix ins

#calculate grow rate
#variable Rgrowrate equal (${alphatarget}/${alphastart})^(${growevery}/(3.*${growts}))
#print "The radius grow rate is ${Rgrowrate}"
#do the diameter grow
#compute rad all property/atom radius

#variable dgrown atom ${Rgrowrate}*2.*c_rad
#fix grow all adapt ${growevery} atom diameter v_dgrown

#run
#run ${growts}

#let the packing relax
unfix grow
run ${relaxts} upto

```

So my purpose is to apply Less Edwawrds Boundary Condition and calculate moving stress and pressure.

I found some references in LIGGGHTS homepage but didn't get exact idea.

I also found that people suggested to use Triclinic box and deform command but I could't apply thme in my code.

Can I get some help to apply such condition so that I could get Less Edwards boundary Condition simulatuion ?

Thank you