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

Rohit John gave more information on the question:
Dear Klaus,

I was testing the mikado example [1], and I found an bug. This example
has many vertical cylinders on a pfacet square. In [1], the lengths are
random and the cylinders start in contact with the pfacet. I modified
this slightly so that the cylinders have the same length and start from
a height above the pfacet. The cylinders contacting the diagonal of the
square bounce differently compared to the rest. Since all cylinders have
the same height and dimension, I expect all of them to bounce uniformly.

Kind regards,
Rohit K. John

[1] https://gitlab.com/yade-
dev/trunk/-/blob/master/examples/cylinders/mikado.py

# ---------------------------------------- code
# encoding: utf-8
"An example showing how two create cylinders with random length."

# from builtins import range
from yade.gridpfacet import *

#### Parameters ####
Lmin=3. # minimum length
Lmax=6. # maximum length 
n=10            # number of cylinders in one direction
r=0.5           # radius of the cylinder element
phi=30. # friction angle
E=1e6   # Young's modulus

#### Engines ####
O.engines=[
        ForceResetter(),
        InsertionSortCollider([
                Bo1_GridConnection_Aabb(),
                Bo1_PFacet_Aabb(), 
        ]),
        InteractionLoop([
                Ig2_GridNode_GridNode_GridNodeGeom6D(),
                Ig2_GridConnection_GridConnection_GridCoGridCoGeom(),   # 
cylinder-cylinder interaction
                Ig2_Sphere_PFacet_ScGridCoGeom(),       # needed for 
GridNode-pFacet interaction (why is this not included in 
Ig2_GridConnection_PFacet_ScGeom???)
                Ig2_GridConnection_PFacet_ScGeom(),     # Cylinder-pFcet 
interaction
        ],
        [
                
Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=False),
                Ip2_FrictMat_FrictMat_FrictPhys()
        ],
        [
                Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),    # contact law 
for "internal" cylider forces
                Law2_ScGridCoGeom_FrictPhys_CundallStrack(),    # contact law 
for Cylinder-pFacet interaction
                Law2_GridCoGridCoGeom_FrictPhys_CundallStrack() # contact law 
for cylinder-cylinder interaction
        ]
        ),
        GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.1,label='ts'), 
        NewtonIntegrator(gravity=(0.,0,-10),damping=0.,label='newton'),
        #NewtonIntegrator(gravity=(-1.,0,-10),damping=0.5,label='newton'),
]

#### Creat materials ####
O.materials.append( CohFrictMat( 
young=E,poisson=0.3,density=1000,frictionAngle=radians(phi),normalCohesion=1e10,shearCohesion=1e10,momentRotationLaw=True,label='cMat'
 ) )  # material to create the gridConnections
O.materials.append( FrictMat( 
young=E,poisson=0.3,density=1000,frictionAngle=radians(phi),label='fMat' ) )  # 
material for general interactions

#### Create cylinders ####
nodesIds=[]
cylIds=[]
ext=12.
dxy=ext/(n-1)
dL=Lmax-Lmin
random.seed( 10 )
for i in range(0,n):
        y=-ext/2+i*dxy
        for i in range(0,n):
                x=-ext/2+i*dxy
                L=Lmin+dL
                color=[random.random(),random.random(),random.random()]
                
cylinder((x,y,3*r),(x,y,L+3*r),radius=r,nodesIds=nodesIds,cylIds=cylIds,
                                        
fixed=False,color=color,intMaterial='cMat',extMaterial='fMat')

#### Creat ground with pFacets ####
color=[255./255.,102./255.,0./255.]
n0=O.bodies.append( 
gridNode([-10,-10,0],r,wire=False,fixed=True,material='cMat',color=color) )
n1=O.bodies.append( 
gridNode([10,-10,0],r,wire=False,fixed=True,material='cMat',color=color) )
n2=O.bodies.append( 
gridNode([10,10,0],r,wire=False,fixed=True,material='cMat',color=color) )
n3=O.bodies.append( 
gridNode([-10,10,0],r,wire=False,fixed=True,material='cMat',color=color) )
O.bodies.append( gridConnection(n0,n1,r,color=color,material='fMat') )
O.bodies.append( gridConnection(n1,n2,r,color=color,material='fMat') )
O.bodies.append( gridConnection(n2,n0,r,color=color,material='fMat') )
O.bodies.append( gridConnection(n2,n3,r,color=color,material='fMat') )
O.bodies.append( gridConnection(n3,n0,r,color=color,material='fMat') )
O.bodies.append( pfacet(n0,n1,n2,wire=False,material='fMat',color=color) )
O.bodies.append( pfacet(n0,n2,n3,wire=False,material='fMat',color=color) )

#### For viewing ####
from yade import qt
qt.View()
Gl1_Sphere.stripes=True

#### Allows to reload the simulation ####
O.saveTmp()

-- 
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