Is there any way to create inertial forces in Simscape Multibody?

18 ビュー (過去 30 日間)
Cameron McNatt
Cameron McNatt 2017 年 10 月 5 日
回答済み: Steve Miller 2022 年 11 月 28 日
I am using Simscape Multibody to model an ocean wave energy converter. (I am using the same method (and some of the code) as WEC-Sim:, and they have the same problem).
The problem is that: when you linearize the wave-structure problem you get inertial terms due to the fact that the body is pushing around water. That is, the "mass" is not just the mass of the rigid body, but also the mass of the fluid is moves. You get a so-called "added mass" matrix which represents the mass of the fluid that moves.
The problem with the added mass matrix is that it has off-diagonal inertial terms, potentially between any two DOF. e.g. when it moves in surge, the pressure due to the moving fluid can create a moment in pitch. The added mass matrix for a 6DOF body is 6x6. This means, that you can't put it in as the mass, inertia values of a rigid body.
What I've done (and I got this from WEC-Sim) is to move some of the added-mass terms to the mass inertia values of a rigid body, but keep the off-diagonal terms and create a force proportional to acceleration. This creates an algebraic loop that can't be solved in general. The next solution is to introduce a time delay. This works for most situations, except when the off-diagonal terms are large, then it creates instabilities.
The best solution for me would be able to specify the full 6x6 mass matrix in the Simscape Multibody rigid body, but this doesn't seem to be an option.
Is there any other way to create this type of force?
  5 件のコメント
Mike Whincup
Mike Whincup 2021 年 2 月 23 日
I have a similar problem. Did you find a solution?


回答 (1 件)

Steve Miller
Steve Miller 2022 年 11 月 28 日
An example of inertial forces is modeled in the File Exchange submission Modeling and Simulation of an Autonomous Underwater Vehicle. A MATLAB Live Script explains the calculation - see a portion of the calculationin this screenshot:
Simulink is used to calculate the force, which is then applied using the External Force and Torque block.
See this recording to learn more about the example

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by