← Back to team overview

yade-dev team mailing list archive

Re: strange behaviour

 

Re-sending, my first reply is blocked it seems.
_____________________________
That is funny script!
Is there really something wrong in this motion? One sphere rolling
between two bodies. It is consistent with equations I think.
Or maybe you mean viscosity should stop the motion progressively and it
doesn't?
Try this by the way, it will be more clear : Gl1_Sphere.stripes=True.

It should give something similar with CundallStrack, but it doesn't
unfortunately (script 2 attached).
With 3 spheres, it works as expected (script3).
There is definitely a problem in sphere-facet for frictional contacts.

Bruno
# encoding: utf-8
from yade import utils,geom

Rsph=0.003 

density=2400
frictionAngle=radians(35)

mat=O.materials.append(FrictMat(density=density,frictionAngle=frictionAngle))
#O.bodies.append(utils.facet( [ (-3*Rsph,-0.05,-0.05), (-3*Rsph,-0.05,0.05), (-3*Rsph,0.05,0) ], material=mat))
O.bodies.append([
	utils.sphere( (-0.95*2.0*Rsph,Rsph,0),Rsph,material=mat,fixed=True),
	utils.sphere( (.95*2.0*Rsph,Rsph,0),Rsph,material=mat,fixed=True),
	utils.sphere( (0,0.0042204209332099996,0.0009),Rsph,material=mat)
])

O.engines=[
	ForceResetter(),
	InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
	InteractionLoop(
		[Ig2_Sphere_Sphere_ScGeom(), Ig2_Facet_Sphere_ScGeom()],
		[Ip2_FrictMat_FrictMat_FrictPhys()],
		[Law2_ScGeom_FrictPhys_CundallStrack()],
	),
	GravityEngine(gravity=[0,-9.81,0]),
	NewtonIntegrator(damping=0.01),
]
Gl1_Sphere.stripes=True
Gl1_Sphere.quality=2
O.dt=0.1*utils.PWaveTimeStep()
O.saveTmp()

from yade import qt
qt.View()

# encoding: utf-8
from yade import utils,geom

Rsph=0.003 

density=2400
frictionAngle=radians(35)

mat=O.materials.append(FrictMat(density=density,frictionAngle=frictionAngle))
O.bodies.append(utils.facet( [ (-3*Rsph,-0.05,-0.05), (-3*Rsph,-0.05,0.05), (-3*Rsph,0.05,0) ], material=mat))
O.bodies.append([
	utils.sphere( (-0.1*Rsph,Rsph,0),Rsph,material=mat,fixed=True),
	utils.sphere( (-0.0060010254015300003,0.0042204209332099996,0.0009),Rsph,material=mat)
])

O.engines=[
	ForceResetter(),
	InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
	InteractionLoop(
		[Ig2_Sphere_Sphere_ScGeom(), Ig2_Facet_Sphere_ScGeom()],
		[Ip2_FrictMat_FrictMat_FrictPhys()],
		[Law2_ScGeom_FrictPhys_CundallStrack()],
	),
	GravityEngine(gravity=[0,-9.81,0]),
	NewtonIntegrator(damping=0),
]
Gl1_Sphere.stripes=True
O.dt=0.01*utils.PWaveTimeStep()
O.saveTmp()

from yade import qt
qt.View()


Follow ups

References