복합 물리 영역 모델링 툴 Dymola
최근 복잡해지는 제어 시스템 개발에 대처하는 모델 기반 개발(Model-Based Development : MBD)의 요소 기술로서 MODELICA 언어에 대한 주목도가 높아지고 있다. Dymola는 MODELICA 언어에 기초한 물리 모델링 및 시뮬레이션 환경으로서 MODELICA 언어의 역사와 함께 개발이 진행돼 MODELICA 언어의 다양한 특징을 최대한 활용하도록 설계되었다.
Dymola는 크게 3가지 기본 기능을 제공한다. 첫째, 모델링이다. GUI 모델 조작에 대응해 생성되는 MODELICA 코드는 오픈이며, 코드를 확인하고 편집할 수 있다. 그리고 편집 화면에는 다양한 체크 기능이 실장되어 있으며, MODELICA 문법이나 식과 미지의 변수 개수를 체크한다. 또한, 수식 양변의 단위계 정합성 체크나 단위를 준 변수에서 단위를 주지 않은 변수의 단위를 추론하는 등 물리 모델링을 위한 지원을 한다.
둘째, 라이브러리이다. 모델 기반 개발의 과제 중 하나는 모델 개발의 효율화이다. 이를 위해서는 재이용 가능한 라이브러리의 확충이 필수적이다. Dymola는 MODELICA협회가 제공하는 표준 라이브러리와 많은 무상 라이브러리와 함께 표 1의 유상 라이브러리가 제공된다. 이들 라이브러리도 코드 대부분이 공개되어 재이용, 확장이 가능하다.
셋째, 시뮬레이션이다. 작성한 MODELICA 모델에서 수식 처리에 의해 인과 관계 해석과 식 배열 등을 실시하고 효율적으로 문제를 해결할 수 있도록 한 후에 수치 계산을 한다. 수식 처리를 잘했는지 못했는지가 수치 계산 시의 처리 성능에 크게 영향을 주는데, 실시간 시뮬레이션에서도 Dymola는 실적이 있다.
또한, Dymola는 수식 처리 결과를 확인할 수 있어 가령 선형 대수 루프를 어떻게 해석적으로 풀지를 체크할 수 있다. 또한, 초깃값 계산에서는 초깃값 지정이 부족한 경우에는 경고를 낸 후에 초깃값을 추가하고, 반대로 과잉인 경우에는 제거해야 할 초깃값이나 식 후보를 시사하는 등 초깃값의 적절한 설정을 지원한다.
Copyright ⓒ 첨단 & Hellot.net