최근 다양한 분야와 접목하여 널리 사용되는 디지털 트윈은 Data-Driven Modeling 및 Simulation-Based Modeling으로 생성할 수 있는데, 고객 요구를 만족시키기에는 두 기법 모두에서 한계에 직면하였다. 하여, Ansys는 이를 해결하는 방안으로 두 기법을 결합시킨 Hybrid Analytics라는 기법으로 하이브리드 디지털 트윈을 구성하는 기술을 제안하였다. 참고로 엔진 Vol. 62에서 ‘하이브리드 디지털 트윈’을 다룬 적이 있다.
본 기사에서는 이러한 하이브리드 디지털 트윈 기술에 대해 간략히 소개하고 2023 R1 업그레이드 내용인 트윈의 배포 기능과 프로그램 기능 향상 및 개선 사항에 대해 소개하고자 한다.
디지털 트윈(Digital Twin)은 [컴퓨터에 현실 속 사물의 복제품을 만들고 현실에서 발생할 수 있는 상황을 컴퓨터로 시뮬레이션 함으로써 결과를 미리 예측하는 기술]을 의미하며, 디지털 트윈 구성 방법은 [그림 1-1]과 같이 크게 Data-Driven Modeling과 Simulation-Based Modeling 기법이 있다.
[그림 1-1] 디지털 트윈의 두 가지 구성법
그러나 최근에는 이러한 모델들을 결합하여 서로의 단점을 보완하는 방식인 하이브리드 방식이 등장하였고[그림 1-2] Ansys는 이러한 하이브리드 디지털 트윈(Hybrid Digital Twin) 트렌드를 이끌고 있다.
[그림 1-2] 하이브리드 디지털 트윈 생성
Ansys의 시뮬레이션 기반 Hybrid Analytics는 동급 최고의 디지털 트윈을 생성할 수 있도록 두 가지 기법을 결합한 하이브리드 디지털 트윈을 구성하는 기술을 의미하며 해당 기능은 Twin Deployer에서 사용할 수 있다. [그림 1-3]에서와 같이, 하이브리드 디지털 트윈의 경우 기존의 디지털 트윈보다 높은 정확도를 보였고 더 효율적으로 구성할 수 있다.
[그림 1-3] 하이브리드 디지털 트윈의 정확도
이러한 하이브리드 디지털 트윈을 구성하는 Hybrid Analytics 기술은 Twin Calibration과 Fusion Modeling의 두 가지가 있다.
Twin Calibration은 베이지안 추론(Bayesian inference)을 기반하여 시뮬레이션 결과와 데이터가 일치하도록 시뮬레이션 모델 파라미터를 보정 혹은 조정하는 기능이다. 베이지안 추론을 적용하면 [그림 1-4]의 왼쪽 그림과 같이 파라미터의 불확실성을 정량화(평균에 해당하는 검은 라인 외의 파란색으로 분포되어 있는 것들)할 수 있고 이를 통해 파라미터 보정 혹은 조정을 하게 된다.
베이지안 추론은 적은 양의 데이터로도 의미 있는 결과를 도출할 수 있다. [그림 1-4]의 오른쪽과 같이, 베이지안 추론의 반복횟수를 높일수록 참값에 가까운 결과를 도출할 수 있다.
[그림 1-4] Twin Calibration에서 베이지안 추론을 적용한 예시
Fusion Model은 Data Enhancing Physics Simulation과 Simulation Enhancing ML 기술을 결합하여 구성한 모델로 최소 두가지 유형의 데이터로 디지털 트윈을 구성하는 머신 러닝 모델이다. Fusion Model은 물리 모델과 실제 데이터 간의 차이를 모델링하여, 모델링 되지 않은 물리나 기타 현상을 보정하는 기능을 한다.
즉, 적합도의 불확실성을 반환하기 때문에 잔차 모델이나 다중 충실도 회귀에 적합하다.
[그림 1-5] Fusion 모델 생성 과정
[그림 1-5]은 잔차 모델에 대한 예시로, 시뮬레이션 데이터와 실험 데이터로 잔차 모델을 구축한 경우이다. 그래프와 같이 최상의 시뮬레이션도 센서 데이터와 완벽하게 일치하기란 불가능하다. 여기서 Fusion model은 전체 데이터 모델 학습을 하는 대신, 사용 가능한 가장 정확한 물리 모델을 사용하여 잔차를 얻어내고 학습하여 이를 통해 실제 자산의 동작과 디지털 트윈 예측 간의 격차를 보다 줄일 수 있다.
[그림 1-6]은 다중 충실도 회기 모델에 대한 예시로, 1D와 3D 시뮬레이션 데이터 모델을 이용한 사례이다. 3D 모델의 공백을 메우기 위한 잔차 모델 및 1D 모델과 결합한 결과는 3D 모델 결과와 높은 유사성을 보인다.
[그림 1-6] 3D Maxwell 모델과 1D MoterCAD 모델, 보정을 거친 Fusion 모델의 비교
따라서 Fusion model은 해석 시간 및 비용을 줄일 수 있다는 점을 알 수 있다.
새롭게 출시된 Twin Deployer 2023 R1은 [그림 2-1]과 같이, PyAnsys/PyTwin으로 배포 워크플로를 공개하여 API 확장을 이루었다. PyTwin을 이용하면 Python에서 Twin의 배포를 간단하게 테스트하고 자동화할 수 있기 때문에 기존 대비 최대 30% 빠른 배포 성능을 보인다.
또한, 시뮬레이션 안정성을 위해 새로운 솔버(Sundials CVODE)를 적용하여 수치 적분하는 FMI 2.0 Model Exchange(ME) FMUs를 지원하여 FMUs의 상호 운용성 및 시뮬레이션 안정성이 향상되었다.
[그림 2-2] Scaffolding Code 예시
이러한 2023 R1 Twin Deployer는 [그림 2-2]와 같이, API 예제 및 Python 코드의 난이도 구별 제공(hello_world.py, advanced.py)으로 초보자도 편리하게 Twin Deployer를 이용할 수 있도록 하였다.
(좌) Static ROM (우) Dynamic ROM
[그림 3-1]과 같이 새로운 선형 Static ROM 및 Dynamic ROM이 추가되어 문제가 선형에 가까운 전자기장/열 등 다양한 응용분야에 대해 더 빠르고 더 정확한 ROM 생성이 가능 해졌다. 새로운 선형 Static ROM의 경우 파라미터의 수가 많은 경우의 ROM생성에 매우 유리한데, ‘N개’의 파라미터를 특성화 하는데 단 ‘n+1개’의 선형 snapshot만 있으면 ROM생성이 가능하다는 장점을 가지고 있다. 또한, 선형 Dynamic ROM인 TDVF(Time Domain Vector Fitting)는 시뮬레이션을 더 빨리 할 수 있는 효과적인 알고리즘을 가졌을 뿐만 아니라 필드 입력도 지원한다.
[그림 3-2] 3D ROM Visualization Geometry Deformation
Twin Builder 2023 R1의 가장 눈에 띄는 변화는 ROM의 형상의 ‘변형’을 시각화 할 수 있다는 점이다. 그에 대한 예시로, [그림 3-2]는 유량 증가에 따라 좌측 → 우측으로 갈 수록 입구의 직경이 줄어드는 직경변화를 관찰할 수 있다.
그 외에도 방향 및 원점에 따른 절단면 좌표 생성이 가능 해졌으며 ROM의 입출력 핀의 이름 변경 워크플로가 개선되었다.
[그림 4-1] Modelica Editor Bijection
Modelica 라이브러리의 경우 2023 R1부터 텍스트 에디터에서 파라미터 추가 혹은 수정을 하면 다이어그램 내의 컴포넌트가 변경되는 Bijection을 지원하여 모델 생성 속도를 높일 수 있게 되었다.
또한, 파라미터의 계층적 표시 지원으로 가독성이 향상되었으며 기존의 딱딱했던 Modelica Editor 그래픽이 [그림 4-2]와 같이 변경되었는데, 변경된 그래픽은 탱크의 물 높이 변화를 관찰할 수 있는 것과 같이, 보다 현대적으로 변경되었다는 장점을 가지고 있다.
[그림 4-2] Modelica Enhanced Diagram Graphics
[그림 5-1]과 같이 많은 핀을 가지는 컴포넌트 연결을 UI를 통해 손쉽게 해결할 수 있게 되었다.
[그림 5-1] Wire Together
해당 기능으로 핀의 위치 또한 조절이 가능하며 컴포넌트의 형태가 직사각형이든 정사각형이든 관계없이 적용이 가능한 방법이다.
마지막으로 Twin Builder에서 ROM의 시각화가 개선되어 Twin Builder 내에서 애니메이션을 생성 및 내보내기를 할 수 있게 되었다.
지금까지 Ansys Twin Builder 2023 R1 업그레이드에 대해서 알아보았다. Twin Builder는 발전하는 디지털 트윈 기술에 발맞춰 하이브리드 디지털 트윈 생성에 도움을 주는 Hybrid Analytics와 같이, 기능적으로 계속해서 향상되어 가고 있다. 또한, 사용자 편의성 향상을 위해 ROM 가시화, Modelica library 컴포넌트 이미지 개선 등의 기존 기능의 개선이 이루어지고 있고 pyAnsys/pyTwin을 적극 활용하여 자동화를 위한 노력도 계속하고 있다.