次のように、Modelica モデルでクラス関数/メソッドを使用したいと考えています。
optimization Moo(objective=-x(finalTime), startTime = 0, finalTime = 12)
parameter Real e = 0.05;
Real x(start=2, fixed=true, min=0, max=100);
input Real v (min=0, max=1);
function omega
input Real t;
output Real y;
algorithm
y := e;
end omega;
equation
der(x) = v*omega(time);
constraint
v<=1;
end Moo;
e関数内の変数を変数にomegaして、後でパラメーター スイープを実行しているときにその値を簡単に変更できるようにしたいと考えています。残念ながら、関数omegaは変数を認識していないようeで、JModelica コンパイラは次のエラーを返します。
e のクラスまたはコンポーネント宣言が見つかりません
と同じクラスに属しているのでomegaを見ることができると素朴に期待します。eomegae
これを達成する方法はありますか?