← Back to team overview

yade-users team mailing list archive

[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.