[무료다운로드] 1D 시뮬레이션을 위한 카티아 다이몰라
산업 디지털 전환을 위한 버추얼 트윈 (1)
이번 호부터 산업 분야에서 버추얼 트윈(virtual twin)을 구축하고 활용하기 위한 다쏘시스템의 솔루션을 살펴본다.
첫 번째로 소개하는 다이몰라(CATIA Dymola)는 모델 기반 시스템 설계와 시뮬레이션을 위한 툴이다. 다이몰라는 다양한 산업 분야에서 사용되며, 기계, 전기, 열, 유체, 제어 시스템 등 다양한 시스템의 거동(behavior)을 모델링 및 시뮬레이션할 수 있다. 다이몰라를 알기 위해서는 우선 모델리카(Modelica)에 대해 알아야 한다.
■ 안치우
다쏘시스템코리아의 카티아 인더스트리 프로세스 컨설턴트로 CATIA Dymola를 활용한 1D 시뮬레이션을 담당하고 있다. 관심 분야는 Modelica, FMI, 1D~3D 코시뮬레이션, SysML 기반의 Modelica 모델 개발이며 LG전자, 삼성전자, SK하이닉스 등 다수의 프로젝트 및 제안을 수행하고 있다.
홈페이지 | www.3ds.com/ko
1D 시뮬레이션이란 시간의 흐름에 따라 지배 방정식을 1차원으로 한정지어 계산하는 방법을 의미한다. 예를 들어, 스프링-댐퍼 시스템에서 길이 방향인 하나의 차원에서 수학적 모델링을 통해 빠른 시간 내에 결과를 도출해 검토할 수 있다. 장점으로는 모델 구성 및 검토의 시간이 빠르고, 표현의 제약이 적으며, 시스템간 상호 작용을 효율적으로 검토 가능하다. 단점으로는 시스템의 기능을 수식화하기 위해 도메인(domain)에 대한 높은 이해도가 필요하고, 인풋(input) 정보의 품질에 따라 아웃풋(output)이 민감하게 반응한다.
모델리카는 시스템 모델링을 위한 언어이다.
모델리카(Modelica)는 1996년 모델리카 어소시에이션(Modelica Association)에 의해 개발된 시스템 모델링을 위한 언어이다. 무료로 사용할 수 있고, 여러 개발자 및 전문가에 의해 개발되고 있다. 모델리카는 시스템 모델링을 지원하며, 다쏘시스템에서는 시스템 모델링의 원활한 시뮬레이션을 위한 솔버 알고리즘을 개발하고 있다.
다이몰라에는 모델 시뮬레이션을 위한 다양한 솔버가 내장되어 있다. 사용자는 문제 해결을 위한 미분방정식에 대한 표현을 모델리카 문법에 맞게 표현함으로써 시뮬레이션을 위한 모델링은 끝났다고 볼 수 있으며, 이러한 이유 때문에 모델리카는 C, C++, 포트란(Fortran) 등 타 언어에 비해 코드량이 적다는 것을 알 수 있다. 모델리카의 모델링 방법에는 텍스트 타입으로 방정식을 정의할 수 있고, 또한 유저에게 친근한 GUI(그래픽 사용자 인터페이스)를 활용한 객체 모델링 기반으로 모델을 구성할 수 있다.
모델리카는 비인과적/인과적 해석을 모두 지원한다.
인과적(causal) 모델링과 비인과적(acausal) 모델링은 둘 다 시스템이나 현상을 설명하고 예측하기 위한 방법론이다.
그림 1
비인과적 모델링은 원인과 결과 간의 인과 관계를 명확히 구분하지 않고 시스템의 구성요소 간의 관계를 모델링하는 방법이다. 이 방법은 일반적으로 동적 시스템의 거동을 설명하거나 예측할 때 사용하며, 시스템의 구성 요소와 그들 간의 관계를 수학적 방정식으로 표현하여 시스템의 동작을 설명한다. 각 요소가 다른 요소에 의해 어떻게 영향을 받는지를 보다 전체적으로 이해하는 데에 도움이 된다.
인과적 모델링은 원인과 결과 간의 인과관계를 중심으로 모델을 구성한다. 이 모델링 기법은 일반적으로 인과관계를 고려하여 시스템의 동작을 설명하고 예측한다. 예를 들면 A가 B에 어떻게 영향을 주는지, 또는 어떤 요인이 결과에 어떻게 기여하는지를 분석한다. 주로 원인과 결과 간의 관계를 나타내는 도표나 그래프를 사용해 시각화하며, 시간의 흐름을 고려하여 이전 사건이 이후 사건에 어떻게 영향을 미치는지를 이해한다.
비인과적 모델링은 물리적 시스템의 동작을 설명하는데 유용하다. 예를 들어, 열 전달, 유체 흐름, 전기 회로 등과 같은 시스템에서 원인과 결과 간의 명확한 인과 관계를 파악하기 어려운 경우가 있다. 이러한 시스템은 에너지, 질량 또는 정보의 흐름을 모델링하여 설명할 수 있다.
모델리카는 해석 솔버에 대한 개발이 필요 없다.
실제 모델링 후 유저는 소스코드를 볼 수 있고, 해석 결과를 확인 할 수 있다. 그렇지만 솔버에 대한 구현 방식은 확인할 수 없다. 다이몰라에 솔버가 내장되어 있어 유저는 미분방정식에 대한 표현을 모델리카 문법에 맞게 표현하면, 유저가 모델링한 시스템에 대한 해석 결과를 확인할 수 있다.
이러한 이유로 인해 모델리카의 코드량은 타 언어에 비해 적다. 솔버가 해석 결과를 보여주기 위해 <그림 2>를 참조하면, 모델리카 file(*.mo)를 C 언어로 변환하고 참조할 라이브러리와 함께 컴파일을 수행하기 때문에 유저는 이 과정을 인식하지 못하는 경우가 많다.
그림 2
■ 자세한 기사 내용은 PDF로 제공됩니다.
작성일 : 2024-05-02