MBSE (Model based Systems Engineering)의 기반이 되는 Modelica 기술 소개
시뮬레이션랩 김학준 대표이사 (공학 박사)
(sim@simulationlab.co.kr, www.simulationlab.co.kr)
다쏘시스템코리아 정지원 영업대표
(Jiwon.JUNG@3ds.com)
서론
과거에는 CFD 및 FEA 해석과 시스템 해석이 서로 별개의 영역으로 인식되어 왔고 상호 연동없이 독립적인 해석 결과를 사용해 왔지만, 오늘날 MBSE (Model based Systems Engineering)와 같은 체계적인 개발 방법론을 구현하기 위해 여러 엔지니어링 분야를 상호 연계할 수 있는 기술이 필요하게 되었습니다. 이를 가능케 하는 통합 해석 기술의 하나로 CFD와 FEA 해석을 연동할 수 있는 FSI (Fluid Structure Interaction)가 등장하게 되었고, 이번 기고문에서 주요하게 다룰 통합 시스템 해석을 가능케 하는 Modelica가 나오게 되었습니다. Modelica는 여러 엔지니어링 분야를 아울러 통합 시스템 해석을 가능케 하는 주요 시스템 모델링 언어이고 시스템 해석을 CFD 및 FEA 해석과도 상호 연동할 수 있는 기술로, 통합 해석에 활용할 수 있는 우수성을 가지고 있습니다.
MBSE를 구현하기 위해선 CFD와 FEA도 중요한 역할을 하지만 궁극적으로 시스템의 종합 성능이 최종 결과물이므로, 전체를 통합하는 시스템 모델링 소프트웨어의 중요성이 더욱 커지게 되었습니다. 즉, 이상 유동과 복잡한 시스템을 CFD로만 모델링하여 전체 해석을 하는 것은 어렵기 때문에 해석 속도나 모델링 이론에 있어 우수한 시스템 모델링 소프트웨어의 역할과 활용성이 더욱 중요하게 되었습니다.
MBSE에 사용되는 시스템 모델링 소프트웨어는 상당히 많은 종류가 시장에 소개되고 있고, 기업에서는 자사 제품 개발 용도에 맞는 전략적인 소프트웨어를 선택하고자 노력하고 있습니다. 더 나아가 회사의 지적 재산 또한 담을 수 있는 방법도 찾고 있습니다. 이러한 시장의 니즈에 맞춰 본 기고문은 유럽 및 미국의 주요 기업과 국가 연구소에서 채택하여 잘 활용되고 있는 시스템 모델링 언어인 Modelica를 소개 합니다.
본론
1) Modelica 소개 및 역사
Modelica를 설명하는 데 앞서, Modelica가 무엇이며, 어떤 과정을 통해 개발되었는지, 어떤 용도로 사용될 수 있는지를 설명드리겠습니다.
컴퓨터가 개발된 이후로 수치계산을 수행하는데 있어 모델링과 시뮬레이션은 매우 중요한 부분이 되었습니다. 초기 공학 해석자들은 해석하고자 하는 대상 모델을 상미분 방정식으로 전환하고 이를 시뮬레이션하기 위해 미분 방정식들을 적분하여 풀 수 있게 해주는 프로그램을 직접 작업해야 하는 부담을 가지게 되었습니다.
이러한 배경으로 여러 대학 연구실과 기관들을 통해 미적분에 대한 다양한 방식들이 개발되어 왔고, 공학 해석자들은 해석하고자 하는 대상에 대한 미분 방정식의 물리적인 구현 방법에만 더욱 집중할 수 있게 되었습니다. 즉, 다른 연구자가 이미 개발한 해석 알고리즘 모듈을 가져다가 사용하는 방식으로 공학 해석자들의 해석 효율성과 생산성을 증대할 수 있게 되었습니다.
이후 공학 해석자들은 그들이 해석하고자 하는 문제와 관련된 거동적인 모델링 기술에 집중적으로 많은 시간을 투자할 수 있게 되었고, 이는 현재까지도 수치해석 방법 보다 물리적인 모델 구현에 집중할 수 있게 되었습니다.
지난 30여년 간 상당히 많은 공학 해석 소프트웨어들이 개발되어 왔고, 여기에는 여러 분야의 해석을 지원하는 범용 해석 소프트웨어와 특정 분야의 해석에 최적화된 특정 해석 소프트웨어가 있습니다. 하지만 이런 소프트웨어들은 서로 모델을 공유하며 해석을 할 수 없다는 측면에서 해석 효율성 낭비라는 인식을 갖게 되어 사용자 불편성이 대두 되었으며, 서로 다른 소프트웨어들 간에 상호 모델을 공유하는 새로운 기술의 필요성을 인식하게 되었습니다.
예들 들어, 해석 소프트웨어들은 해석 모델 개발자에게 특정 환경과 인터페이스를 제공하기 때문에 다른 소프트웨어에서 만든 해석 모델을 가져다 와서 사용하는 것은 불가능 하였고, 현재 사용하는 소프트웨어에 맞게 다시 모델링을 해야 했습니다.
이제 소개해 드리고자 하는 Modelica는 이런 일련의 문제점들을 개선하기 위해 탄생된 모델링 언어이고, CATIA Dymola에 내재화되어 솔루션으로 만들어져 상용화 되었고 그 외 Ansys의 Twinbuilder, Siemens의 Amesim 등과 같은 주요 공학 해석 소프트웨어에도 부분적으로 내재되었습니다.
이외에도 Modelica 언어의 우수성은 아래 Table 1과 같이 동일한 해석 모델을 개발하는데 소요되는 코드의 규모나 시간 측면에서 C++과 Fortran 대비 약 70% 정도 감소된다는 것을 확인할 수 있습니다. 본 자료는 미국과 유럽의 건물에너지 해석 전문가 연합 그룹에서 코드의 상호 비교 검증을 통해서 도출한 결과 입니다.
Table 1. 동일 해석 모델 개발시 Modelica와 C++/Fortran 간의 코드량 및 소모 시간 비교
시간을 거슬러 올라가, 1978년에 Hilding Elmqvist가 Modelica 언어 기반으로 한 Dymola라는 솔루션을 개발하여 그의 박사 논문의 한 부분으로써 물리적 시스템 모델을 할 수 있는 방법을 소개하였습니다. Dymola의 기본적인 개념은 일반적인 방정식, 개체 및 연결을 사용하여 모델 개발자가 수학적 관점 대신에 물리적 관점으로 모델을 보게 하기 위함이었습니다.
Dymola를 구현하기 위해 그래픽 이론과 대수적 심볼 알고리즘이 도입되었는데, 이는 해석하고자 하는 모델을 수치해석 Solver가 해석 가능한 적절한 형태로 변환시켜줄 수 있기 때문이었습니다. 이 접근 방법에서의 중요한 이벤트로, 1988년에 DAE index reduction용 Pantelides 알고리즘이 개발되었다는 것입니다. 이 알고리즘 기법을 통해 CATIA Dymola 외에도 수많은 해석 소프트웨어들이 이 새로운 해석 접근 방법을 내재화하고자 노력하였습니다.
모든 해석 소프트웨어들이 갖고 있는 주요 문제점으로, 타 소프트웨어에서 개발된 모델은 그 외 소프트웨어에서는 재활용할 수가 없다는 것입니다. 이러한 문제점을 해결하기 위해 1997년 Hilding Elmqvist 박사가 산발적으로 개발되어 있는 모델링 언어들을 Modelica라는 모델링 언어를 개발함으로써 통일할 수 있는 방안을 제시하였습니다.
이런한 유사한 개념은 다양한 그룹 (2000년의 Heinkel, 1995년의 Fitzpatrick과 Tiller)에서도 시도는 되었지만, 특정 해석 분야 (전기공학)에만 적용이 가능하였기 때문에 한계가 있었습니다. 하지만 Modelica는 완벽한 중립적 독립 모델로 상호 호환성을 추구하여 보다 넓은 영역에 적용 가능하다는 점에서 중요한 차이점이 있습니다.
Modelica의 개발 목적은 하나의 모델이 하나의 특정 상업적 소프트웨어에 종속되지 않고 다양한 공학적 분야에서 상호 호환으로 사용되며 시스템의 거동을 쉽게 표현할 수 있는 모델링 언어를 만들자는 것이었습니다. 즉, Modelica는 모델링 언어이면서 모델 교환의 표준이 되도록 하겠다는 것 입니다. 이를 위해 다양한 객체 지향 모델링 언어 개발자들이 다양한 공학 분야의 전문가들과 함께 Modelica 언어를 개발하기 위해 한 곳에 모였고, 연속 변수의 거동을 나타내는 DAE (대수미분방정식)으로 표현되는 다양한 문제들을 수치 모델링하고 해석할 수 있게 언어 개발의 방향성을 잡았습니다.
많은 연구자와 개발자들이 엔지니어링의 한계점을 극복하기 위해 헌신적으로 참여하여 Modelica라는 모델링 언어를 개발하게 되었고, 이는 현재 유럽과 미국에서 좋은 해석 기법으로 자리잡게 되었습니다. Modelica 모델링 언어는 무료이며, Modelica에 대한 자세한 정보는 Modelica 비영리 공식 웹사이트 (//www.modelica.org)을 통해서 얻을 수 있습니다.
엔지니어링에는 항상 표준이라는 것이 필요로 하게 되는데, 표준을 정립하고 발전시키기 위해서는 상당히 많은 노력이 뒷받침되어야 합니다. 이 사이트에서는 Modelica Standard Library라는 것을 버전에 따라, 해마다 그 기능을 향상시켜 무료로 배포하고 있으며 각 공학 소프트웨어 회사들은 이를 활용하여 자사의 소프트웨어에 맞게 내재화하고 있습니다.
2) Modelica의 히스토리 및 주요 활용성
Modelica는 모델링 언어이기 때문에 언어 자체만을 가지고는 해석을 진행할 수는 없고, 반드시 사용자 인터페이스가 있어야만 사용이 가능해 집니다. 이에 Dymola를 Modelica 모델링 언어 기반으로 솔루션화하여 시장에 제공되고 있습니다.
Modelica의 가장 큰 장점은 어떠한 해석 소프트웨어에서든 Modelica만 내재화되어 있으면 타소트웨어에서 만든 Modelica 모델을 최소한의 모델 수정을 통해 재사용이 가능하다는 점입니다.
유용성과 확장성을 갖는 Modelica는 아래 Table 2에서 보여지듯이 여러 주요 이벤트들을 거치면서 하나의 중요한 시스템 모델링 수단으로 자리잡게 되었습니다.
Table 2. Modelica 모델링 언어의 주요 이벤트
Modelica가 유럽에서 비중있는 해석 기술로 부각된 배경에는 독일의 자동차 회사의 역할이 상당히 크게 작용하였습니다. 2005년에 독일의 자동차 회사들 (BMW, DaimlerChrysler, Audi, VW 등) 모두가 한자리에 모여 기존의 해석 방식에 대한 비효율성을 논의하게 되었고, 효율성 향상을 위한 미래 전략적인 해석 소프트웨어를 선정하자는 의견을 모으게 되었습니다. 현존하는 모든 시스템 해석 소프트웨어들을 종합적으로 공동 검토를 하였고, 각각의 장점과 단점을 비교하여 최종 소프트웨어 기술을 선정하게 되었는데, 여기서 Modelica 기반의 솔루션인 Dymola가 선정되었습니다.
CATIA Dymola가 독일 자동차 회사들로부터 시스템 모델링의 표준 솔루션으로 선정된 주요 이유로, 해석 모델에 대한 Source 코드를 공유할 수 있고, 사용자 기반의 경험적인 모델식들을 자유롭게 적용할 수 있으며, 자체적으로 새로운 기술이 적용되는 모델링이 가능하다는 점 때문이었습니다. 즉, 유용성과 확장성, 그리고 독자성 측면에서 우수하다고 판단하여 미래 해석 소프트웨어 기술로 Modelica가 타당하다는 결론을 내리게 되었습니다. 그 이후에는 유럽의 유수 자동차 회사들과 협업하는 회사들 역시 CATIA Dymola를 활용하여 Modelica 해석 모델을 공유하며 개발을 하도록 자동차 회사들이 권고하였고, 다양하고 많은 회사들이 점차 Modelica를 사용하게 된 중요한 시발점이 되었습니다.
여기서 중요한 핵심은 사용자 그룹에서 공정한 공개 평가를 거쳐 해석 소프트웨어를 채택했다는 것입니다. 보통은 공학 해석 소프트웨어 회사가 새로운 소프트웨어를 개발하고 업데이트해서 고객의 필요성을 만족시키고 설득하는 과정을 통해 채택되도록 하는 것이 일반적인 방식입니다.
하지만 Dynasim사 (현 다쏘시스템)의 Modelica는 자체의 우수한 특징들 때문에 전략적으로 고객이 선택하였고 사용이 활성화 되었다는 것은 매우 중요한 특이점이라고 할 수 있습니다. 이 시점에서 다쏘시스템은 시장의 니즈와 Modelica의 기술적인 우수성을 파악하고 곧바로 Dynasim사를 인수하여 Dymola를 다쏘시스템의 CATIA 브랜드로 흡수시켰으며, 다른 소프트웨어 회사들 역시 이에 따라 Modelica 기술을 보유한 중소 업체들을 차례대로 인수하게 되었습니다.
Fig 1. Modelica를 지원하는 있는 중요 공학 해석 소프트웨어들
이런 일련의 과정을 거치고 새로운 유럽의 공공 연구 자금 등이 유입되면서 Modelica는 더욱 발전을 거듭하게 되었고, 해석의 편리성을 더욱 향상시키기 위해 FMI / FMU 해석 기술 역시 Modelica 개발 지류 중 하나로 연구 되었습니다.
유럽을 중심으로 사용자 그룹이 확대 되면서 미국에도 파급 효과를 주게 되었습니다. 대표적으로 미국 재생에너지 연구소(NREL)와 미국 에너지부(DOE)의 산하 연구 기관에서는 Modelica를 활용한 건물 에너지 해석 라이브러리를 국책 연구비를 통해 개발하여 전세계에 무료로 배포하여 이 분야의 지배권을 강화하고 있습니다.
독일의 경우, 여러 유수의 Modelica 기술 컨설팅 회사가 있어 많은 독일 기업들은 Modelica 컨설팅을 통한 자사 개발 과정에 Modelica 기술을 잘 적용하고 있습니다. 필자 역시 10여년 전에 독일 회사들로부터 Modelica의 우수성을 접하게 되었고, Modelica에 대한 전문 교육을 유럽 및 미국에서 배울 수가 있었습니다.
독일의 항공우주연구소 (DLR)에서는 유명 항공사들과 장기간의 기술 개발 제휴를 통해 Modelica를 활용한 자체 해석 기술을 내재화 해서 라이브러리를 개발하고 있으며 많은 성과를 논문으로 발표를 하고 있으나, 고객의 과제를 통해 개발된 기술이라 적극적인 공개는 못하고 있습니다.
해외 유수의 기관들과 기업들이 Modelica를 시스템 모델링 표준 언어로 인정하고 이를 내재화하려는 노력을 하고 있지만, 한국에서는 이와 관련된 기술들이 국내로 전파하는 여건과 노력이 부족하여 지속적인 Modelica 기술 소개 활동과 연구가 필요한 실정입니다.
3) Modelica의 우수성
하나의 해석 기술이 자리를 잡고 인정을 받기 위해서는 그 기술만이 가지고 있는 주요 특징과 우수성이 있어야 합니다. 10여년을 열유체 해석 분야에서 Modelica를 직접 사용해 본 필자의 경험에 비추어 볼 때, 그 우수한 장점들이 무엇이었는지 아래와 같이 정리하고자 합니다.
– 비인과적인 해석 기법
해석 기법은 크게 “인과적 (Causal)” 또는 “비인과적 (Acausal)” 으로 구분이 될 수 있는데, 단어에서 이미 유추할 수 있듯이 “인과적”은 이미 입력과 출력에 대한 변수가 정해진 것이고 반드시 입력값을 넣어주어야 출력값이 계산될 수 있다는 것이고 “비인과적”은 입력 변수와 출력 변수에 대한 경계가 없다는 것을 의미합니다.
예를 들어 z = f(x, y) 라는 모델이 있다면, “인과적” 해석 기법에서는 반드시 x, y값을 알아야 z값을 구할 수 있다는 것인데, “비인과적” 해석 기법에서는 x, y, x 중 2개의 값만 알면 나머지 하나의 값을 구할 수 있다는 것 입니다 (x, y를 알면 z를 구할 수 있고 x, z를 알면 y값을 구할 수 있으며 y, z를 알면 x을 구할 수 있다는 의미). Modelica는 이러한 비인과적 해석 기법을 사용하고 있고, 인과적 해석의 대표적인 소프트웨어는 우리가 익히 많이 알고 있는 Matlab / Simulink 입니다.
이에 대한 이해를 돕기 위해 하나의 예시를 더 들고자 합니다. 열 유체에서 p_in – p_out = f(m ̇) 라는 압력강하식이 있다면, Modelica에서는 입구 압력 (p_in)과 질량유량 (m ̇)을 알고 있으면 수식의 수정 없이 출구 압력 (p_out)를 알 수 있고, 입구 압력 (p_in)과 출구 압력 (p_out)를 알고 있으면 질량유량 (m ̇)을 쉽게, 자동적으로 얻을 수 있습니다. 즉, 사용자가 주어진 조건에 따라 어떻게 풀어야 할지 정의할 필요가 없으므로 모델링할 때 매우 유용한 방법론이라고 할 수 있겠습니다. 물론 상기 관계식이 상당한 비선형으로 되어 있다고 한다면, 별도의 방법을 통해 계산을 해야 하지만 보통의 경우 별 문제없이 계산을 할 수 있습니다. 본 글에서는 지면 관계상 일반론적으로 설명을 하도록 하겠습니다.
비인과성이 적용된 Modelica 해석 모델을 사용하여 비인과성의 우수성을 설명하도록 하겠습니다. 아래 Fig 2에 있는 Modelica 모델은 시뮬레이션 랩에서 자체 기술로 개발한 열유체 해석 라이브러리를 사용한 열교환기 해석 예시입니다. 두 개의 모델에서 열교환기는 아무것도 바뀌는 것이 없지만, 입구 조건의 변경에 따라 아무런 문제 없이 해석이 가능합니다. 경우에 따라서 어떤 경우에는 입구 압력을 고정해야 하고, 어떤 경우에는 출구 압력을 고정해야 하는데, 비인과적인 기법을 사용하면 이런 부분을 사용자가 자유롭게 설정하고 해석할 수 있으므로 사용자 관점에서는 매우 중요하면서도 편리하다는 것을 알 수 있습니다.
Fig 2. 비인과적 기법 사용시에 입구 조건에 따른 결과 비교 (시뮬레이션 랩의 해석 기술 사용)
– 해석 Solver에 대한 구현 불필요
Source 코드를 공개하여 사용자가 직접 수정하여 해석을 할 수 있지만, 공개되는 Source 코드에는 Solver의 구현 방식을 표현하고 있지는 않습니다. 그래서 Modelica를 모델링 언어라고 표현하는 것입니다.
CATIA Dymola와 같이 Modelica를 지원하는 소프트웨어에서 Modelica 모델 해석을 위한 다양한 Solver가 내장되어 있기 때문에 사용자는 풀고자 하는 미분방정식에 대한 표현을 Modelica의 문법에 맞게 표현만 하면 사용자의 역할은 다 한 것으로 볼 수 있습니다. Modelica로 시스템을 모델링하면 타 언어 대비 코드량이 적게 되는 주요 이유 입니다.
소프트웨어를 통해 해석을 수행하게 되면 Modelica로 모델링한 부분이 C언어로 내부적으로 자동 변환 과정을 거치고 내장된 자체 Solver 알고리즘 코드와 묶어서 링크를 통해 해석을 수행하는 과정을 거치게 되며, 해당 결과를 사용자에게 보여주는 방식 입니다. 사용자는 결과 도출까지 짧은 시간 안에 수행되기 때문에 보통 위 절차를 인식하지 못하고 있습니다.
사용자는 Solver에 대한 해석 기술 향상에 노력을 기하기 보단 해석하고자 하는 해석 대상의 “거동 미분 방정식” 구현에 더욱 집중을 할 수 되어, 해석 정확도 향상을 위한 모델 개발에 더 많은 시간을 할애할 수 있습니다.
– 객체 지향 모델링 기법
Modelica의 모델링은 component에 기반을 두고 있습니다.
크고 복잡한 플랜트 시스템이 있다고 가정해 볼 때, 전체 시스템이 물리적으로 지배방정식과 변수들이 상호 연결된 집합체이기 때문에 엔지니어가 하나 하나 수치 해석적인 모순이 없다는 것을 검증한 후에 해석을 해야 한다면 아마 대다수의 엔지니어들은 이를 포기할 것입니다. 왜냐하면 방정식과 미지수의 개수가 서로 일치해야만 해석이 가능한데, 전체 시스템에서 어떤 부분이 누락되어 있는지를 찾는 것 자체가 비효율적이고 성가신 일이 될 수가 있기 때문입니다.
Modelica에서는 component 상태에서 방정식과 미지수의 개수를 비교하여 정합성을 평가하고, 이를 통과해야만 완벽한 모델이 되는 것입니다. 이후에 해당 component를 다양한 조합에 따라 서로 연결하게 되면 물리적인 시스템 모델링이 되고, 초기화 중복 에러만 없다면 해석 또한 진행하는데 문제가 없게 됩니다. 즉 component에서 모델에 대한 정합성만 통과하게 되면 전체 시스템 레벨로 묶이는 경우에도 당연히 문제가 없다는 것을 의미하기 때문에 사용자의 해석 모델 구성 및 정합성 평가를 효율적으로 할 수 있습니다. 또한 객체지향 기법을 통해 모델의 재사용성이 가능하기 때문에 모델링의 효율성을 더욱 증가시켜준다는 장점이 있습니다.
– Connector 기술 적용
필자의 개인적인 평가로 본다면 connector가 Modelica 성공의 가장 주요한 핵심 요소 기술이라고 생각합니다.
Fig 3을 보면 같은 열 유체 해석이라도 다양한 connector 모델들이 존재한다는 것을 볼 수 있습니다. 이는 connector 설계 이론에 근거하여 사용자가 다양한 connector 모델을 만들어서 사용할 수 있다는 것을 보여주는데, 모델 개발의 유용성 측면에서 매우 중요한 포인트 입니다. 즉 모델의 개발 우선권이 Modelica 소프트웨어의 공급사가 아닌 사용자 중심의 모델 개발이 가능하다는 것입니다.
일반 Modelica 사용자인 경우 Modelica Standard Library에 이미 하나의 예시로 정의된 connector 모델을 사용하면 되지만, 이 외에도 다양한 connector 모델을 사용자의 목적과 편리에 따라 직접 만들어서 사용할 수가 있다는 점은 독창적인 해석 모델을 개발할 수 있다는 부분에서 Modelica가 매우 중요한 역할을 한다는 것을 알 수 있습니다.
Fig 3. Modelica에서 사용되는 다양한 connector 예시
Connector의 기능은 혈관을 예시로 하여 비교하면 훨씬 이해가 쉽게 될 수 있습니다. 우리 몸은 혈관을 통해 여러가지 성분들이 장기로 유입이 되고 장기는 이런 유입을 통해 움직이게 되는데 만일 혈액 안에서 어떤 중요한 성분이 빠져서 공급 된다면, 이는 장기에 나쁜 영향을 줄 뿐만 아니라 우리의 신체에도 큰 문제를 일으키게 됩니다. 즉, 우리의 장기는 우리의 혈액에 최적화되어 있다고 볼 수 있습니다.
혈액과 같은 역할을 하는 Connector는 component 모델에 필요한 물리적인 정보를 제공하므로 component 모델이 물리적 운동을 제대로 구현하기 위해서는 connector에 종속적인 모델링을 해야 합니다. 이러한 개념 때문에, connector를 변경하게 되면 component의 물리적인 표현식을 connector의 변경된 정보에 맞춰 최적화되도록 변경해야 합니다. Modelica에서는 서로 이질적인 connector 간에 상호 연결되지 못하게 설계되어 있는데, 이는 사용자의 실수를 최소화하기 위한 조치입니다.
Connector가 포함된 component 모델에서 방정식과 미지수의 개수가 서로 일치하도록 모델링을 하면 모델에 대한 정합성이 완료된 것이고, 이후 같은 connector를 갖는 component를 서로 붙여서 시스템을 모델링할 경우 시스템의 정합성은 자동적으로 확보가 되는 것입니다.
모델에 connector가 어떤 형태로 붙어 있는지를 이해하기 위해서 위 Fig 2에 있는 열교환기 모델을 보시면, 주위에 4개의 둥근 모양이 있는데 이것이 connector이며 이를 통해 여러 관련 정보들이 다른 component로 전달되는 것 입니다.
4) Modelica의 활용 분야 및 유용성
해외에서 Modelica는 자동차 / 항공기 / 방산 / 건물에너지 / Plant 시스템 / 에너지 시스템 등의 다양한 분야에 제한 없이 활용되고 있으며, 고도의 상호 연계 미분 방적식들을 해석할 수 있기 때문에 경제 연구소에서도 활용되고 있습니다. 또한 여러 영역의 특성에 맞게 Connector를 설계하여 특정 대상의 모델을 개발할 수 있으므로 생명공학 분야의 물질전달 체계 해석에도 적용되어 질 수 있습니다.
사용자가 어느 전문 분야에 있든 Modelica라는 모델링 언어만 익히면 각 전문 분야에 최적화된 모델을 자유롭게 만들어서 활용을 할 수 있다는 점은 이 언어가 가지는 매력인 요소임에 틀림 없습니다.
아래 Fig 4에서 왼쪽 부분은 Modelica를 활용하여 x ̈ + x ̇ = x^2+1 과 같은 미분 방정식을 단 몇 줄로 표현을 한 것이고, 오른쪽 부분은 해석을 수행하여 기술된 미분 방정식에 대한 시간 변동에 따른 해석 결과를 보여주고 있습니다. 앞에서 설명하였듯이 사용자가 미분을 어떻게 풀어야 하는지를 기술하지 않기 때문에 이렇게 쉽게 해석을 할 수가 있습니다. 이 점은 해외에서도 놀라워 하는 반응들이 많고, 자신의 분야에 어떻게 접목할지에 대해 상상할 수 있어 학위 과정은 물론 다양한 분야에서 다양한 방법으로 활용되고 있습니다.
Fig 4. Modelica를 이용한 미분 방정식 해석 예시
이런 유용성과 편리성, 그리고 확장 가능성은 2005년에 BMW / VW / Audi 등이 Modelica를 해석 전략 소프트웨어로 선정하게 된 이유이기도 하며, 해석 모델들을 제한적으로 사용하게 되는 “블랙박스 방식의 기존 소프트웨어”에서는 상상하기 어려운 방식이라 많은 사람들이 Modelica에 지속적인 관심을 가지는 이유이기도 합니다.
필자가 아는 많은 외국 엔지니어들은 Modelica의 자유로운 활용성을 경험하고 오랫동안 해석 업무를 수행한 경험이 있기 때문에 본인의 지식을 담기에 Modelica가 더 유용하다는 것을 잘 알고 있고, 이는 기존 “블랙 박스 형태의 소프트웨어”로 다시 돌아가기를 꺼려한다는 것입니다.
아래 Table 4는 Modelica Web 사이트에 공지된 무료로 제공되는 Modelica 라이브러리 목록으로, 사용자가 자유롭게 본인의 특정 전문 분야에서 자신들의 지식과 노하우로 개발한 Modelica 라이브러리를 올린 목록입니다 (지면 관계상 일부만 발췌). 이런 무료 라이브러리를 바탕으로 제3자가 본인의 분야에 맞는 새로운 모델을 개발할 수 있는데, 이것은 다른 곳에서는 발견하기 어려운 장점이며, 이런 자발적인 운동과 관심은 Modelica가 잠재적으로 확대되는데 무시할 수 없는 상당히 큰 동력이 되고 있습니다. 국내외 해석 전문가 채용 시에도 CATIA Dymola / Modelica 활용 능력은 또 하나의 중요한 역량 평가 요소로 자리잡고 있습니다.
독일의 항공기술 업체는 자체의 기술 보안 문제와 유용성을 고려하여, 외부에 해석 기술 개발을 의뢰하지 않고 자체적인 시스템 해석용 Modelica 라이브러리를 만들어 내부 설계에 활용하고 있습니다. 이는 자체 해석 기술을 육성하여 차세대 항공기 개발에 대한 해석 기술 역량을 확보하려는 포석이고, 미국의 국립연구소 역시 거액의 정부 자금을 사용하여 공공의 에너지 해석용 Modelica 라이브러리 개발하여 무료로 배포하는 등 각 분야의 지배력을 강화하고 있습니다.
물론 기존의 상업용 해석 소프트웨어도 우수하지만 블랙 박스형태라 내부를 볼 수가 없고 예상과 다른 결과가 나와도 이유를 알기가 어려우며, 회사의 지적 재산을 온전하게 담기에는 제한이 있습니다. 일부 대학원생들도 이런 문제를 제기하는 것을 필자는 심심치 않게 들었고, 본인의 해석 모델을 온전히 담을 수 있는 CATIA Dymola / Modelica를 배우고자 하지만 아직 한국에서는 제대로 된 교육 체계와 전문가가 부족하여 유럽이나 미국처럼 활성화가 되어 있지 않은 실정입니다.
Table 4. 외국의 Modelica 사용자 그룹들이 만들어 무료로 배포하는 라이브러리 목록 일부
고도화되고 안정적인 해석 라이브러리를 개발하여 상용으로 판매하고 있는 유럽과 미국의 회사, 대학, 그리고 기타 기관들이 점점 늘어나고 있는 추세를 읽고, 필자 또한 한국에서 Modelica 기반의 열 유체 해석 라이브러리를 독자 개발하여 관련 비즈니스를 하게 되었습니다. 한국도 유럽과 미국처럼 Modelica의 시장이 활성화될 수 있게 국내 기업의 니즈와 필요성에 맞는 교육 서비스를 제공하고자 많은 노력을 기하고 있습니다.
Fig 5. 전기자동차 열 유체 시스템 Modelica 해석 예시(시뮬레이션 랩 개발 라이브러리 활용)
맺음말
Modelica의 발전 과정 및 주요 특징들, 활용 현황 등을 간략히 살펴보았지만, Modelica는 상당이 많은 내용을 포함하고 있는 모델링 언어이기 때문에 생략한 부분이 많이 있습니다. 외국에서는 다양한 연구비 지원을 통해 Modelica 기반의 다양하고 많은 연구가 진행 중에 있고, 이를 한국에 도입하고 적용하는 것은 많은 국가적인 유익이 있을 것으로 생각합니다.
하지만 한국에서는 아직 이에 대한 저변 확대가 이루어지지 않고 있어 외국에 비해 Modelica 활용 능력이 많이 뒤처져 있습니다. 처음에는 개념을 이해하는 것부터 시간을 투자하고, 이어 전문가와 같이 공동으로 연구하면서 역량을 키워간다면 우리 한국의 주요 기업들, 대학, 기타 여러 기관에서도 Modelica를 잘 사용할 수 있을 것이라 기대합니다.
본 설명을 통해 Modelica에 대한 특징을 간략히 이해하셨으리라 생각되고, FMI / FMU 기술에 대한 내용은 Modelica의 기술 소개에 집중하기 위해 본 기고문에서는 논하지 않았습니다. 추후 연이 닿아 “시뮬레이션 랩” 및 “다쏘시스템”과 협업할 기회가 생기면 잘 설명드릴 수 있도록 하겠습니다. 앞으로 CATIA Dymola / Modelica가 더욱 활성화되기를 바라며 이 글을 마칩니다. 감사합니다.
기사 원문: https://bemil.chosun.com/nbrd/bbs/view.html?b_bbs_id=10158&pn=1&num=6030