yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #12779
[Question #294519]: Forcing InsertionSortCollider execution
New question #294519 on Yade:
https://answers.launchpad.net/yade/+question/294519
Hi,
I would like to force InsertionSortCollider to do his job on demand, and could not find how to do it. Is it possible ?
To give you some background about the issue, I'd like to introduce distant interactions at some point in a simulation, changing aabbEnlargeFactor and interactionDetectionFactor once the simulation has already started. However, I have been unsuccessful when InsertionSortCollider does not run right after the changes (and it does not always run)
The script below considers two distant spheres to illustrate the issue and the link with InsertionSortCollider executions : change O.run(10,1) to e.g. O.run(1,1) and ISC would run each timestep and I would get my distant interaction..
************************************************
from yade import timing
O.timingEnabled=True
O.bodies.append(sphere(Vector3(0,0,0),1,fixed=True))
O.bodies.append(sphere(Vector3(0,0,3),1,fixed=True))
O.run(10,1)
print 'Number interactions = ', O.interactions.countReal()
# Attempting to introduce distant interactions
O.engines[1].boundDispatcher.functors[0].aabbEnlargeFactor = 2.0
O.engines[2].geomDispatcher.functors[0].interactionDetectionFactor = 2.0
O.engines[2].lawDispatcher.functors[0].neverErase = True
O.step()
print 'Number interactions = ', O.interactions.countReal()
# => 0 in this case, I need InsertionSortCollider to run to get my interaction
yade.timing.stats()
*******************************************************
--
You received this question notification because your team yade-users is
an answer contact for Yade.