すごく小さいTipsだが、functionで定義するとalgorithmセクションで書かれていても非因果となる。
例えば、
y=x+1
という式があったとしてalgorithmで書きたいとする。
以下のような、y=f(x)の式をy=function(x)で書けば非因果となる。つまり、yに値を代入するとxが求まる。便利。
計算順序が決まるので計算も安定するという噂もある。
model a
Real x;
Real y;
function func
input Real x;
output Real y;
algorithm
y:=x+1;
end func;
equation
y=1;
y=func(x);
end a;
計算結果はちゃんと x= 0 となる。