model TestStartParameter
Real p1(start = p_start);
Real p2;
parameter Real p_start(fixed = false, start = 1e6);
parameter Real p0 = 1e6;
equation
(p1 - p0)^2 + sin(1e-19*p1) = 1e10;
p2 = p0*0.99;
initial equation
p_start = p2;
end TestStartParameter;
The causalization process for the initialization problem should obtain the following:
(p1 - p0)^2 + sin(1e-19*p1) = 1e10; matching p1
p2 = p0*0.99; matching p2
p_start = p2; matching p_start
The first equation is apparently independent from the other two and may be scheduled before them.
However, the start = p_start attribute of p1 induces a dependency between the first and the third equations, requiring the latter to be computed first.
The scheduling process should examine the additional dependencies given by start attributes, and perform such assignments only then all the dependencies are satisfied.
Let's consider the following model:
The causalization process for the initialization problem should obtain the following:
(p1 - p0)^2 + sin(1e-19*p1) = 1e10;
matchingp1
p2 = p0*0.99;
matchingp2
p_start = p2;
matchingp_start
The first equation is apparently independent from the other two and may be scheduled before them. However, the
start = p_start
attribute ofp1
induces a dependency between the first and the third equations, requiring the latter to be computed first.The scheduling process should examine the additional dependencies given by
start
attributes, and perform such assignments only then all the dependencies are satisfied.