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

Reply via email to