Question #665675 on Yade changed:
https://answers.launchpad.net/yade/+question/665675

    Status: Answered => Open

Nishant is still having a problem:
Dear Jérôme,

Thank you for the reply.

I understand your point on number of contacts -- this can be resolved in the 
post-processing stage if sphere interacts with ANY member of the facetbox, 
count just one interaction. My issue is the force acting on the sphere.
But about the force acting on the sphere is the problem.

Consider this example:

#--------------------------------------------------

from yade import pack, qt, export
import numpy as np

#-----
##Defining Box
O.periodic=False

# No side boundaries this time, just a plane!
O.bodies.append(geom.facetBox(center=(0.5,0.5,0.5),extents = (0.5,0.5,0.5), 
wallMask= 16)) # Facetbox except the base

#-----
O.bodies.append([sphere((0.7,0.5,0.2001),radius=0.2)]) # add a sphere # Other 
case
#O.bodies.append([sphere((0.5,0.5,0.2001),radius=0.2)]) # add a sphere

#-----
##Engine Definition

O.engines=[
 ForceResetter(),
 
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()],allowBiggerThanPeriod=True),
 InteractionLoop(
  [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()],
  [Ip2_FrictMat_FrictMat_FrictPhys()],
  [Law2_ScGeom_FrictPhys_CundallStrack()]
   ),
 PyRunner(command = 'output()', iterPeriod = 1, label = "checker"),
 NewtonIntegrator(gravity=(0,0,-9.81),damping=0.0)
]

#-----

def output():
 if (O.iter < 20):
  count_intrs = 0.0
  for i in O.interactions:
   if i.isReal:
    count_intrs += 1.0
  print "time:", O.time, "Sphere position", (O.bodies[-1].state.pos[2]), 
"contacts", count_intrs, "force", O.forces.f(O.bodies[-1].id)[2]
 else:
  print "done"
  O.pause()

#-----

O.dt = 5e-1*PWaveTimeStep()
O.run()

#--------------------------------------------------
#--------------------------------------------------

When sphere is at (0.7,0.5,0.2001), it interacts with just one facet and this 
one spring (equivalent to sphere-plane interaction) - consistent with what we 
expect.
When it is at (0.5,0.5,0.2001), there are two springs from two facets.

So what you say is correct: different springs acting on sphere and thus
different forces and different time of contact!

Do you have idea how can we resolve this issue, so that the force on
sphere with time is same for the two cases?

Thanks

PS: I expect this is more complicated when a sphere just falls at the
base joint made of two different materials

-- 
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     : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp

Reply via email to