В modelica мне нужно соединить два пространства и пропустить объект, скажем, мяч, между ними через некоторое расстояние. В моем примере у меня есть два пространства, одно из которых является свободным пространством (без сил), и внезапно мы попадаем в околоземное пространство (гравитация), которое действует на мяч. Мне нужно передать мяч из первой клетки во вторую, но я не могу этого понять. Вот минимальный пример.
model Ball
Real[2] position;
Real[2] velocity;
parameter Real mass=1;
equation
der(position) = velocity;
end Ball;
connector Flange
Real p;
flow Ball b;
end Flange;
model FreeSpace
Ball ball;
parameter Real length;
Flange f;
equation
// need to do something, probably here, to end the first space when ball is at length
end FreeSpace;
model NearEarth
extends FreeSpace;
parameter Real[2] g={0,-9.8};
equation
der(ball.velocity) = g;
end NearEarth;
model PassBall
FreeSpace free(ball.velocity={5,0},ball.position={0,10});
NearEarth near;
equation
connect(free.f,near.f);
end Equation;
Возможно, я делаю что-то очень не так, но я здесь. (В реальной проблеме у меня есть электронный импульс, распространяющийся через пространства, которые наследуются от FreeSpace, но в каждом из них действуют разные силы.) Любые предложения были бы замечательными!