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

Hi all,

I'm trying to implement a new  contact model in Yade referring to following 
paper,

https://www.dropbox.com/sh/xf5j80hke2s4gd5/AAAoiDIrGHk4YMp0nOe60QQca?dl=0

Initially, I tried to develop tension damage only.But after compiling the code 
I ran a simple simulation with 2 spheres and when I see the simulation, one 
sphere is passing through remaining sphere and  it did not give any normal or 
shear force.

The .hpp file and  .cpp file regarding the model can be found in following link,

https://www.dropbox.com/sh/50mzxm4s8yrsff9/AAASIoCvDHnKRbCl4M-56A9Sa?dl=0


Could you please help me on this problem?

A minimum working example as follows,

Thanks
Chanaka

MWE-----

from yade import plot,qt
nh=O.materials.append(NhuMat(young=1e6,poisson=.25,frictionAngle=30,TensileStrength=1e5,Cohesion=1e5,DilatancyAngle=3,NormalSoftening=0.1,ShearSoftening=0.1,density=3000))

s1=utils.sphere((0,0,0),radius=1,color=[1,0,0],material=nh,fixed=True)
s2=utils.sphere((0,0,2),radius=1,color=[0,1,0],material=nh)

O.bodies.append(s1)
O.bodies.append(s2)

Gl1_Sphere.quality=3
# engines definition
O.engines=[
    ForceResetter(),
    
InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=1.3,label='bo1s')]),
    InteractionLoop(
        
[Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=1.3,label='ig2ss')],
        [Ip2_NhuMat_NhuMat_NhuPhys()],
        [Law2_ScGeom_NhuPhys_Nhumodel()]
    ),
    TranslationEngine(ids=[s2.id],translationAxis=[0,0,1],velocity=.001), #z 
direction movement
    NewtonIntegrator(damping=0.4),
    PyRunner(iterPeriod=1,command='addPlotData()',label='plotData'),
]
O.dt=0.4*PWaveTimeStep()
O.step()
bo1s.aabbEnlargeFactor=ig2ss.interactionDetectionFactor=1.
def addPlotData():
    plot.addData(i=O.iter,
                 
displacement_n=O.bodies[1].state.refPos[2]-O.bodies[1].state.pos[2],
                 NF=O.interactions[0,1].phys.normalForce.norm(),
                 SF=O.interactions[0,1].phys.shearForce.norm(),
                 )

plot.plots={'i':('NF'),
           'displacement_n ':('NF'),
           'i  ':('SF'),
          }
plot.plot()
O.run()






-- 
You received this question notification because your team yade-users 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