×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

Moment of Inertia Tensor - Parallel Axis Therom

Moment of Inertia Tensor - Parallel Axis Therom

Moment of Inertia Tensor - Parallel Axis Therom

(OP)
Good evening. I've been banging my head against the wall a bit trying to compute the moment of inertia of an assembly by hand. The reason for computing the MOI in this way is because the organics in some components (epoxy, potting, etc.) are not accounted for in our Solidworks model, so I've supressed the parts with organics and reported the MOI of everything else. The plan is to then add in the MOI of the remaining parts with their measured masses. Easy peezy, right? I should just be able to the parallel axis theroem to bring everything back to the global origin and bada-bing!

Solidworks reports the principal MOI, the MOI along the model axes, and the MOI about the origin along the model axes (see attached picture).

So, I wrote a quick script in Matlab to figure out the moment of inertia of my measured parts about the origin, given their moment of inertia about the centroid. To test it, I tried taking the moment about the centroid given by Solidworks and finding the moment about the origin:

CODE

I_stator = parallel_axis([      256434.34,      -21.80,         8.76;...
                                -21.80,         165497.02,      -13.34;...
                                8.76,           -13.34,         165469.26],362.56,28.75,0,0)

function I = parallel_axis(I0,mass,x,y,z);
% Function translates the moment of inertia of a body to an arbitrary point in space. For a point mass, use I0 = 0.
R = [0;0;0]-[x;y;z];    % Column vector from the center-of-mass to the origin
I = I0 + mass.*(dot(R,R)*eye(3,3) - R*R');

Which produces:

CODE

I_stator =

   2.5643e+05  -2.1800e+01   8.7600e+00
  -2.1800e+01   4.6518e+05  -1.3340e+01
   8.7600e+00  -1.3340e+01   4.6515e+05

Now if you compare those results to the picture, Solidworks gives the following for the inertia tensor about the origin:

Quote (SolidWorks):


Ixx = 256434.35
Iyy = 465234.02
Izz = 465206.26
Ixy = Iyx = -23.45
Ixz = Izx = 9.35
Iyz = Izy = 13.33

Note that the products of inertia for my calculation don't match SolidWorks. I can't for the life of me figure out what I've screwed up, but I figure that its more like that I made a mistake than SolidWorks (one would hope). Anyhow, any suggestions?

Thanks for the help!

//signed//
Christopher K. Hubley
Mechanical Engineer
Sunpower Incorporated
Athens, Ohio
--
http://engineeringliberty.wordpress.com

RE: Moment of Inertia Tensor - Parallel Axis Therom

Can't fully follow you with Matlab, but the centrifugal moments (products of inertia) cannot change from one reference to the other, as only one distance is not zero, so the products XY , YZ, ZX are all zero. Hence your result is correct.
Don't know what might be wrong with Solidworks: my guess is that Y and/or Z, instead of being exactly zero, are simply a small number that equals zero when represented with only 2 decimal digits.

prex
http://www.xcalcs.com : Online engineering calculations
http://www.megamag.it : Magnetic brakes and launchers for fun rides
http://www.levitans.com : Air bearing pads

RE: Moment of Inertia Tensor - Parallel Axis Therom

(OP)
I apologize, I should have defined my terms in the equation:
x,y,& z are the coordinates of the centroid of the part

I0 is the moment of inertia about the centroid of the object, such that:
[pre]I0 = [ Ixx, -Ixy, -Ixz]
     [-Iyx,  Iyy, -Iyz]
     [-Izx, -Izy,  Izz][/pre]
R is the translation vector between the centroid and the origin,
R = [0;0;0]-[x;y;z]
mass is the mass of the object
dot(R,R) is the dot product of the position vector or |R|^2
eye(3,3) is a three-by-three identity matrix
R*R' is the outer product of the position vector

The parallel axis theorem in tensor form (as I understand it) is:
I = I0 + mass*(dot(R,R)*eye(3,3) - R*R')

Greg,
I'll compute the moment of inertia of a simple cylinder and report back.

Thanks for the help.

-Chris

//signed//
Christopher K. Hubley
Mechanical Engineer
Sunpower Incorporated
Athens, Ohio
--
http://engineeringliberty.wordpress.com

RE: Moment of Inertia Tensor - Parallel Axis Therom

(OP)
Simple cylinder (oriented in the z-direction): [pre]
CoM:    x=25, y=25, z=0
mass:    15.71 grams
radius:    10 mm
height: 50 mm[/pre]
I get:[pre]
I0 = [3.6657e+03,   0.0000e+03,   0.0000e+03]
     [0.0000e+03,   3.6657e+03,   0.0000e+03]
     [0.0000e+03,   0.0000e+03,   7.8550e+03][/pre]
and[pre]
I  = [ 1.3484e+04, -9.8188e+03,  0.0000e+00 ]
     [-9.8188e+03,  1.3484e+04,  0.0000e+00 ]
     [ 0.0000e+00,  0.0000e+00,  2.0423e+04 ][/pre]
Solidworks, on the other hand, gives (about the CoM):[pre]
Lxx = 3665.19
Lyy = 3665.19
Lzz = 785.40[/pre]
and about the origin:[pre]
Ixx = 13482.67
Iyy = 13482.67
Izz = 20420.35
Ixy = Iyx = 9817.48
Ixz = Izx = 0
Iyz = Izy = 0[/pre]

Again, they don't seem to match up exactly... perhaps I'm seeing numerical error? I'd expect that Solidworks were a little bit more precise though...

//signed//
Christopher K. Hubley
Mechanical Engineer
Sunpower Incorporated
Athens, Ohio
--
http://engineeringliberty.wordpress.com

RE: Moment of Inertia Tensor - Parallel Axis Therom

Numerically, your results don't seem that far off from the SW output, as prex said your numbers are good to at least 2 sig figs, and the differences in the cross terms are likely due to the, well differencing of large numbers...

but what's bothersome is the sign change for Iyz, SW reports a (+) value where you report a (-).  Still in the noise as far as the numbers go though.

RE: Moment of Inertia Tensor - Parallel Axis Therom

(OP)
Whoops... looks like I should have used the "tt" TGML tag rather than "pre"

//signed//
Christopher K. Hubley
Mechanical Engineer
Sunpower Incorporated
Athens, Ohio
--
http://engineeringliberty.wordpress.com

RE: Moment of Inertia Tensor - Parallel Axis Therom

Supplemental to this discussion, I've always wondered how a CAD program calculates volume, and therefore inertia > if anyone has a good answer to this (even if limited to a certain CAD package), I'd be interested in hearing. And, if it's some type of numerical integration of volume 'bits', it may be the reason for the discrepancies in the calculations from Christopher > manual calculation of cylinder volume is simple but when it comes to, say, a piston or crankshaft I'm at a loss to the theory & methods used by the CAD package. Since the volume calculation /must/ work for any 3D geometry, perhaps the algorithm used is still just an approximation?

RE: Moment of Inertia Tensor - Parallel Axis Therom

(OP)
I think that I've got this figured out. Apparently SolidWorks has an adjustable "resolution" slider under the advanced settings for mass and MoI calcs and the default setting is low. I'm going to try retrieving new numbers from SW and see if my numbers work out.

Per kirrer's comments, I think that SW is performing numerical integration behind the scenes to compute center-of-mass, volume, and moment of inertia. I'd bet that they're generating a tet-mesh behind the scenes and summing up the masses and moments of the elements. More refinement == more elements == more accuracy.

Anyhow, I'm recomputing; I think that this might have been the issue.

//signed//
Christopher K. Hubley
Mechanical Engineer
Sunpower Incorporated
Athens, Ohio
--
http://engineeringliberty.wordpress.com

RE: Moment of Inertia Tensor - Parallel Axis Therom

I would trust your hand calcs more than SW. But, it is useful to understand how the software performs the calculation.  

peace
Fe (IronX32)

RE: Moment of Inertia Tensor - Parallel Axis Therom

(OP)
Yeah, the resolution setting in SolidWorks was the issue. Be sure to keep that in mind when using MoI numbers from SolidWorks... the default values seem to be pretty rough. Here's the updated results:

CODE

-------------------------MATLAB CODE-------------------------
I_sta  = parallel_axis([256434.342619,    -21.798039,      8.757363;...
                           -21.798039, 165497.012663,    -13.338453;...
                             8.757363,    -13.338453, 165469.252302],...
                       364.560669, 28.75278, -0.004341, 0.001737)

function I = parallel_axis(I0,mass,x,y,z);
% Function translates the moment of inertia of a body about its CM to the origin. For a point mass, use I0 = 0.
R = [0;0;0]-[x;y;z];    % Column vector from the center-of-mass to the origin
I = I0 + mass.*(dot(R,R)*eye(3,3) - R*R');
endfunction

-------------------------MATLAB RESULTS-------------------------
I_sta =

   2.5643e+05   2.3705e+01  -9.4501e+00
   2.3705e+01   4.6689e+05  -1.3336e+01
  -9.4501e+00  -1.3336e+01   4.6686e+05
The SolidWorks results for the moment about the origin (for comparison) are:
Ixx = I11 = 256434.350546
Iyy = I22 = 465234.016246
Izz = I33 = 465206.261624
Ixy = Iyx = -I12 = -I21 = -23.454951
Ixz = Iyz = -I13 = -I31 =   9.351502
Iyz = Izy = -I23 = -I32 =  13.335719


Much better :)

//signed//
Christopher K. Hubley
Mechanical Engineer
Sunpower Incorporated
Athens, Ohio
--
http://engineeringliberty.wordpress.com

RE: Moment of Inertia Tensor - Parallel Axis Therom

better ? ... SW looks very similar to your original post ??

Quote (SolidWorks):

Ixx = 256434.35
Iyy = 465234.02
Izz = 465206.26
Ixy = Iyx = -23.45
Ixz = Izx = 9.35
Iyz = Izy = 13.33


but your MATLAB has changed (a little, but then we were chasing a little difference) ...
I_stator =

   2.5643e+05  -2.1800e+01   8.7600e+00
  -2.1800e+01   4.6518e+05  -1.3340e+01
   8.7600e+00  -1.3340e+01   4.6515e+05

since i don't use MATLAB, is it something that you use inside of SW ? (and hence affected by SW resolution)

RE: Moment of Inertia Tensor - Parallel Axis Therom

(OP)
rb1957,
The original output form SW didn't give me enough sig-figs, so when I did my calculations there was some numerical error that cropped up.

The worrisome part was that the signs of the products of inertia in my calculations didn't match up with what SolidWorks was generating when I computed the moment of inertia about the origin given the moment of inertia about the centroid using the parallel axis theorem.

It turns out that I needed to output more significant digits from SolidWorks to generate accurate products of inertia (since they were small relative to the moments about the axes).

//signed//
Christopher K. Hubley
Mechanical Engineer
Sunpower Incorporated
Athens, Ohio
--
http://engineeringliberty.wordpress.com

RE: Moment of Inertia Tensor - Parallel Axis Therom

arh, i see
("said the blind man in the dark room, looking for the black cat, that isn't there", Rowan Atkinson)

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources