[Moved from CFDEM(R)workbench forum] Keep DEM pack constant

Submitted by astral1000 on Sat, 01/19/2019 - 02:29

Hello,

Does anybody know why when I change
fix id all property/global surfaceTension scalar "value"
or
fix id all property/global contactAngle peratomtyp "value"
I have a different distribution of particles in my pack.
And maybe you guys know how to keep it constant?
Here are my LIGGGHTS codes for CFDEM.

in.liggghts_run

echo both
log ../DEM/log.liggghts
thermo_log ../DEM/post/thermo.txt

atom_style granular
atom_modify map array
communicate single vel yes

boundary m m m
newton off

units si
processors 2 2 1

# read the restart file
read_restart ../DEM/post/restart/liggghts.restart

neighbor 0.0000000000001 bin
neigh_modify delay 0

# Material properties required for granular pair styles

fix m1 all property/global youngsModulus peratomtype 5.e6
fix m2 all property/global poissonsRatio peratomtype 0.45
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5

fix m5 all property/global contactAngle peratomtype 15
fix m6 all property/global surfaceLiquidContentInitial scalar 0.1
fix m7 all property/global surfaceTension scalar 0.0728
fix m8 all property/global fluidViscosity scalar 0.00534
fix m9 all property/global maxSeparationDistanceRatio scalar 1.1
fix m10 all property/global minSeparationDistanceRatio scalar 1.01

# pair style
pair_style gran model hertz tangential history cohesion easo/capillary/viscous # Hertzian without cohesion
pair_coeff * *

# timestep, gravity
timestep 0.00001
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0

# walls
fix zwalls1 all wall/gran model hertz tangential history cohesion easo/capillary/viscous primitive type 1 zplane 0.0
fix zwalls2 all wall/gran model hertz tangential history cohesion easo/capillary/viscous primitive type 1 zplane 0.025
fix cylwalls all wall/gran model hertz tangential history cohesion easo/capillary/viscous primitive type 1 zcylinder 0.00565685424949238019520675489684 0. 0.

# cfd coupling
fix cfd all couple/cfd couple_every 100 mpi
fix cfd2 all couple/cfd/force/implicit
#fix cfd2 all couple/cfd/force/accumulator RongDrag 10 1.5e-3
#fix cfd2 all couple/cfd/force/implicit/accumulated #CrankNicolson 0.5

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

# center of mass
compute centerOfMass all com

# compute explicit dragforce
compute explDrag all reduce update_on_run_end yes sum f_dragforce[1] f_dragforce[2] f_dragforce[3]
compute cpgl all pair/gran/local pos vel force force_normal contactArea force_tangential

# sum of explicit and implicit drag force given from CFD to DEM
variable totalDragX equal f_cfd2[1]
variable totalDragY equal f_cfd2[2]
variable totalDragZ equal f_cfd2[3]

# explicit drag force given from CFD to DEM
variable explicitDragX equal c_explDrag[1]
variable explicitDragY equal c_explDrag[2]
variable explicitDragZ equal c_explDrag[3]

variable time equal step*dt
fix extra all print 10 "${time} ${explicitDragX} ${explicitDragY} ${explicitDragZ} ${totalDragX} ${totalDragY} ${totalDragZ}" file ../DEM/post/forces.txt title "# time expDrag(X Y Z) totDrag(X Y Z)"

# screen output
compute rke all erotate/sphere
thermo_style custom step atoms ke c_rke vol c_centerOfMass[3] c_explDrag[1] c_explDrag[2] c_explDrag[3] f_cfd2[1] f_cfd2[2] f_cfd2[3]
thermo 10
thermo_modify lost ignore norm no
compute_modify thermo_temp dynamic yes

dump dmp all custom 5000 ../DEM/post/dump*.liggghts_run id type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
dump dmp2 all custom/vtk 1000 ../DEM/post/paraview_*.vtk id type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
dump dmp3 all local/gran/vtk 1000 ../DEM/post/forcechain*.vtk cpgl
#dump dmp all custom/vtk 5000 ../DEM/post/dump_liggghts_run.*.vtk id type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius

run 0

in.liggghts_init

echo both
log ../DEM/log.liggghts
thermo_log ../DEM/post/thermo.txt

atom_style granular
atom_modify map array
communicate single vel yes

boundary m m m
newton off

units si

region reg block -0.0057 0.0057 -0.0057 0.0057 -0.001 0.0251 units box
create_box 1 reg

neighbor 0.0000000000001 bin
neigh_modify delay 0

# Material properties required for granular pair styles

fix m1 all property/global youngsModulus peratomtype 5.e6
fix m2 all property/global poissonsRatio peratomtype 0.45
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5

fix m5 all property/global contactAngle peratomtype 15
fix m6 all property/global surfaceLiquidContentInitial scalar 0.1
fix m7 all property/global surfaceTension scalar 0.0728
fix m8 all property/global fluidViscosity scalar 0.00534
fix m9 all property/global maxSeparationDistanceRatio scalar 1.1
fix m10 all property/global minSeparationDistanceRatio scalar 1.01

# pair style
pair_style gran model hertz tangential history cohesion easo/capillary/viscous # Hertzian without cohesion
pair_coeff * *

# timestep, gravity
timestep 0.00001
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0

# walls
fix zwalls1 all wall/gran model hertz tangential history cohesion easo/capillary/viscous primitive type 1 zplane 0.0
fix zwalls2 all wall/gran model hertz tangential history cohesion easo/capillary/viscous primitive type 1 zplane 0.025
fix cylwalls all wall/gran model hertz tangential history cohesion easo/capillary/viscous primitive type 1 zcylinder 0.00565685424949238019520675489684 0. 0.

# particle distributions and insertion
region bc cylinder z 0.0 0.0 0.005 0. 0.0245 units box
fix pts1 all particletemplate/sphere 15485863 atom_type 1 density constant 2000 radius constant 0.0005
fix pdd1 all particledistribution/discrete 15485867 1 pts1 1.0

fix ins all insert/pack seed 32452843 distributiontemplate pdd1 vel constant 0. 0. -1. insert_every 100 overlapcheck yes all_in yes particles_in_region 5000 region bc

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

# screen output
compute rke all erotate/sphere
thermo_style custom step atoms ke c_rke vol
thermo 1000
thermo_modify lost ignore norm no
compute_modify thermo_temp dynamic yes

# insert the first particles so that dump is not empty
run 1
dump dmp all custom 5000 post/dump.liggghts_init id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
dump dmp2 all custom/vtk 200 post/movingMesh_*.vtk id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius

run 50000
write_restart post/restart/liggghts.restart