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

hi,

i generated a 2D rectangular made of pfacets in which exist many sparse 
spheres, then i added gravity in the engine so that they could fall down to a 
dense pack, DOF of spheres was set to "yXZ" to move in x-z plane, in which case 
spheres would fall on Pfacet, actually they didn't. some of them did fall on 
the surface of pfacet, the others just fell out of range(x-z plane)..i cant 
figure out why. Below is my code.

#------------------------------------------------------------------------------------------------------------
from yade.gridpfacet import *
from yade import pack, plot
from random import random
import numpy as np
from numpy import *
import math
import os
     

#parameters
rParticle = 0.14e-3#diameter0.28
rRelFuzz=.0005
mi,ma = (-500e-3,0.,0.),(500e-3,0,250e-3)
frictionAngleSph=30
frictionAngleCyl=20
width = int(1000e-3),
height = int(250e-3),


#=============================meterials========================================
O.materials.append(FrictMat(young=4.0e6,poisson=.3,frictionAngle=30,density=2630e+6,label='sphereMat'))#for
 sphere

O.materials.append(FrictMat(young=3e9,poisson=.15,frictionAngle=20,density=910e+6,label='extcylMat'))#for
 sphere-cylinder
O.materials.append(CohFrictMat(young=3e9,poisson=.15,density=910e6,frictionAngle=20,normalCohesion=1e40,shearCohesion=1e40,momentRotationLaw=True,label='intcylMat'))#for
 cylinder-cylinder

O.materials.append( CohFrictMat( 
young=3e8,poisson=0.15,density=910e6,frictionAngle=20,normalCohesion=3e100,shearCohesion=3e100,momentRotationLaw=True,label='gridNodeMat'
 ) )#for gridNodes
#O.materials.append(CohFrictMat(young=3e9,poisson=.15,density=910e6,frictionAngle=20,normalCohesion=1e40,shearCohesion=1e40,momentRotationLaw=True,label='gridNodeMat'))#for
 gridNodes
O.materials.append(FrictMat(young=4e6,poisson=0.3,density=10e1000,frictionAngle=20,label='pFacetMat'))
 #for pfacet

#==============================Engines=========================================
O.engines=[
        ForceResetter(),
        InsertionSortCollider([
                Bo1_Box_Aabb(),
                Bo1_Sphere_Aabb(),
                Bo1_GridConnection_Aabb(),
                Bo1_PFacet_Aabb(), 
        ]),
        InteractionLoop([
                Ig2_Sphere_Sphere_ScGeom(),
                Ig2_Box_Sphere_ScGeom(),
                Ig2_GridNode_GridNode_GridNodeGeom6D(),
                Ig2_Sphere_GridConnection_ScGridCoGeom(),
                Ig2_GridConnection_GridConnection_GridCoGridCoGeom(),
                Ig2_GridConnection_PFacet_ScGeom(),
                Ig2_PFacet_PFacet_ScGeom(),
                Ig2_Sphere_PFacet_ScGridCoGeom()
        ],
        [
                
Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=False),
   # internal cylinder physics
                Ip2_FrictMat_FrictMat_FrictPhys()       # physics for external 
interactions, i.e., cylinder-cylinder, sphere-sphere, cylinder-sphere
        ],
        [
                Law2_ScGeom_FrictPhys_CundallStrack(),  # contact law for 
sphere-sphere
                Law2_ScGridCoGeom_FrictPhys_CundallStrack(),    # contact law 
for cylinder-sphere
                Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),    # contact law 
for "internal" cylinder forces
                Law2_GridCoGridCoGeom_FrictPhys_CundallStrack() # contact law 
for cylinder-cylinder interaction
        ]
        ),
        GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.1,label='ts'), 
        NewtonIntegrator(gravity=(0,0,-.0181),damping=0.5,label='newton'),
]
#=======================================pfacet=================================================
color=[255./255.,102./255.,0./255.]
r=0.002

aa = O.bodies.append(gridNode([-500e-3, 
5e-3,0],r,wire=False,fixed=fixed,material='gridNodeMat',color=color)) 
bb = O.bodies.append(gridNode([ 500e-3, 
5e-3,0],r,wire=False,fixed=fixed,material='gridNodeMat',color=color)) 
cc = O.bodies.append(gridNode([ 
500e-3,-5e-3,0],r,wire=False,fixed=fixed,material='gridNodeMat',color=color))
dd = 
O.bodies.append(gridNode([-500e-3,-5e-3,0],r,wire=False,fixed=fixed,material='gridNodeMat',color=color))
pfacetCreator3(aa,bb,cc,cylIds=[],pfIds=[],wire=False,material='pFacetMat',color=color)
pfacetCreator3(aa,cc,dd,cylIds=[],pfIds=[],wire=False,material='pFacetMat',color=color)

ee = O.bodies.append(gridNode([-500e-3, 
5e-3,250e-3],r,wire=False,fixed=fixed,material='gridNodeMat',color=color)) 
ff = O.bodies.append(gridNode([ 500e-3, 
5e-3,250e-3],r,wire=False,fixed=fixed,material='gridNodeMat',color=color))  
gg = O.bodies.append(gridNode([ 
500e-3,-5e-3,250e-3],r,wire=False,fixed=fixed,material='gridNodeMat',color=color))
hh = 
O.bodies.append(gridNode([-500e-3,-5e-3,250e-3],r,wire=False,fixed=fixed,material='gridNodeMat',color=color))
pfacetCreator3(ee,ff,gg,cylIds=[],pfIds=[],wire=False,material='pFacetMat',color=color)
pfacetCreator3(ee,gg,hh,cylIds=[],pfIds=[],wire=False,material='pFacetMat',color=color)

pfacetCreator3(bb,ff,gg,cylIds=[],pfIds=[],wire=False,material='pFacetMat',color=color)
pfacetCreator3(bb,gg,cc,cylIds=[],pfIds=[],wire=False,material='pFacetMat',color=color)

pfacetCreator3(dd,aa,ee,cylIds=[],pfIds=[],wire=False,material='pFacetMat',color=color)
pfacetCreator3(dd,ee,hh,cylIds=[],pfIds=[],wire=False,material='pFacetMat',color=color)


sp = yade.pack.SpherePack()
sp.makeCloud(mi,ma,porosity=0.7/1.7,psdSizes=[.0014,0.0016,0.0022,.003,.0035],psdCumm=[0.,0.1,0.3,0.6,1.],num=350)
spheres=sp.toSimulation(color=(0,0.5,0.7),material='sphereMat')


for i in O.bodies:
        if isinstance(i.shape,Sphere):
                i.state.blockedDOFs="yXZ"
        if isinstance(i.shape,GridNode):
                i.state.blockedDOFs="xyzXYZ"
        if isinstance(i.shape,GridConnection):
                i.state.blockedDOFs="xyzXYZ"                                    
                                
                                        
#### For viewing ####
from yade import qt
qt.View()
Gl1_Sphere.stripes=True
#----------------------------------------------------------------------------

thanks!
ZHY

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