Opened 12 years ago

Last modified 7 years ago

#1991 closed defect

StateSelect Attribute with unfixed parameters wrong evaluated without warning — at Initial Version

Reported by: Jens Frenkel Owned by: Adrian Pop
Priority: high Milestone: 2.0.0
Component: New Instantiation Version: trunk
Keywords: Cc: Martin Sjölund, Willi Braun, Lennart Ochel

Description

Consider the following model. The state select attribute is set via unfixed parameters. The frondend evaluates the unfixed parameters but report no warning about that. The result is totaly different to the exprected from the modelers view for y and z.

model StateSelectCheck
  parameter Boolean preferredStates=true;
  parameter Boolean preferredStatesUnfixed(fixed=false);
  parameter Boolean preferredStatesUnfixedStart(fixed=false,start=true);
  Real x(stateSelect = if preferredStates then StateSelect.prefer else StateSelect.avoid);
  Real y(stateSelect = if preferredStatesUnfixed then StateSelect.prefer else StateSelect.avoid);
  Real z(stateSelect = if preferredStatesUnfixedStart then StateSelect.prefer else StateSelect.avoid);
initial equation
  preferredStatesUnfixed = true;
  preferredStatesUnfixedStart = false;
equation
  der(z) = time;
  0 = x^2 + y^2 + z^2;
  y = x + z;
end StateSelectCheck;

Result after the FrontEnd:

class StateSelectCheck
  parameter Boolean preferredStates = true;
  parameter Boolean preferredStatesUnfixed(fixed = false);
  parameter Boolean preferredStatesUnfixedStart(start = true, fixed = false);
  Real x(StateSelect = StateSelect.prefer);
  Real y;
  Real z(StateSelect = StateSelect.prefer);
initial equation
  preferredStatesUnfixed = true;
  preferredStatesUnfixedStart = false;
equation
  der(z) = time;
  0.0 = x ^ 2.0 + y ^ 2.0 + z ^ 2.0;
  y = x + z;
end StateSelectCheck;

Change History (1)

by Jens Frenkel, 12 years ago

Attachment: StateSelectCheck.mo added
Note: See TracTickets for help on using tickets.