[MBDyn-users] Drive Caller??

David Cross (Civ, ARL/VTD) david.m.cross2 at us.army.mil
Fri Jul 30 22:11:07 CEST 2010

masarati at aero.polimi.it wrote:
>> MBDyn Users,
>> I am using a total joint...
>> I want to drive the orientation about axis 1 by one sine function, and
>> drive the orientation about axis 2 by a second sine function.  I cannot
>> figure out how to do this.  I know how to use an array drive but that is
>> a linear combination of the two functions.  They need to independently
>> drive the two degrees of freedom.  How can this be done?
> Hi.
> In a finite rotation world, independent rotations about two non-parallel
> axes make little sense.
In modeling a flapping wing, one rotation is for wing plunge (flap) and 
the other is for wing pitch.  It seems more straight forward to me to 
define them independently, giving me easier control over the phase 
difference between the two rotations.
> The total joint allows to specify the relative orientation between the
> nodes it connects in terms of a rotation vector (Euler's vector, the
> vector whose direction is the rotation axis and whose magnitude is the
> magnitude of the rotation).  You should figure out what actual orientation
> the two separate ones correspond to, and impose the corresponding Euler
> vector.
> If the rotations you are imposing are "small" (e.g. less than 5-10 degrees
> each), you could approximate this behavior by specifying rotations about
> axes 1 and 2 as the components 1 and 2 of Euler's vector.
> You achieve this by defining
>     # ...
>     orientation constraint, active, active, active,
>         component,                        # template drive caller
>             <rotation about axis 1> ,     # component #1
>             <rotation about axis 2> ,     # component #2
>             0.;                           # component #3
> The "component" Vec3 template drive caller (in this context, a drive
> caller with the dimensions of a Vec3) allows to specify each component of
> the vector as a separate drive caller.  Or, you could do something like
>     # ...
>     orientation constraint, active, active, active,
>         array, 2,
>             1., 0., 0.,                   # first template drive caller,
>                 <rotation about axis 1> , # first rotation;
>             0., 1., 0.,                   # second template drive caller,
>                 <rotation about axis 2> ; # second rotation.
I did not realize you could use the array drive in this format.  The 
example I saw defined a single vector and then referenced two drives.  
This is perfect.  Thank you very much for your help.

> In this case, the "array" applies to the Vec3 template drive caller (it
> comes before the direction specification).
> Hope this helps.
> Cheers, p.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 10120 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://mail.mbdyn.org/pipermail/mbdyn-users/attachments/20100730/012c0b50/attachment-0001.bin>

More information about the MBDyn-users mailing list