在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 继承的空间中传播,但在每个空间中都有不同的作用力。)任何建议都会很棒!