/
test-from.py
40 lines (33 loc) · 1.03 KB
/
test-from.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import sys
sys.path.append('.')
import clDem
from minieigen import *
from woo import utils
m=utils.defaultMaterial()
O.dem.par.append([
utils.wall((0,0,0),axis=2,material=m,fixed=True),
utils.sphere((0,0,1.3),radius=1,material=m)
])
O.dem.par[-1].vel=(-1.,0,0)
O.dem.par[-1].angVel=(0,1,0)
# O.dem.par[-1].material.tanPhi=0. # no friction
O.scene.dt=.003*utils.pWaveDt()
O.scene.trackEnergy=True
from woo.dem import *
from woo.core import*
O.scene.engines=[
#PyRunner('if len(O.dem.con)>0 and O.dem.con[0].real: O.pause()'),
Gravity(gravity=(0,0,-10)),
Leapfrog(damping=.05,reset=True),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Wall_Aabb()]),
ContactLoop([Cg2_Sphere_Sphere_L6Geom(),Cg2_Wall_Sphere_L6Geom()],[Cp2_FrictMat_FrictPhys()],[Law2_L6Geom_FrictPhys_IdealElPl()],applyForces=True),
]
import woo.qt
woo.qt.View()
O.scene.clDev=(1,0) # intel
sim=woo.cld.CLDemField.wooToClDem(O.scene,stepPeriod=1,relTol=-1)
#O.scene.engines[-1].raiseLimit=1e4
#from woo import plot
#plot.plots=
woo.gl.Gl1_CLDemField.parWire=True
O.saveTmp()