Hi, Vaclav, Sorry, I didn't know that, I thought the threads are just identified by their title:-|. Thanks for your reply, since I need to do a lot of "dynamic" things like add or remove an object during the simulation, always writing a new engine and adjust those parameters might be very inefficient. do you know how can I start the python interface for YADE, is there any sample code already in the package? It looks a very efficient way of doing "dynamic" operations.
________________________________ From: [EMAIL PROTECTED] on behalf of Václav S(milauer Sent: Fri 5/16/2008 11:29 AM To: [email protected] Subject: Re: [Yade-users] About adding a surcharge (either box or force) during simulation Feng, please can you NOT reply to mails on the list if you change subject? That makes threading broken; please write new message to [email protected] from scratch. Thanks :-) > I have an assembly of particles which needs to consolidate first, then > I need to apply a surcharge on top of them. I thought of two ways: > (1) apply a box on top of the assembly. But my question is how to add > a box (dynamic = true) after a certain steps, for example, first > iterate 5k steps then activate the top box? > (2) Apply a force on top of the load, adding another "Engine", count > the iteration number "Niter", after "Niter", add the load on top of > the particle assembly. In any case you will have to write engine that will check iteration number and if the condition is met, do some action. in (1), it would create the box body, add ForceEngine to engines and subscribe the box to the engine. (2) seems quite complicated, since loading the particle assembly without the wall, you have to say which elements are on the boundary, if I understand what you mean in (2). --- In Python you could do it like this: [create simulation] o=Omega() o.run(5000) # run 5000 iterations boxId=o.bodies.append(yade.utils.box([cx,cy,cz],[extx,exty,extz],density=...,...)) # create box, add it to bodies, save body id # put ForceEngine after the 5th engine (for example) o.engines=o.engines[:5]+DeusExMachina("ForceEngine",{'force'=[0,0,-100],'subscribedBodies':[boxId]})+o.engines[5:] o.run() #continue simulation But currently there is no 3d view in PythonUI, which is a considerable problem :-|. You could overcome this by calling yade.utils.runInQtGui() one the engine is added (instead of o.run()). That saves simulation to file and loads it in the GUI. Regards, Vaclav _______________________________________________ Yade-users mailing list [email protected] https://lists.berlios.de/mailman/listinfo/yade-users
_______________________________________________ Yade-users mailing list [email protected] https://lists.berlios.de/mailman/listinfo/yade-users
