← Back to team overview

yade-users team mailing list archive

Re: [Question #688993]: polyhedrals after collide to facet, throwing away strongly

 

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

    Status: Needs information => Open

Mahdeyeh gave more information on the question:
Thanks Jan for your time

> what values have you tried?
O.dt=10e-8

> Can you please provide a script (two bodies as is described)
reproducing this behavior?


from yade import export,polyhedra_utils
import os
from yade import plot
import math
from yade import utils
import pylab
import matplotlib; matplotlib.rc('axes',grid=True)
from matplotlib import pyplot
import numpy as np
from numpy import *
from yade import export as expt


Dolomite = PolyhedraMat()
Dolomite.density = 2870 #kg/m^3 
Dolomite.young = 24.36e9 #Pa 
Dolomite.poisson = 0.2
Dolomite.frictionAngle = radians(55.12) #rad

Bound = PolyhedraMat()
Bound.density = 2870 #kg/m^3 
Bound.young = 60e10 #Pa 
Bound.poisson = 0.2
Bound.frictionAngle = radians(55.12) #rad

p1=((4.54097400033104,6.49184245861868,0.25),(4.65891804001884,6.58769165827740,0.25),(4.51425920185592,6.93490024048091,0.25),(4.46361293495481,6.82361276486310,0.25),(4.54097400033104,6.49184245861868,0.25),(4.54097400033104,6.49184245861868,-0.25),(4.65891804001884,6.58769165827740,-0.25),(4.51425920185592,6.93490024048091,-0.25),(4.46361293495481,6.82361276486310,-0.25),(4.54097400033104,6.49184245861868,-0.25))
p2=((3.60265201447845,7.35103416471193,0.25),(3.61010182622721,7.35103416471193,0.25),(3.71828876180858,7.48918606800436,0.25),(3.74275101349167,7.67253715703928,0.25),(3.74275101349167,7.82185097460873,0.25),(3.67394962688404,7.75228435593977,0.25),(3.60265201447845,7.35103416471193,0.25),(3.60265201447845,7.35103416471193,-0.25),(3.61010182622721,7.35103416471193,-0.25),(3.71828876180858,7.48918606800436,-0.25),(3.74275101349167,7.67253715703928,-0.25),(3.74275101349167,7.82185097460873,-0.25),(3.67394962688404,7.75228435593977,-0.25),(3.60265201447845,7.35103416471193,-0.25))

O.bodies.append(polyhedra_utils.polyhedra(Dolomite,v=p1,fixed=False, color=(0.1,0.5,0.2)))
O.bodies.append(polyhedra_utils.polyhedra(Dolomite,v=p2,fixed=False, color=(0.1,0.5,0.2)))

v1=((-2.4993,-0.01,2),(-2,-0.01,2),(-2.4993,-0.01,-2))
v2=((-2,-0.01,2),(-2,-0.01,-2),(-2.4993,-0.01,-2))
v3=((-1.99,-0.01,2),(-1.99,-0.01,-2),(-1,-0.01,2))
v4=((-1,-0.01,2),(-1,-0.01,-2),(-1.99,-0.01,-2))
v5=((-0.99,-0.01,2),(-0.99,-0.01,-2),(1,-0.01,2))
v6=((1,-0.01,2),(1,-0.01,-2),(-0.99,-0.01,-2))
v7=((1.01,-0.01,2),(1.01,-0.01,-2),(2,-0.01,2))
v8=((2,-0.01,2),(2,-0.01,-2),(1.01,-0.01,-2))
v9=((2.01,-0.01,2),(2.01,-0.01,-2),(3,-0.01,2))
v10=((3,-0.01,2),(3,-0.01,-2),(2.01,-0.01,-2))
v11=((3.01,-0.01,2),(3.01,-0.01,-2),(4.58,-0.01,2))
v12=((4.58,-0.01,2),(4.58,-0.01,-2),(3.01,-0.01,-2))
v13=((4.6162,0.0059,2),(5.25,0.93,2),(4.6162,0.0059,-2))
v14=((5.25,0.93,2),(5.25,0.93,-2),(4.6162,0.0059,-2))
v15=((5.25,0.94,2),(5.25,0.94,-2),(6.42,2.57,2))
v16=((6.42,2.57,2),(6.42,2.57,-2),(5.25,0.94,-2))
v17=((6.42,2.58,2),(6.42,2.58,-2),(6.7906,3.01,2))
v18=((6.7906,3.01,2),(6.7906,3.01,-2),(6.42,2.58,-2))
v19=((6.7906,3.0162,2),(6.7939,4,2),(6.7906,3.0162,-2))
v20=((6.7906,3.0162,-2),(6.7939,4,-2),(6.7939,4,2))
v21=((6.7953,4.0079,2),(7.02,5.6,2),(6.7953,4.0079,-2))
v22=((7.02,5.6,2),(7.02,5.6,-2),(6.7953,4.0079,-2))
v23=((7.02,5.61,2),(7.02,5.61,-2),(7.3,7.01,2))
v24=((7.3,7.01,2),(7.3,7.01,-2),(7.02,5.61,-2))
v25=((7.3,7.02,2),(7.3,7.02,-2),(7.54,8.51,2))
v26=((7.54,8.51,2),(7.54,8.51,-2),(7.3,7.02,-2))
v27=((7.54,8.52,2),(7.54,8.52,-2),(7.8,10,2))
v28=((7.8,10,2),(7.8,10,-2),(7.54,8.52,-2))
v29=((7.8,10.01,2),(7.8,10.01,-2),(8.14,12,2))
v30=((8.14,12,2),(8.14,12,-2),(7.8,10.01,-2))
v31=((8.14,12.01,2),(8.14,12.01,-2),(8.5,14,2))
v32=((8.5,14,2),(8.5,14,-2),(8.14,12,-2))
v33=((8.5,14.01,2),(8.5,14.01,-2),(8.75,15.5,2))
v34=((8.75,15.5,2),(8.75,15.5,-2),(8.5,14.01,-2))
v35=((8.75,15.51,2),(8.75,15.51,-2),(9.0615,16.9981,2))
v36=((9.0615,16.9981,2),(9.0615,16.9981,-2),(8.75,15.51,-2))
v37=((9.0621,17.0187,2),(9.09,19,2),(9.0621,17.087,-2))
v38=((9.09,19,2),(9.09,19,-2),(9.062,17.0187,-2))
v39=((9.09,19.01,2),(9.09,19.01,-2),(9.2006,20.9992,2))
v40=((9.2006,20.9992,2),(9.2006,20.9992,-2),(9.09,19.01,-2))
v41=((2.2009,21.0924,2),(2.2009,21.0924,-2),(2.22,19.01,2))
v42=((2.22,19.01,2),(2.22,19.01,-2),(2.2009,21.0924,-2))
v43=((2.22,19,2),(2.22,19,-2),(2.1538,17.043,2))
v44=((2.1538,17.043,2),(2.1538,17.043,-2),(2.22,19,-2))
v45=((2.0524,17.0104,2),(2.0524,17.0104,-2),(1.76,15.01,2))
v46=((1.76,15.01,2),(1.76,15.01,-2),(2.0524,17.0104,-2))
v47=((1.76,15,2),(1.76,15,-2),(1.42,13.01,2))
v48=((1.42,13.01,2),(1.42,13.01,-2),(1.76,15,-2))
v49=((1.42,13,2),(1.42,13,-2),(1.16,11.49,2))
v50=((1.16,11.49,2),(1.16,11.49,-2),(1.42,13,-2))
v51=((1.16,11.48,2),(1.16,11.48,-2),(0.8699,10.0876,2))
v52=((0.8699,10.0876,2),(0.8699,10.0876,-2),(1.16,11.48,-2))
v53=((1.1059,9.9916,2),(1.1059,9.9916,-2),(2.5,9.9927,2))
v54=((2.5,9.9927,2),(2.5,9.9927,-2),(1.1059,9.9916,-2))
v55=((2.51,9.9927,2),(2.51,9.9927,-2),(4.0026,9.9927,2))
v56=((2.51,9.9927,-2),(4.0026,9.9927,-2),(4.0026,9.9927,2))
v57=((4,9.94,2),(4,9.94,-2),(3.87,9,2))
v58=((3.87,9,2),(3.87,9,-2),(4,9.94,-2))
v59=((3.87,8.99,2),(3.87,8.99,-2),(3.69,8,2))
v60=((3.69,8,2),(3.69,8,-2),(3.87,8.99,-2))
v61=((3.69,7.99,2),(3.69,7.99,-2),(3.51,7,2))
v62=((3.51,7,2),(3.51,7,-2),(3.69,7.99,-2))
v63=((3.51,6.99,2),(3.51,6.99,-2),(3.34,5.99,2))
v64=((3.34,5.99,2),(3.34,5.99,-2),(3.51,6.99,-2))
v65=((3.34,5.98,2),(3.34,5.98,-2),(3.16,4.98,2))
v66=((3.16,4.98,2),(3.16,4.98,-2),(3.34,5.98,-2))
v67=((3.16,4.97,2),(3.16,4.97,-2),(2.95,4.0001,2))
v68=((2.95,4.0001,2),(2.95,4.0001,-2),(3.16,4.97,-2))
v69=((0,4,2),(0,4,-2),(2.9,3.9,2))
v70=((0,4,-2),(2.9,3.9,2),(2.9,3.9,-2))

O.bodies.append(utils.facet(v1,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v2,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v3,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v4,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v5,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v6,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v7,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v8,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v9,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v10,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v11,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v12,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v13,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v14,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v15,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v16,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v17,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v18,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v19,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v20,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v21,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v22,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v23,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v24,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v25,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v26,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v27,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v28,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v29,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v30,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v31,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v32,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v33,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v34,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v35,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v36,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v37,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v38,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v39,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v40,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v41,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v42,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v43,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v44,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v45,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v46,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v47,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v48,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v49,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v50,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v51,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v52,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v53,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v54,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v55,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v56,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v57,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v58,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v59,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v60,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v61,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v62,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v63,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v64,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v65,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v66,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v67,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v68,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v69,color=(1,0,1), material=Bound))
O.bodies.append(utils.facet(v70,color=(1,0,1), material=Bound))

for b in O.bodies:
    if b.material is Dolomite:
        b.state.blockedDOFs='zXY'

O.engines=[
   ForceResetter(),
   InsertionSortCollider([Bo1_Polyhedra_Aabb(),Bo1_Facet_Aabb()],verletDist=0.05), 
   InteractionLoop(
      [Ig2_Polyhedra_Polyhedra_PolyhedraGeom(),Ig2_Facet_Polyhedra_PolyhedraGeom()], 
      [Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys()], 
      [Law2_PolyhedraGeom_PolyhedraPhys_Volumetric()]   
   ),
   NewtonIntegrator(gravity=(0,-9.81,0),damping=0.2),
]

utils.calm()

O.dt=10e-5
O.saveTmp()   
O.run()

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