Opened 11 years ago

Closed 11 years ago

#2403 closed defect (fixed)

Counting size of equations is wrong if tuples are involved

Reported by: Adrian Pop Owned by: Adrian Pop
Priority: high Milestone: 1.9.0
Component: Backend Version: trunk
Keywords: Cc: Lennart Ochel, Willi Braun

Description (last modified by Adrian Pop)

This model:

Real x[10];
equation
  (,,x[1],) = fcall(1); // wrongly counted as size 10!
  (,,x[2],) = fcall(2); // wrongly counted as size 10!
  ...
  (,,x[10],) = fcall(10); // wrongly counted as size 10!

So the system is not balanced as it has 10 variables and 100 equations.
This happens because we expand array crefs in algorithms to their full size and we also translate tuple = fcall() equations to algorithms.

This affects for example: ModelicaTest.Fluid.Dissipation.Verifications.HeatTransfer.Channel.kc_evenGapLaminar

Change History (3)

comment:1 by Adrian Pop, 11 years ago

Description: modified (diff)

comment:2 by Adrian Pop, 11 years ago

Owner: changed from probably noone to Adrian Pop
Status: newaccepted

I can fix this by sending a flag to lowerAlgorithm to know is an equation and not expand crefs in that case. Do you have any other (better way) to do this?

comment:3 by Adrian Pop, 11 years ago

Resolution: fixed
Status: acceptedclosed

Fixed in r17557.

Note: See TracTickets for help on using tickets.