← Back to team overview

yade-users team mailing list archive

Re: Experiments on a rotating cylinder

 

Hello.
May be this will help you as started point (see attached script)...
But you need to update yade to last rev... (or to bzr2144 as min)...


16.04.2010 09:14, ADERSH V K:
> Hi all
>
> I would like to do the following experiment using yade:
>
> "The experimental set-up consists of a horizontal steel cylinder (D ×
> L=250mm × 310mm)
> with a transparent glass plate at the front. To avoid unwanted sliding
> motion,
> the inner wall of the cylinder is glued with sandpaper.  In the
> experiments, dry beans are
> used as testing material (d=3.50mm, Θ=34°). The cylinder is partially
> filled with beans (f=0.248, 0.39)
> and rotated by a geared motor with rotation speeds n ranging from 4.86
> to 13.3 revs/min,
> resulting in the rolling motion of the material bed."
>
> Last month I have installed yade (Yade bzr2066) and tried to study it
> using the documentatin given in https://www.yade-dem.org/sphinx/.
> But still I have no idea about how to start.  Is there any other
> documentation or some basic examples for a beginner?
> I know basics of Python language and also Linux.  But not good in C++.
>
> Please somebody help me to proceed...
> -- 
> ADERSH
> +91-9995165951
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to     : yade-users@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-users
> More help   : https://help.launchpad.net/ListHelp
>   

#!/usr/local/bin/yade-trunk -x
# -*- encoding=utf-8 -*-
import random
from yade import pack
from yade import ymport
#from yade import plot


Density=2700
frictionAngle=radians(34)
tc = 0.001
en = 0.3
es = 0.3
sphereRadius = 0.00175

params=utils.getViscoelasticFromSpheresInteraction(10e3,tc,en,es)
facetMat=O.materials.append(ViscElMat(frictionAngle=0,**params)) # **params sets kn, cn, ks, cs

params=utils.getViscoelasticFromSpheresInteraction(4./3.*pi*sphereRadius**3*Density,tc,en,es)
sphereMat=O.materials.append(ViscElMat(density=Density,frictionAngle=frictionAngle,**params))

cylIds=O.bodies.append(utils.facetCylinder( center=(0,0,0), radius=0.125, height=0.31, segmentsNumber=24, color=(1,0,0),material=facetMat ))

spheres=pack.regularOrtho(
		predicate=pack.inCylinder( (0,0,-0.155), (0,0,0.155), 0.015 ),
		radius=sphereRadius,
		gap=0.1*sphereRadius,
		material=sphereMat,
		color=(0.7,0.7,0.6)
)
O.bodies.append(spheres)

O.dt=.2*tc

O.engines=[
	ForceResetter(),
	BoundDispatcher([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
	InsertionSortCollider(),
	InteractionDispatchers(
		[Ig2_Sphere_Sphere_ScGeom(), Ig2_Facet_Sphere_ScGeom()],
		[Ip2_ViscElMat_ViscElMat_ViscElPhys()],
		[Law2_ScGeom_ViscElPhys_Basic()],
	),
	GravityEngine(gravity=[0,-9.8,0]),
	NewtonIntegrator(damping=0),
	RotationEngine(subscribedBodies=cylIds,rotationAxis=[0,0,1],rotateAroundZero=True,angularVelocity=1.57)
]

from yade import qt
qt.View()


Follow ups

References