2017-02-20 8 views
2

Modelica 라이브러리와 함께 "특별한"진자를 시뮬레이션하려고했습니다. 진자는 첫 번째 끝에서 한 회전하고 다른 끝에서 두 번째 회전합니다. time < t에서 첫 번째 진자는 첫 번째 회전축을 중심으로 회전해야합니다. time > t에서 진자는 secound revolute 축을 중심으로 회전해야합니다. 나는 두 revolutes 경우 하나의 프레임 IST하지 않는으로 진자를 시뮬레이션 할 수Modellica.mechanics에서 스위칭이 동적으로 연결됩니다.

  1. :
    나는 두 가지 문제가있다.
    if time < 5 then connect(world.frame_b, revolute.frame_a); else connect(world.frame_b, revolute1.frame_b); end if;
    나는이 오류가 시뮬레이션을 시작 :

  2. 나는이 같은 경우 절을 사용하여 회전 리볼을 변경하려고
    Failed to expand block containing connect: if (time < 5) then connect(world.frame_b, revolute.frame_a); else connect(world.frame_b, revolute1.frame_b); end if;

은 누군가 아이디어를 가지고 어떻게 이 문제를 해결할 수 있습니까?

modelpicture

답변

0

나는 문제가 꽤 많이 여기 토론에 관한 생각 : Switch between two flanges

요약 :이 시뮬레이션 동안 방정식을 다시 요구대로 시뮬레이션 동안 커넥트를 전환 할 수 없습니다.

문제와 관련하여 : 솔직히 Modelica에서 문제를 해결할 수있는 효과적인 방법은 없습니다.