Opened 6 years ago
Closed 6 years ago
#5084 closed defect (fixed)
The NF does not evaluate protected parameters depending on Evaluate = true parameters through function
Reported by: | casella | Owned by: | perost |
---|---|---|---|
Priority: | high | Milestone: | 2.0.0 |
Component: | New Instantiation | Version: | |
Keywords: | Cc: |
Description
Consider the following test model
model TestEvaluateParameter parameter Real n[3] = {0, 1, 0} annotation(Evaluate = true); protected parameter Real q[3] = Modelica.Math.Vectors.normalizeWithAssert(n); end TestEvaluateParameter;
The old FE flattens this to
class TestEvaluateParameter parameter Real n[1] = 0.0; parameter Real n[2] = 1.0; parameter Real n[3] = 0.0; protected parameter Real q[1] = 0.0; protected parameter Real q[2] = 1.0; protected parameter Real q[3] = 0.0; end TestEvaluateParameter;
while the new FE outputs
class TestEvaluateParameter parameter Real n[1] = 0.0; parameter Real n[2] = 1.0; parameter Real n[3] = 0.0; protected parameter Real q[1] = Modelica.Math.Vectors.normalizeWithAssert({0.0, 1.0, 0.0})[1]; protected parameter Real q[2] = Modelica.Math.Vectors.normalizeWithAssert({0.0, 1.0, 0.0})[2]; protected parameter Real q[3] = Modelica.Math.Vectors.normalizeWithAssert({0.0, 1.0, 0.0})[3]; end TestEvaluateParameter;
This has a negative impact on the correct processing of MultiBody models, see #5083
Change History (1)
comment:1 Changed 6 years ago by perost
- Resolution set to fixed
- Status changed from new to closed
Note: See
TracTickets for help on using
tickets.
This was fixed in 6654660.