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

8 visualizzazioni (ultimi 30 giorni)
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: http://wec-sim.github.io/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 Commenti
Richard Crozier
Richard Crozier il 26 Ago 2019
This won't work because the inertial terms introduce a configuration (actually, acceleration) dependent force which only appears at the right-hand side of the problem. This probably causes the convergence issues the OP reports.
Without deep access to the multibody solver I doubt you will be able to fix this. Just using different solver probably won't help that much.

Accedi per commentare.

Risposte (1)

Steve Miller
Steve Miller il 28 Nov 2022
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
--Steve

Community Treasure Hunt

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

Start Hunting!

Translated by