Начальные условия в OpenModelica

Кто-нибудь, пожалуйста, объясните, почему начальные условия должным образом учтены в следующей модели openmodelica, скомпилированной и смоделированной в OMEdit v1.9.1 beta2 в Windows, но если строка 5 прокомментирована, а 6 без комментариев (x, y) инициализируется как (0.5, 0)? Спасибо.

class Pendulum "Planar  Pendulum"
constant Real PI = 3.141592653589793;
parameter Real m = 1,g = 9.81,L = 0.5;
Real F "Force of the Rod";
output        Real  x(start=L*sin(PI/4)) ,y(start=-0.35355);
//output Real x(start = L * sin(PI / 4)), y(start=-L*sin(PI/4));
output Real vx,vy;
equation
m * der(vx) = -x / L * F;
m * der(vy) = (-y / L * F) - m * g;
der(x) = vx;
der(y) = vy;
x ^ 2 + y ^ 2 = L ^ 2;
end Pendulum;

person NameOfTheRose    schedule 20.05.2014    source источник


Ответы (1)


Короткий ответ заключается в том, что начальные значения обрабатываются просто как подсказки, вам нужно добавить атрибут fixed = true, чтобы заставить их, как в:

 output Real x(start=L*cos(PI/4),fixed=true);

Если инициализированные переменные ограничены, фиксированный атрибут следует использовать не для всех инициализированных переменных, а для «правильного» подмножества, в данном случае только для одной.

Подробный ответ можно найти здесь

person NameOfTheRose    schedule 21.05.2014