File: collider-stride.py

package info (click to toggle)
yade 2025.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,308 kB
  • sloc: cpp: 93,298; python: 50,409; sh: 577; makefile: 162
file content (34 lines) | stat: -rw-r--r-- 982 bytes parent folder | download | duplicates (3)
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
# -*- encoding=utf-8 -*-
#
# check visually whether swept bounding boxes work as expected
#

mat = O.materials.append(FrictMat(young=30e9, poisson=.2, density=4000, frictionAngle=.5))

O.bodies.append([facet([[1, 0, 0], [-1, 2, 0], [-1, -2, 0]], material=mat), sphere([0, 0, 2], .5, color=(0, 1, 0), material=mat)])
O.bodies[1].state.vel = Vector3(0, 0, -1)
O.dt = PWaveTimeStep()

O.engines = [
        ForceResetter(),
        InsertionSortCollider([Bo1_Sphere_Aabb(), Bo1_Facet_Aabb()], label='isc'),
        InteractionLoop(
                [Ig2_Facet_Sphere_ScGeom(), Ig2_Sphere_Sphere_ScGeom()],
                [Ip2_FrictMat_FrictMat_FrictPhys()],
                [Law2_ScGeom_FrictPhys_CundallStrack()],
        ),
        NewtonIntegrator(damping=0, gravity=[0, 0, -100])
]

from yade import timing, qt
try:
	renderer = qt.Renderer()
	#renderer['Body_bounding_volume']=True
	qt.Controller()
	qt.View()
except ImportError:
	pass

O.timingEnabled = True
O.saveTmp()
O.step()