Porosity and friction angle
Hello
Yade version: 1.20.0
I want to simulate a cylinder filled with spherical particles . After reaching to specific unbal force cylindrical confining wall is going to move upward with specific velocity. I am going to look at the height of the particles after several steps with different material properties.
My question: I am trying to change porosity of materials by changing friction angle and reach to a specific one. However, changing friction angle does not effect porosity in my model. I get very close porosity value by changing the friction angle. (even sometimes by decreasing the friction angle, porosity increases). Also porosity I am getting is not close to my scope( what I am getting in PFC). I am wondering what can be changed in my code for solving it?
I am posting my code below. Also I used [1] for porosity function in my code as you advised others with similar problem.
[1]:https:/
#######
# import yade modules that we will use below
from yade import pack,utils, plot,ymport,qt
#######
fr1 = 45;fr2 = 45;rho=2650.0
Mat1 = O.materials.
Mat2 = O.materials.
#######
# create Cylinder from facets
Cylinder_
Wall_below=
# create empty sphere packing
# sphere packing is not equivalent to particles in simulation, it contains only the pure geometry
sp=pack.
# generate randomly spheres with uniform radius distribution
sp.makeCloud(
sphe_particles=
O.engines=[
ForceResetter(),
InsertionSor
InteractionLoop(
# handle sphere+sphere and facet+sphere collisions
[Ig2_
[
[
),
PyRunner(
NewtonInteg
# call the addPlotData function every 200 steps
PyRunner(
]
O.dt=.5*
# enable energy tracking; any simulation parts supporting it
# can create and update arbitrary energy types, which can be
# accessed as O.energy[
O.trackEnergy=True
# if the unbalanced forces goes below .05, the packing
# is considered stabilized, therefore we stop collected
# data history and stop
#######
#def checkUnbalanced():
# if unbalancedForce
# O.pause()
# plot.saveDataTx
#
#######
#######
def hightcontrol():
for b in sphe_particles:
if O.bodies[
O.
def Rot_resist():
for b in sphe_particles:
O.bodies[
O.bodies[
#######
# collect history of data which will be plotted
def addPlotData():
# each item is given a names, by which it can be the unsed in plot.plots
# the **O.energy converts dictionary-like O.energy to plot.addData arguments
plot.
plot.plots=
# show the plot on the screen, and update while the simulation runs
plot.plot()
O.run(145000)
O.save(
#porosity check by changing friction angle
import sys
while utils.porosity(
fr2=0.95*fr2
setContactF
#vo=utils.
print "porosity:
#print "porosity:",volume
sys.
O.run(
O.save(
O.dt=.5*
Question information
- Language:
- English Edit question
- Status:
- Expired
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply: