Opened 12 years ago

Closed 7 years ago

#2100 closed defect (worksforme)

Nested modifiers cause duplicate elements error

Reported by: Per Östlund Owned by: somebody
Priority: high Milestone: 2.0.0
Component: Frontend Version: trunk
Keywords: Cc: Adrian Pop

Description

The following model causes the duplicate elements error to be triggered, but it shouldn't since the elements are identical if modifiers are applied correctly.

model A
  Real x(start = 2.0);
end A;

model B
  Real x(start = 2.0, min = 3.0);
end B;

model C
  extends A(x(min = 3.0));
  extends B;
end C;

This affects some fluid models like Modelica.Fluid.Examples.Explanatory.MomentumBalanceFittings. We have a special case in Inst.checkMultipleElementsIdentical for Modelica issue #627, but that issue has been fixed. Removing that case will still cause some models to fail because of this issue though, so if this is fixed we should remove that case.

Change History (9)

comment:1 by Martin Sjölund, 11 years ago

Milestone: 1.9.01.9.1

Postponed until 1.9.1

comment:2 by Martin Sjölund, 10 years ago

Milestone: 1.9.11.9.2

This ticket was not closed for 1.9.1, which has now been released. It was batch modified for milestone 1.9.2 (but maybe an empty milestone was more appropriate; feel free to change it).

comment:3 by Martin Sjölund, 10 years ago

Milestone: 1.9.21.9.3

Milestone changed to 1.9.3 since 1.9.2 was released.

comment:4 by Martin Sjölund, 9 years ago

Milestone: 1.9.31.9.4

Moved to new milestone 1.9.4

comment:5 by Martin Sjölund, 9 years ago

Milestone: 1.9.41.9.5

Milestone pushed to 1.9.5

comment:6 by Martin Sjölund, 9 years ago

Milestone: 1.9.51.10.0

Milestone renamed

comment:7 by Martin Sjölund, 8 years ago

Milestone: 1.10.01.11.0

Ticket retargeted after milestone closed

comment:8 by Martin Sjölund, 8 years ago

Milestone: 1.11.01.12.0

Milestone moved to 1.12.0 due to 1.11.0 already being released.

comment:9 by Francesco Casella, 7 years ago

Milestone: 1.12.02.0.0
Resolution: worksforme
Status: newclosed

The new front-end handles this without errors:

class P.C
  Real x(min = 3.0, start = 2.0);
end P.C;
Note: See TracTickets for help on using tickets.