Hi Wenxuan,

1. When you load a mesh or an analytical object, it's by default in family 
255, a reserved and automatically fixed family. You probably changed your 
mesh into a family that does not have any motion prescription, then in that 
case it follows the "normal physics" like all the particles you load in, 
including falling under gravity. If you wish to fix that family, just use 
*SetFamilyFixed*.

2. This is more complicated. First, we have to understand that in DEME, 
strictly speaking, objects work with their principal frames of inertia 
(centered at CoM, having a diagonal inertia matrix). This is a current 
limitation due to how the inertia matrix-defining APIs are designed: you 
can only input the principal moments of inertia. But this also means that 
setting the frame correctly is not necessary if you completely prescribe 
the motion of that object (a.k.a. this object does not respond to physics), 
and you don't care about getting a torque reading. However, in your case, I 
suggest you do so, since you'll prescribe a complex motion, and 
standardizing the frame to use at least the CoM frame can save you some 
head-scratching. I suggest that you make it such that in the mesh file you 
load in, the (0,0,0) point is right at the CoM of this mesh; but if not, 
you can adjust the CoM and principal axes with *InformCentroidPrincipal* 
after loading in the mesh.

After that is taken care of, you need to combine the two rotations into a 
rotation about this object's own CoM and a linear translation of this 
object's CoM (because family motion prescription allows for setting these 
two motions only). Use your MBD knowledge to do that. I don't guarantee the 
correctness of this, but some back-of-the-envelop calculation seems to put 
the angular velocity to be (w2×cos(w1×t), w2×sin(w1×t), w1), and the linear 
velocity to be 5×(w2×cos(w2×t)×sin(w1×t)+sin(w2×t)×w1×cos(w1×t), 
-w2×cos(w2×t)×cos(w1×t)+sin(w2×t)×w1×sin(w1×t), 0). Again, please verify 
yourself. After that, prescribe the object's family's motion using it.

But if this is too complicated and you can write your code to calculate the 
location and quaternion of this object at any given *t *(which for some 
people is easier than mathematically deriving the analytical expression for 
the linear and rotational motions), then you can set this object fixed, 
then use the tracker methods *SetPos *and *SetOriQ *to enforce the location 
and rotation of this object *at each time step*. It should achieve the same 
assuming this object is not moving at a very high velocity.

Thank you,
Ruochun

On Thursday, June 27, 2024 at 2:49:43 PM UTC+8 [email protected] wrote:

> Hi,
>      I want to achieve a composite rotational motion of a geometric body, 
> as follows
> Motion 1: Rotate at a speed of w1 rad/s, with the rotation axis being the 
> z-axis
> Motion 2: Rotate at a speed of w2 rad/s, with a rotation vector of [1 * 
> cos (w1 * time), 1 * sin (w1 * time), 0], and an action point of [0, 0, 5], 
> as shown in attached figure.
> [image: rotating_Chute.png]
>
>
> However, the following issues were encountered:
> 1. After using DEMTracker to track geometry, even if I don't add any 
> motion, the geometry will continue to drop down. How can I fix the geometry?
> 2. How to achieve the composite rotational motion mentioned above?
>
> Best regards,
> Wenxuan Xu
>

-- 
You received this message because you are subscribed to the Google Groups 
"ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/projectchrono/71201812-4db1-4c8d-9783-d0ca4e3ecedcn%40googlegroups.com.

Reply via email to