← Back to team overview

yade-users team mailing list archive

[Question #668496]: Using PFacet/facetBox

 

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

In my simulations, sphere falls under gravity on a plate. The plate is modeled using facetbox. The sphere falls at the center of bottom. When the sphere touches the plate, I expect one interaction.

Here is a MWE:
#--------------------------------------------------

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

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

# No side boundaries, just a plane!
O.bodies.append(geom.facetBox(center=(0.5,0.5,0.5),extents = (0.5,0.5,0.5), wallMask= 16)) 

#-----
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()

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


Using facetbox, I see two interactions and a stiffer contact. How to resolve this? Maybe Pfacet, as suggested to me here [1]? Anyone solved a similar problem?

Thanks

[1]: https://answers.launchpad.net/yade/+question/665675

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.