yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #21780
[Question #688203]: Simulation blocked after O.run in a conditional translation motion
New question #688203 on Yade:
https://answers.launchpad.net/yade/+question/688203
Hello,
This mistake may be obvious but I can't get it.
I am studying the translation motion of a boundary WS (using TranslationEngine) as long as an conditional statement is fulfilled
(the height of the boundary h_WS must be smaller than the maximum height of the packing hmaxSpheres).
I use O.run(1,True) to let the engine work for one time step but the simulation seems to be frozen at the "O.run(1,True)" statement.
****************************************************************************************************
[...
PyRunner(command='kinematics_WS()',realPeriod=1,label='kine'),
...
]
def kinematics_WS():
h_WS = calc_h()[0]
hmaxSpheres = calc_h()[1]
print 'test0','h_WS=',h_WS,'hmaxSpheres=',hmaxSpheres
TransEngload2 = TranslationEngine(ids=fctIdsWS,translationAxis=[0,-1,0],velocity=10)
O.engines=O.engines+[TransEngload2]
while h_WS > hmaxSpheres:
print 'test01'
TransEngload2.dead = False
print 'test02'
O.run(1,True) ***************frozen here!***************************
# O.engines=O.engines+[PyRunner(command='calc_h()')]
print 'test03'
h_WS = calc_h()[0]
hmaxSpheres = calc_h()[1]
print 'test1','h_WS=',h_WS,'hmaxSpheres=',hmaxSpheres
TransEngload2.dead = True
else:
.....
****************************************************************************************************************
Output:
test0 h_WS= 130.0 hmaxSpheres= 100.369406791
test01
test02
.......frozen
The boundary does not seem to move even if i put a higher step number in O.run()
*****************************************************************************************************************
Thank you for your Help,
Best
Vincent
--
You received this question notification because your team yade-users is
an answer contact for Yade.