[Paraview] [EXTERNAL] Re: Rotational velocities

Moreland, Kenneth kmorel at sandia.gov
Tue Jul 8 20:04:42 EDT 2014


I've never done this, and maybe there is an existing established way to do it, but a simple Google search did not reveal it. Here is what I think from my understanding of the movement of rigid bodies.

First, the rotation only makes sense around some fixed point. For example, OpenGL defines all rotations around the origin of the coordinate system, but I'm sure that is not what John is after. I'm guessing that he would probably be interested in rotations around the center of mass. An average of all the point coordinates might be a close enough approximation to the center of mass.

Next, find the translation of the rigid body by looking at the displacement at the center of mass. That displacement is the translation. Now subtract that translation vector from all the displacements to get what I will call the rotation displacement (a term I just made up).

Now you can use any of these rotation displacements to find the rotation. Technically any one displacement will give you the rotation (because it is a rigid body), but you should pick one far away from the axis of rotation. Just find one with a large rotation displacement and that would be fine. Consider the vector from the center of mass to the original point and the vector from the center of mass to the point moved by the rotation displacement. The cross product of those two vectors should be in the direction of the axis of rotation and its length is equal to the product of the lengths of those two vectors times the sine of the angle of rotation.

-Ken

From: <Scott>, Walter Scott <wascott at sandia.gov<mailto:wascott at sandia.gov>>
Date: Tuesday, July 8, 2014 5:25 PM
To: Berk Geveci <berk.geveci at kitware.com<mailto:berk.geveci at kitware.com>>
Cc: "paraview at paraview.org<mailto:paraview at paraview.org>" <paraview at paraview.org<mailto:paraview at paraview.org>>
Subject: Re: [Paraview] [EXTERNAL] Re: Rotational velocities

>From my user:

Alan,

I am not sure I have a good answer. Let’s say we have a block of elements moving through space that represent some component. That component is translating and rotating as a rigid body (or flexible/deformable body). I want to be able to calculate in paraview the rigid body translation and rotation of the body based on the nodal displacement or coordinate information. The nodes only include translation information since they are from hexahedral elements. I am not aware of the algorithm for performing that calculation, but I am pretty sure one exists for a rigid body (maybe even for a deformable body as well – although in the latter case, I would guess the algorithm is not exact). Digital image correlation techniques come to mind. The DIC people perform these calculations all the time somehow. Anyway, that is what I want to be able to do. Say something like “calculate motion of block 100” and plot the six degree of freedom translation and rotations versus time. And then save the information to an ASCII file for plotting in an external program, such as excel.

John

From: Berk Geveci [mailto:berk.geveci at kitware.com]
Sent: Tuesday, July 08, 2014 5:10 PM
To: Scott, W Alan
Cc: paraview at paraview.org<mailto:paraview at paraview.org>
Subject: [EXTERNAL] Re: [Paraview] Rotational velocities

It would be good to have some more clear mathematical definition of (2). I am assuming it involves some sort of integration but it is not clear.

On Tue, Jul 8, 2014 at 5:45 PM, Scott, W Alan <wascott at sandia.gov<mailto:wascott at sandia.gov>> wrote:
Two questions from a user.  I don’t yet know if the user is using ParaView remote server.  I know that we have number 1) being implemented, but is there any other way to do it?  Any ideas on 2)?

Thanks,

Alan



1)      I want to calculate the average nodal velocity for nodes in a particular element block. How do I do that? The documentation for paraview discussing how one might do that is very confusing and not all that helpful.



2)      I want to calculate the rotational velocities of a component (block of elements) in paraview using the nodal translational velocities. How do I do that?


Thanks for your help.



_______________________________________________
Powered by www.kitware.com<http://www.kitware.com>

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20140709/067f1ad3/attachment.html>


More information about the ParaView mailing list