В настоящее время я работаю с многотельными механическими системами, используя библиотеку MultiBody, включенную в стандартный дистрибутив Modelica.
Мне нужно реализовать переключение между фланцами, чтобы выбрать положение или контроль силы для данного соединения.
model FlangeSwitch "Switch between flanges"
Modelica.Mechanics.Translational.Interfaces.Flange_a flange_a_1;
Modelica.Mechanics.Translational.Interfaces.Flange_b flange_b_1;
Modelica.Mechanics.Translational.Interfaces.Flange_a flange_a_2;
Modelica.Mechanics.Translational.Interfaces.Flange_b flange_b_2;
Modelica.Mechanics.Translational.Interfaces.Flange_a flange_a_exit;
Modelica.Mechanics.Translational.Interfaces.Flange_b flange_b_exit;
Modelica.Blocks.Interfaces.BooleanInput u;
equation
if u then
flange_a_exit = flange_a_2;
flange_b_exit = flange_b_2;
else
flange_a_exit = flange_a_1;
flange_b_exit = flange_b_1;
end if;
end FlangeSwitch;
Но такой подход не работает, система не сбалансирована: 10 уравнений и 12 переменных.
Есть какой-либо способ сделать это?