yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #29148
[Question #706040]: Problem with high value of material density
New question #706040 on Yade:
https://answers.launchpad.net/yade/+question/706040
I would like to reduce the computational cost (increase the time step) by up-scaling the particle density to 109 kg⁄m^3 but when I launch the simulation, the particles dissapeared after a few iterations. It looks like they doesn't contact with the bottom side of the box. My script is attached below. Please give me any suggestions how I should deal with it. Thanks
############################
from math import pi
import os, datetime
from yade import pack, plot, qt, geom
sector_angle = 2*pi
layers_count = 5
x, y, z = (1, 1, 1)
initialAngle = radians(10)
targetVoid = 1
density = 1e6
frictionAngle = initialAngle
# create the box
O.bodies.append(geom.facetBox((0, 0, 0), (x/2, y/2, z/2), wallMask=31))
# create spheres
sp = pack.SpherePack()
sp.makeCloud((-x/2, -y/2, -z/2), (x/2, y/2, z/2), rMean=.03, rRelFuzz=.5)
# add spheres to simulation
O.materials.append(CohFrictMat(label='mat',
young=1e8,
poisson=0.2,
frictionAngle=radians(17),
density=density,
isCohesive=True,
alphaKr=2,
alphaKtw=2,
momentRotationLaw=True,
etaRoll=0.15))
sp.toSimulation(material='mat')
O.engines = [
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(), Bo1_Facet_Aabb()]),
InteractionLoop(
# handle sphere+sphere and facet+sphere collisions
[Ig2_Sphere_Sphere_ScGeom(), Ig2_Facet_Sphere_ScGeom()],
[Ip2_FrictMat_FrictMat_FrictPhys()],
[Law2_ScGeom_FrictPhys_CundallStrack()]
),
NewtonIntegrator(gravity=(0, 0, -9.81*10), damping=0.1),
TranslationEngine(ids=[],
translationAxis=[0, 0, -1],
velocity=0.075,
dead=True,
label='cyl_engine'),
PyRunner(command='checkPorosity()',
iterPeriod=1000,
label='porosity_checker',
dead=False)
]
def checkPorosity():
global frictionAngle
u = utils.porosity()
ev = u / (1 - u)
if ev > targetVoid:
frictionAngle *= 0.9
utils.setContactFriction(frictionAngle)
else:
O.pause()
O.dt = .5 * PWaveTimeStep()
qt.View()
--
You received this question notification because your team yade-users is
an answer contact for Yade.