one hope is that instead of saying O.run(1000), you say O.iter, then
calculate the new location of the zero point of the minor axis, then
iterate again. the calculations of the new zero point location would
take place outside the definitions/declarations of the engines, but
the engines would never-the-less have access to, and make reference
to, the new calculated zero point of the minor axis.
What about adding a user setable variable in rotation engine that would
be the velocity of the reference points (or also rotational velocity
relative to one reference -- heh sounds like nested rotations)?
That way you don't have to update position, run(1,True), update
position, run(1,True)... The rotation engine would have a function
updating itself.
With RefPoint velocity = 0 (default), it would be fixed rotation, like
now. But if user set velocity=(1,0,0), the rotation axis will be
translated of (1,0,0)*dt at each step (for instance). It doesn't prevent
large displacement in only one step since you can always write
velocity=dispYouWant/dt.
Also, if you really need this run(1)+update in the end, there is a
better trick : you can use PeriodicPythonRunner to execute a command
from inside the calculation loop without stopping it. I'm sure it is in
the documentation, you can also see example usage in scripts (e.g.
scripts/test/shear.py).
Cheers.
Bruno
I will test this theory..
--- On *Thu, 7/15/10, Michael Jensen /<[email protected]>/* wrote:
From: Michael Jensen <[email protected]>
Subject: Re: [Yade-users] hello? -help with a spinning bucket!
To: [email protected]
Received: Thursday, July 15, 2010, 1:05 PM
salutations once more :-D
I have another question for you, very interested to know what the
answer will be..
one of the partial engines is the RotationEngine. This engine
takes several variables, notably a bolean, a point, and an axis.
so far so good. with a point and axis defined, everybody is happy.
what if I want my point itself to move? for example, I want my
thing to rotate around an axis whose direction is fixed in time,
but I want the location of that axis, defined by the point, to
itself rotate around another point and axis, a second point/axis
pair. this is the situation that occurs when you have one object
rotating, attached to another one that is also rotating.
that is the most direct way to approach what I want to do. the
other way is to introduce the manually the forces that result when
my bucket spinns, so that I don't have to make it spinn at all,
and I can go ahead and add my second spinning device.
I will have to implement one of these two solutions, or something
equivalent, if my simulations are ever to completely represent my
device.
it seems to me like the first option should be relatively easy to
code, if it does not yet exist, and that it could be a powerful
way to extend yade, in that a user would not be limited to two
such spinning things, but could in theory simulate much more
complex motion.
-mike
_______________________________________________
Mailing list: https://launchpad.net/~yade-users
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help : https://help.launchpad.net/ListHelp
--
_______________
Bruno Chareyre
Associate Professor
ENSE³ - Grenoble INP
Lab. 3SR
BP 53 - 38041, Grenoble cedex 9 - France
Tél : +33 4 56 52 86 21
Fax : +33 4 76 82 70 43
________________
_______________________________________________
Mailing list: https://launchpad.net/~yade-users
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help : https://help.launchpad.net/ListHelp