yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #06276
Re: [Question #203709]: Which physical parameters i need and how to add them
Question #203709 on Yade changed:
https://answers.launchpad.net/yade/+question/203709
Christian Sommerfeld posted a new comment:
Hi Chiara,
for the spheres we want to use a ceramic material and for the quader/box
we want to use steel as it's material. First of all we want to simulate
a elastic behaviour, therefore i chose FricMat as the best Material to
handle this problem. Furthermore we want to use create a simulation
with the law of cundall and strack to compare it afterwards with other
law, which are maybe more suitable.
It is not such a difficult test. The spheres and the box are inside a
cylinder, whereby there are so many spheres that they enclose the box.
And the box executes a rotational movement around the z-axes and is also
fixed. Now we want to measure the agent force on the box.
Our programm is still working, but i am not sure if i take the correct
physical parameters for this law, because i nly found the calculation
for kN and kS in the PhD of Smilauer but there is no reference to a law.
And i can not add different materials to the spheres and the box.
My programm is the following:
# import yade modules that we will use below
from yade import pack, plot
# PhysicalParameters
FacetMat=O.materials.append(FrictMat(young=5e4,poisson=0.5,frictionAngle=.6,density=2400))
oriBody = Quaternion(Vector3(0,0,1),(math.pi))
quader=O.bodies.append(geom.facetBox((.5,0,.5),(.3,.3,.3),oriBody, wallMask=63, color=(0,0,1), dynamic=True, material=FacetMat))
# show all bodies of the facet
for l in O.bodies:
g=l.id
print g
# create Cylinder from facets
cyl=O.bodies.append(utils.geom.facetCylinder((0,0,1),1.5,2,orientation=Quaternion((1, 0, 0),0),segmentsNumber=20,wallMask=6, color=(0,1,0), fixed=True, material=FacetMat))
SphereMat=O.materials.append(FrictMat(young=5e7,poisson=0.5,frictionAngle=.6,density=1000))
# create block of spheres
sphereRadius = 0.06
nbSpheres = (10,10,30)
#nbSpheres = (50,50,50)
for i in xrange(nbSpheres[0]):
for j in xrange(nbSpheres[1]):
for k in xrange(nbSpheres[2]):
x = (i*2 - nbSpheres[0])*sphereRadius*1.1
y = (j*2 - nbSpheres[1])*sphereRadius*1.1
z = (k*2 - nbSpheres[2])*sphereRadius*1.1
sp1=utils.sphere([x,y,z+10],sphereRadius,color= (1,0,0),material=SphereMat)
O.bodies.append(sp1)
sphereRadius = 0.06
nbSpheres = (10,10,30)
#nbSpheres = (50,50,50)
for i in xrange(nbSpheres[0]):
for j in xrange(nbSpheres[1]):
for k in xrange(nbSpheres[2]):
x = (i*2 - nbSpheres[0])*sphereRadius*1.1
y = (j*2 - nbSpheres[1])*sphereRadius*1.1
z = (k*2 - nbSpheres[2])*sphereRadius*1.1
sp2=utils.sphere([x,y,z+4],sphereRadius,color=(1,0,0),material=SphereMat)
O.bodies.append(sp2)
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
InteractionLoop(
# handle sphere+sphere and facet+sphere collisions
[Ig2_Sphere_Sphere_Dem3DofGeom(),Ig2_Facet_Sphere_Dem3DofGeom()],
#[Ip2_FrictMat_FrictMat_FrictPhys()],
[Ip2_2xFrictMat_CSPhys()],
[Law2_Dem3Dof_CSPhys_CundallStrack()]
#[Law2_L3Geom_FrictPhys_ElPerfPl()]
),
GravityEngine(gravity=(0,0,-9.81)),
RotationEngine(rotateAroundZero=True,zeroPoint=(0,0,0),rotationAxis=(0,0,1),angularVelocity=50*(2*pi/60),ids=quader,label='rotor'),
NewtonIntegrator(damping=0.4),
PyRunner(iterPeriod=20,command="myAddPlotData()"),
VTKRecorder(iterPeriod=100,fileName='/tmp/QuaderAufnahme-',recorders=['spheres','facets'])
]
O.dt=1*utils.PWaveTimeStep()
def myAddPlotData():
force=plot.addData(t=O.time,F=O.forces.f(0).norm()+O.forces.f(1).norm()+O.forces.f(2).norm()+O.forces.f(3).norm()+O.forces.f(4).norm()+O.forces.f(5).norm()+O.forces.f(6).norm()+O.forces.f(7).norm()+O.forces.f(8).norm()+O.forces.f(9).norm()+O.forces.f(10).norm()+O.forces.f(11).norm())
plot.plots={'t':('F')}
plot.plot()
--
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.