コード例 #1
0
ファイル: wall.py プロジェクト: wangxiaoliang2012/trunk
O.materials.append(
    FrictMat(young=30e9, density=1000, poisson=.2, frictionAngle=.5))
O.bodies.append([
    utils.wall(1, axis=2, sense=-1),
    utils.wall(-5, axis=0, sense=1),
    utils.wall(1, axis=1),
    utils.wall((1, 0, 0), 0),
    utils.sphere([0, 0, 0], .5),
    utils.sphere([-4, -4, -3], .5)
])
Gl1_Wall(div=10)

from yade import qt

qt.Controller()
qt.View()

O.engines = [
    ForceResetter(),
    InsertionSortCollider(
        [Bo1_Sphere_Aabb(),
         Bo1_Facet_Aabb(),
         Bo1_Wall_Aabb()]),
    InteractionLoop(
        [
            Ig2_Sphere_Sphere_ScGeom(),
            Ig2_Facet_Sphere_ScGeom(),
            Ig2_Wall_Sphere_ScGeom()
        ],
        [Ip2_FrictMat_FrictMat_FrictPhys()],
コード例 #2
0
O.bodies.append(sphere([0,0,10],.5))
#O.bodies.append(sphere([0,0,0],.5,fixed=True))

O.engines=[
	ForceResetter(),
	InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()],label='collider'),
	InteractionLoop(
		[Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()],
		[Ip2_FrictMat_FrictMat_FrictPhys()],
		[Law2_ScGeom_FrictPhys_CundallStrack()],
	),
	NewtonIntegrator(damping=.1,gravity=[0,0,-1e4])
]
collider.verletDist=.5
O.dt=8e-2*PWaveTimeStep()
O.saveTmp()
from yade import timing
O.timingEnabled=True
from yade import qt
r=qt.Renderer()
#r['Body_bounding_volume']=True
v=qt.View(); qt.Controller()
v.ortho=True; #v.viewDir=O.bodies[0].phys.pos; v.lookAt=O.bodies[0].phys.pos;  v.upVector=(0,0,1); 
O.run(2,True)