# Solve for dimensions of rectangular prism given inertia

1. Dec 25, 2010

### krenzke

I am trying to solve something of an inverse problem for inertia, and having a real tough time with it. Any suggestions would be helpful.

For a rectangular prism the mass and moments of inertia are:
m = rho*A*B*C
Ixx = m/12*(B^2 + C^2)
Iyy = m/12*(A^2 + C^2)
Izz = m/12*(A^2 + B^2)

Where m is mass, rho density, A width, B length, C height, and Ixx, Iyy, Izz are the principal moments of inertia. My problem involves a hollow rectangular prism, with wall thickness t. So the equations then become:

mOuter = rho*A*B*C
mInner = rho*(A-2*t)*(B-2*t)*(C-2*t)
m = mOuter - mInner
Ixx = mOuter/12*(B^2 + C^2) - mInner/12*((B-2*t)^2 + (C-2*t)^2)
Iyy = mOuter/12*(A^2 + C^2) - mInner/12*((A-2*t)^2 + (C-2*t)^2)
Izz = mOuter/12*(A^2 + B^2) - mInner/12*((A-2*t)^2 + (B-2*t)^2)

To see how these equations work imagine taking a rectangular prism and subtracting out a smaller rectangular prism from the inside. Given length (A), width (B), height(C), thickness (t), and density (rho) I can easily solve for the mass and moments of inertia. What I would like to do is given m, rho, Ixx, Iyy, and Izz solve for A,B,C, and t. I tried doing the hand-calc to solve the 4 equations for the 4 unknowns and quickly ran into a seemingly intractable 15th-degree polynomial in t with tons of unknown coefficients. If anyone has any ideas on how to solve this I would greatly appreciate it. It doesn't have to be a closed form solution (though that would be best), iterative or other methods would work as well.

Any ideas?

2. Dec 26, 2010

### Filip Larsen

Welcome to PF!

If you want to pursue a numerical solution coded by yourself (as opposed to using a numerical solver in, say, Matlab or Mathematica), one of the standard tools in that toolbox would be to try solve it using Newton-Raphson [1] on your system of equations. If you want to try that, you should probably write it up as a system of equations of 4 unknowns and 4 knowns, as density is just a scale factor, and note that you can break symmetry in A, B and C by restricting the solution to $A \geq B \geq C > 2t > 0$ and make an initial guess that is asymmetric, like for instance $B = A/2, C = A/4, t = A/16$ which should give the initial guess $A^3 = \frac{512}{43}\frac{m}{\rho}$.

[1] http://en.wikipedia.org/wiki/Newton's_method#Nonlinear_systems_of_equations

3. Dec 27, 2010

### krenzke

Thanks for the reply! I finally did try a newton-rhapson method coded in c++, and it seems to work pretty well. I've been using the eigenvalues of the inertia tensor as the initial guess, with some fraction of the smallest value as the thickness. I have noticed that it will periodically converge to a non-physical value (i.e. A,B,C or t less than zero), but in this case taking the absolute value of the non-physical answer and putting that back into the iterative solver seems to come up with a different (and realistic) solution. Not sure if there is a better way to ensure that the solution lands in the positive quadrant...perhaps a boundary function of some sort?

4. Dec 27, 2010

### Filip Larsen

I'm probably just stating the obvious here, but anyway:

If the non-physical solutions pop up after a large jump in state (due to a small-magnitude Jacobian giving rise to a large state change) you could try limit the magnitude of the state change.

If the non-physical solution appears during a normal "slow" convergence sequence, then your initial guess must belongs to the attraction basin of that solution and a different initial guess is (as you say) obviously needed, probably one where the value for A, B and C are more equal in magnitude. If non-physical solutions are a real problem a practical "work-around" may be to map out the attraction basins of different initial guesses to see if there is a class or pattern of initial guesses that always converge to the physical solution and then stick to those.

If I recall correctly, there should also be a fair bit of convergence theory which may help you if you want to analyse convergence in a more theoretical way, although I'm not sure how well it will apply to your non-linear system.