Modelica의 하이브리드 모델링 패러다임에 혼란 스럽습니다. 한편으로 사건은 유용하지만 다른 사건은 피해야한다. 내 경우를 설명해 드리겠습니다.하이브리드 Modelica 모델에서 이벤트 제어
1 년 동안 시뮬레이션 된 인근의 여러 건물로 구성된 대형 모델이 있습니다. 처음에는 모델이 매우 느리게 실행되었습니다. 가능한 한 많은 if-condition에 noEvent()를 추가하면 속도가 크게 향상되었습니다.
개발이 계속됨에 따라 모델의 제어가 더욱 복잡해졌으며, 매우 짧은 간격으로 많은 이벤트가 다시 발생했습니다. 아이디어 제공합니다 :
Number of (model) time events : 28170
Number of (U) time events : 0
Number of state events : 22572
Number of step events : 0
이러한 이벤트는 (I 이벤트에 변수를 필요로 정확한 사후 처리를위한) 출력을 폭파를 시뮬레이션 속도가 느려집니다. 또한, noEvent (if ...) 중 일부가 예기치 않은 동작을 일으킨다는 느낌이 들었습니다.
특정 시간 단계에서 내 이벤트를 강제 실행하고 이러한 시간 간격 사이에서 이벤트를 금지하는 솔루션이 될 수 있을지 궁금합니다. 이상적으로, 나는 특정 조건에 따라 이러한 '강제 된 사건'을 일으키고 싶습니다. 예를 들면 : 낮에는 매일 15 분마다, 일분에 높은 태양 복사로, 밤에는 이벤트를 원하지 않습니다.
이렇게하는 것이 좋습니까? 많은 국가 이벤트가 시간 이벤트가 될수록 더 빠를 것이라고 생각하십니까? Modelica 3.2 (Dymola에서)로 어떻게이 작업을 수행 할 수 있습니까?
미리 답변 해 주셔서 감사합니다. Roel
유용한 팁과 통찰력이 가득한 또 다른 답입니다. 마이클에게 감사드립니다. – saroele