New question #256283 on Yade:
https://answers.launchpad.net/yade/+question/256283

Hi all,

I tested the Hertz Mindlin contact model and noticed that shear and normal 
viscous damping is not accounted for in a sphere-facet contact. It behaves 
correctly with a sphere-sphere contact. I have attached a simple script below 
to illustrate my point. I just wanted to check before I report a bug.

Also, I noticed that a facet is made of two "triangles" and at the junction of 
the two it appears the sphere is in contact with both surfaces. This increases 
the normal force and effects shear force and contact moments (shown by setting 
a=0 in the script below). Is this correct?

I am developing a contact model and  I need some guidance on how to fix it to 
ensure that the contact model behaves correctly on flat surfaces.

Thanks.

I am running YADE 1.10.

SCRIPT
=======================================================
from yade import utils, plot
import math as m

O.dt = 1.0e-6

r1,rho,v,E,muR,Bn,Bs,fric_ang=0.2,2000,0.35,0.1e9,0.2,0.8,0.8,0.2

a=5*r1

mat1=O.materials.append(FrictMat(poisson=v,density=rho,young=E,frictionAngle=fric_ang,label='fric_mat'))


id11 = 
O.bodies.append(sphere(center=[a,-a,r1*0.95],radius=r1,material=mat1,fixed=True))

O.bodies.append(utils.geom.facetBox((0.0,0.0,0.0),(2.0,2.0,0),wallMask=31,material=mat1))

O.engines = [
  ForceResetter(),
  InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
        InteractionLoop(
                [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()],
                
[Ip2_FrictMat_FrictMat_MindlinPhys(betan=Bn,betas=Bs,ktwist=0.0,eta=muR)],
                
[Law2_ScGeom_MindlinPhys_Mindlin(includeMoment=False,includeAdhesion=False,neverErase=False)]
        ),
  NewtonIntegrator(damping=0,gravity=[0,0,-10],label="Newton"),
  PyRunner(command='addPlotData()',iterPeriod=50),
  PyRunner(command='sphereVel()',iterPeriod=1),
]

def sphereVel():
        O.bodies[id11].state.vel=[0,5*m.sin(O.time*200),0]


def addPlotData(): 
  f1 = [0,0,0]
  try:
    f1=O.forces.f(id11)
  except:
    f1 = [0,0,0]

  s1 = O.bodies[id11].state.pos[2]
  s2 = O.bodies[id11].state.pos[1]
  plot.addData(Normal=f1[2], Shear=f1[1], y=s2)

plot.plots={'y':('Normal','Shear')}; plot.plot()

from yade import qt
qt.View()

-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.

_______________________________________________
Mailing list: https://launchpad.net/~yade-users
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp

Reply via email to