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.

_______________________________________________
Mailing list: https://launchpad.net/~yade-users
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp

Reply via email to