Hi everyone,
I am trying to simulate the angle of repose test by lifting cylinder test, according to the paper by Thomas Roessler, "Scalability of angle of repose tests for the calibration of DEM parameter"
I have two questions:
1) When I tried to move my cylinder up to let the particles flow out, my particles do not flow out. The particles seem to be stuck with the cylinder . Does anyone know how to fix this?
2) I inserted the particle inside the imported cylinder by setting the region cylinder command and setting my region exactly like the imported cylinder. I am not sure if this is a right way to do it? Should I create an Insertionface and use the fix insert/stream instead? I am using gmsh to create my cylinder.stl. I do not know how to create the Insertionface by gmsh. I also dont have the SolidWorks account, what software do you use to create CAD STL mode?
I am a new LIGGGHTS learner so please help me!!
Thanks so much.
Thao
##Examples
atom_style		granular
boundary		m m m
units			si
communicate	single vel yes
newton			off
processors		2 3 1  
region			reg block 0 0.03 0 0.03 0 0.08 units box
create_box		2 reg
neighbor		0.003 bin # Depend on the radius chosen
neigh_modify	delay 0 
#Material properties required for new pair styles
# 2 Types of particles
fix 				m1 all property/global youngsModulus peratomtype 14000000 14000000
fix 				m2 all property/global poissonsRatio peratomtype 0.3 0.3
fix 				m3 all property/global coefficientRestitution peratomtypepair 2 0.2 0.2 0.2 0.2
fix 				m4 all property/global coefficientFriction peratomtypepair 2 0.5 0.36 0.36 0.5
fix 		        	m5 all property/global coefficientRollingFriction peratomtypepair 2 0.020 0.020 0.020 0.020
pair_style 		gran model hertz tangential history rolling_friction cdt 		#Hertzian without cohesion
pair_coeff		* *
fix				integrator all nve/sphere
fix				gravity all gravity 9.81 vector 0.0 0.0 -1.0
## Define variables
variable			timestep equal 3.6e-6
timestep		${timestep}
# Variables for filing parameters
variable			filltime equal 0.36 # 100000 timesteps
variable 		fillparticle equal 7000 # 7000 particles
variable 		fillparticlerate equal ${fillparticle}/${filltime}		# particles/s
variable			fillsteps equal ${filltime}/${timestep} 			# always transform rate into timesteps
# #Settle time: allowing the particles to settle after filling
variable			settletime equal 0.18 # 50000 timesteps
variable			settlesteps equal ${settletime}/${timestep}
# Variables define open parameters of the cylinder
variable			liftingvelocity equal 0.032					#m/s, equal to 16 mm/s
variable			liftingtime equal 0.18 					#s, 50000 timesteps
variable			liftingsteps equal ${liftingtime}/${timestep}
# Discharge time
variable			dischargetime equal 0.18 					#s
variable			dischargesteps equal ${dischargetime}/${timestep}
# Generation and loading of geometry STL files
fix				cylinder all mesh/surface file smallcylinder.stl type 2 scale 0.02 rotate axis 0 0 1 angle 180
fix 				walls all wall/gran model hertz tangential history rolling_friction cdt mesh n_meshes 1 meshes cylinder
# Generation and insertion of the particles # All fixed except recalculation of density X=1
fix		    		pts1 all particletemplate/sphere 32452843 atom_type 1 density constant 1660 radius constant 0.001
fix				pts2 all particletemplate/sphere 15485863 atom_type 1 density constant 1660 radius constant 0.0015
fix				pts3 all particletemplate/sphere 15485867 atom_type 1 density constant 1660 radius constant 0.002
fix				pts4 all particletemplate/sphere 32452867 atom_type 1 density constant 1660 radius constant 0.0022
fix		   		pdd1 all particledistribution/discrete 49979687 4 pts1 0.75 pts2 0.13 pts3 0.07 pts4 0.05
# Region for insertion
region			insertion cylinder z 0 0 0.02 0 0.06 units box
fix				ins all insert/rate/region seed 86028157 distributiontemplate pdd1 nparticles ${fillparticle} particlerate ${fillparticlerate} insert_every 1000 overlapcheck yes all_in yes vel constant 0. 0. -1.0 region insertion ntry_mc 10000
# Trial to use Insertionface and fix insert/stream
#fix				ins_mesh all mesh/surface/planar file Insertionface.stl type 1 scale 0.01 curvature 2.56235
#fix 			ins all insert/stream seed 86028157 distributiontemplate pdd1 &
        			nparticles ${fillparticle} particlerate ${fillparticlerate} overlapcheck yes all_in yes vel constant 0 0 -1.0 &
        			insertion_face ins_mesh extrude_length 0.02
#timestep input and check
fix				ts all check/timestep/gran 1 0.01 0.01			# for loop, fix/time/check should be placed after fix/couple/cfd
run				1
unfix			ts
#Definition of the dumptime
variable			dumptime equal 0.036
variable 		dumpsteps equal ${dumptime}/${timestep}
#Dumping particles and geometry
dump			dmpparticle all custom ${dumpsteps} post3/particels*.liggghts id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
dump			dmpcylinder all mesh/stl ${dumpsteps} post3/Cylinder*.stl cylinder
# Run
# Run the simulation filling
run 			${fillsteps}
unfix			ins
# Run the settlings
run				${settlesteps}
# Move the cylinder, how to move it upto certain height or displacement
fix 				movecylinder all move/mesh mesh cylinder linear 0 0 ${liftingvelocity}
run				${liftingsteps}
unfix			movecylinder
# Run the simulation outflow
run				${dischargesteps}
write_restart 		liggghts.restartparticleinsertion
| Attachment | Size | 
|---|---|
| 1.88 KB | |
| 16.87 KB | 
      
mschramm | Tue, 03/09/2021 - 18:03
Picture?
Hello,
Are you expecting the particles to flow from the bottom of the cylinder?
If this is the case, how high does the cylinder need to be raised for your lab particles divided by the particle size?
You may need to raise the cylinder the same amount before you get the flow you are looking for.
What happens if you just delete the cylinder?
Using an insertion face shouldn't just solve the problem your having.
If you want to try packing via gravity, you can simply reduce the size of your region.
Thao | Thu, 03/11/2021 - 08:19
Inserting a desired number of particles into a small volume
Hi mschramm,
Thank you for your response. I already solved this problem. But I have two other questions, I hope that you can help me.
1) When I insert the particles into the insertion region, it seems to always insert less than my desired number of particles. I tried to replicate the tests in the paper by Thomas Rossler, "Scalability of angle of repose tests for the calibration of DEM parameter", and the insertion region seems to be quite small to insert the desired number of particles. When I scaled the insertion region to a factor of 2, the insertion is fine. Without scaling the geometry, I already tried to use only one processor to give a better insertion and tried to change the skin factor, but nothing works. Do you have ideas on how to improve my insertion?
2) I also want to separate my simulation into 2 files, the first file for insertion and write a restart file and the second file for using the restart file and lifting the cylinder. When I do not separate them, I can lift my cylinder fine. But when I separate these actions into 2 files, for my second file, I cannot lift my cylinder. I already defined all the fix again in the second file. I have no idea what is going on?
I am looking forward to your response. If my question is not clear, I can clarify myself further.
Thanks a lot.
Thao
Thao | Thu, 03/11/2021 - 08:27
I also added STL files for my
I also added STL files for my simulation. If you can help run my simulation and give me some advice on how can I make my simulation better, please teach me!!
Thanks so much.