Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1947 closed defect (fixed)

unbalanced model - Wrong root in connection graph

Reported by: Christian Schubert Owned by: Adrian Pop
Priority: critical Milestone: 1.9.0
Component: Frontend Version: trunk
Keywords: unbalanced connection graph Cc:

Description

I found a bug in the connection graph handling.

If the world object, which defines Connection.root(), is used in a submodel with an outer prefix, it seems that the root is not recognized as such.

See the attached test model (CGraphBug.TopModel). From the equations it can be seen, that mass.frame_a is chosen as root, as the following equations are generated:

27 (22): if mass.useQuaternions then
  mass.phi_dd[3] = 0.0
  mass.phi_dd[2] = 0.0
  [...]

This branch is only selected if Connections.isRooted(mass.frame_a) becomes true.

Attachments (4)

CGraphBug.mo (2.0 KB ) - added by Christian Schubert 12 years ago.
CGraphBug.mos (359 bytes ) - added by Christian Schubert 12 years ago.
CGraphBug-GrapVizFile.png (18.5 KB ) - added by Adrian Pop 12 years ago.
generated with +d=cgraphGraphVizFile
CGraphBug-GrapVizFile-correct.png (15.6 KB ) - added by Adrian Pop 12 years ago.
generated with +d=cgraphGraphVizFile

Download all attachments as: .zip

Change History (7)

by Christian Schubert, 12 years ago

Attachment: CGraphBug.mo added

by Christian Schubert, 12 years ago

Attachment: CGraphBug.mos added

by Adrian Pop, 12 years ago

Attachment: CGraphBug-GrapVizFile.png added

generated with +d=cgraphGraphVizFile

comment:1 by Adrian Pop, 12 years ago

Hm, it seems we're missing the connection:

 connect(world.frame_b, frame_a)

from SubModel1 as far as I can see. I'll look more into it.

by Adrian Pop, 12 years ago

generated with +d=cgraphGraphVizFile

comment:2 by Adrian Pop, 12 years ago

Resolution: fixed
Status: newclosed

Fixed in r14011.

comment:3 by Adrian Pop, 12 years ago

Christian, can you add this model to the testsuite so we don't break this stuff again?
Thanks!

Note: See TracTickets for help on using tickets.