Opened 5 years ago

Last modified 3 years ago

#5862 new enhancement

Make it possible to manage variable modifiers in OMEdit

Reported by: Francesco Casella Owned by: Adeel Asghar
Priority: blocker Milestone: 1.19.0
Component: OMEdit Version:
Keywords: Cc: Adrian Pop, massimo ceraolo

Description

One way to manage input variables in Modelica is through modifiers. There are in fact two basic patterns:

model M1
  input Real u;
end M1;

model M2
  Real u = 0;
end M2;

model S
  M1 m1(u = sin(time));
  M2 m2(u = cos(time));
end S;

The former makes it mandatory to provide a binding equation when instantiating the model. The latter makes it optional, since it provides a default binding in the model code.

This pattern is used extensively by the PowerGrids library.

Currently, OMEdit only allows to use this pattern from the text view of models. For example, if you take the attached test case package, open model S and double-click on m, there is indeed a Modifier tab in the parameter window, but you can't put a modifier like u = 3 in there.

We need to provide two additional functionalities:

  • be able to provide binding equations for public variables
  • make them clearly visible and editable when the parameter window is later re-opened

@adrpo, @adeas31, can you please assess how much work is required and report it here? I tentatively schedule this feature for 1.16.0, but we may postpone it to a later version if it turn out to be non-trivial to implement.

Change History (5)

comment:1 by Francesco Casella, 5 years ago

Cc: massimo ceraolo added

comment:2 by Francesco Casella, 5 years ago

Milestone: 1.16.01.17.0

1.16.0 feature freeze is imminent, new developments postponed to 1.17.0

comment:3 by Francesco Casella, 4 years ago

Milestone: 1.17.01.18.0

Rescheduled to 1.18.0

comment:4 by Francesco Casella, 3 years ago

Milestone: 1.18.0

Ticket retargeted after milestone closed

comment:5 by Francesco Casella, 3 years ago

Milestone: 1.19.0

1.18.0 blocker tickets moved to 1.19.0

Note: See TracTickets for help on using tickets.