Message Boards Message Boards

0
|
1703 Views
|
1 Reply
|
3 Total Likes
View groups...
Share
Share this post:

Why this multibody system doesn't work in SystemModeler?

Posted 11 months ago

Hi, Sorry for the beginner's doubt, but why the system below doesn't work? enter image description here

When I try to run, it returns an error:

Error: Equation without any variables revealed after application of replacements:
    0.0 = 0.0   Equation before replacements:
    0.0 = atan2(spring1.lineForce.lineShape.widthDirection[2] * spring2.lineForce.lineShape.widthDirection[3] - spring1.lineForce.lineShape.widthDirection[3] * spring2.lineForce.lineShape.widthDirection[2], 1.0)   Replacements:
    spring2.lineForce.lineShape.widthDirection[3] -> 0.0
    spring2.lineForce.lineShape.widthDirection[2] -> 1.0
    spring1.lineForce.lineShape.widthDirection[3] -> 0.0
    spring1.lineForce.lineShape.widthDirection[2] -> 1.0                                                      Error: Equation without any variables revealed after application of replacements:
    0.0 = 0.0   Equation before replacements:
    0.0 = 1.5707963267949 * (1.0 - sign(spring1.lineForce.lineShape.widthDirection[3] * spring2.lineForce.lineShape.widthDirection[3] + spring1.lineForce.lineShape.widthDirection[1] * spring2.lineForce.lineShape.widthDirection[1] + spring1.lineForce.lineShape.widthDirection[2] * spring2.lineForce.lineShape.widthDirection[2]))   Replacements:
    spring2.lineForce.lineShape.widthDirection[3] -> 0.0
    spring2.lineForce.lineShape.widthDirection[2] -> 1.0
    spring2.lineForce.lineShape.widthDirection[1] -> 0.0
    spring1.lineForce.lineShape.widthDirection[3] -> 0.0
    spring1.lineForce.lineShape.widthDirection[2] -> 1.0
    spring1.lineForce.lineShape.widthDirection[1] -> 0.0 Error: Equation without any variables revealed after application of replacements:
    0.0 = 0.0   Equation before replacements:
    0.0 = atan2(spring1.lineForce.lineShape.widthDirection[1], 1.0)   Replacements:
    spring1.lineForce.lineShape.widthDirection[1] -> 0.0

But when I try the following system with one fixed point, it works: enter image description here

I tried to initialize the body properly in each system, but just the second one works. I know that there is some constraint issue but I can't see clearly why it doesn't work. I can imagine the system working mechanically but bringing it to multibody approach in modelica it still hard for me.

Follow attached both models.

OBS: Gravity vector is {0,0,-1}.

Attachments:
POSTED BY: Michel Oliveira

A single prismatic constraint is enough to force the whole system to remain horizontal, see the model attached. Due to the nature of the constraint, this will be the case even if the springs/dampers are set with different parameter values.

You can let the system rotate if you introduce a spherical constraint component, Modelica.Mechanics.MultiBody.Joints.Spherical, between the end of the prismatic and the horizontal translation that goes to the body. The rotation will clearly manifest if, for instance, you set the springs/dampers with different parameter values, or you play with the initial values.

Attachments:
POSTED BY: Sergio Vargas
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract