상담문의

[Amesim] Amesim과 ROM Builder를 활용한 시뮬레이션 속도 향상

2024-09-23

 

Motivation


 시스템 시뮬레이션을 해보신 분들이라면, 어느 시점에서 시뮬레이션 모델의 만족스럽지 못한 런타임 성능에 직면했을 것입니다. 시스템 시뮬레이션의 다학제적(Multi-disciplinary)이고 혼합된 충실도 특성(mixed-fidelity nature)으로 인해 모델의 런타임을 개선하는 방법을 이해하는 것이 항상 간단한 것은 아닙니다. 때로는 좌절스러운 경험으로 이어질 수 있습니다. 이 글에서는 가장 일반적인 느린 시뮬레이션 원인과 시뮬레이션 속도를 높이기 위해 Reduced Order Model을 사용하는 방법을 설명하려고 합니다.

그림 1: ROM(Reduced Order Models)을 이용한 3가지 유형의 혜택

 ROM(Reduced Order Model)은 보다 복잡한 모델에 필요한 솔루션 시간이나 저장 용량을 줄이기 위해 필수적인 동작과 주요 효과를 보존한 고충실도 정적 또는 동적 모델을 단순화한 것입니다.


근본 원인 분석


 일반적으로 실망스러운 런타임 성능은 두 가지 근본 원인에서 비롯됩니다.


    1. 이 모델은 시뮬레이션 분석에 적합하지 않습니다. 이 진술을 이해하기 위해 모델은 실제 세계 시스템의 추상적 표현이라는 점을 상기시켜 드리겠습니다. 모델은 정확한 표현이 아니므로 완벽하게 대표적인 결과를 생성하지 않습니다. 그러나 모델링의 목표(및 과제)는 모델의 의도된 목적에 필요한 관련 표현을 포함하는 것입니다. 모델이 분석에 불필요하게 너무 자세하다면 런타임이 너무 길다고 인식될 수 있다는 것은 논리적입니다. 이 경우 모델을 고려하여 수행될 분석에 맞게 조정해야 합니다.

    2. 반면, 모델이 개념적으로 적절하다면, 즉 요청된 분석과 관련하여 분석할 시스템을 과도하게 표현하지 않는다면, 계산 리소스 제한으로 인해 정확도와 런타임 효율성 간의 상충이 발생할 수 있습니다. 이는 특히 고정된 시간 단계로 시뮬레이션을 수행해야 하는 실시간 애플리케이션의 경우에 해당합니다. 이 경우, 축소 차수 모델(ROM) 기술은 이러한 모델을 단순화하여 필수적인 동작과 지배적인 효과를 보존하고 시뮬레이션 시간을 줄이는 데 유용할 수 있습니다.

그림 1: 시뮬레이션 속도 향상을 위한 축소차수 모델(ROM)에 대한 다양한 기술

 그림 1의 표는 시스템 시뮬레이션에 일반적으로 적용되는 ROM 기술과 몇 가지 지침 및 제한 사항을 보여줍니다.

 이 글에서는 가스터빈 성능의 시뮬레이션 시간을 줄이고 비행 성능 모델에 통합하기 위해 수동 감소 (physics-based models) 및 신경망 (deep learning)이라는 ROM 기술을 적용하는 방법을 안내해 드리겠습니다.

Reduced Order Models (ROMs)의 실제적 적용


 Simcenter Amesim 에는 지역 운송 항공기의 두 가지 새로운 데모와 비행 성능 분석을 위한 하이브리드화가 포함되어 있습니다. 그림 2에 나와 있듯이 이는 "통합 시스템" 범주의 "항공우주 및 방위" 섹션에서 액세스할 수 있습니다. 

그림 2: Simcenter Amesim v2020.2의 지역 운송 항공기용 두 개의 새로운 데모

 지역 항공기 모델은 4개 부분으로 구성되어 있습니다. 이는 비행 역학, 제어, 비행 임무 및 동력 장치입니다.

 실행 통계를 살펴보면, 비행 성능 모델은 약 1시간 30분 분량의 미션을 시뮬레이션하는 데 약 1분이 걸립니다. 우리는 GCC 64비트 컴파일러와 가변 시간 단계(Simcenter Amesim 표준 통합기)를 사용하는 일반 노트북을 사용했습니다.

 단일 실행에 있어서는 실제로 좋은 런타임이기는 하지만, 특히 모델이 비행 범위의 수백 개 지점에서 항공기 성능을 시뮬레이션해야 하는 경우 이를 개선하는 것이 유용합니다.

 좋은 시작점은 성능 분석기(그림 3)를 보는 것입니다. 통합 시간 단계를 제어하는 상태 변수의 요약을 제공합니다. 이는 최상위 상태 기여자가 발전소, 특히 터보프롭 모델에 속한다는 것을 명확하게 나타냅니다.

그림 3: 상위 주 기여도를 보여주는 성과 분석기

 우리는 이것을 만들기 위해 가스터빈 성능 도구를 사용했습니다. 주어진 설계 지점에 대한 엔진의 열역학적 사이클을 설명하는 매개변수에서 시작하여, 이 도구는 가스터빈 라이브러리 구성 요소를 사용하여 Simcenter Amesim 모델을 자동으로 생성합니다. 그림 4에 표시된 대로 앱 공간 메뉴를 클릭하여 도구를 시작할 수 있습니다.

그림 4: 가스터빈 성능 도구. 3개 스풀 터보프롭 구성이 선택됨.

 설명한 대로, 이렇게 생성된 모델은 CPU 리소스의 주요 소비자입니다. 이러한 이유로, 통합 비행 성능 모델과 별도로 고려되는 터보프롭 모델의 런타임 성능을 살펴보겠습니다. 그런 다음, ROM 기술을 적용하여 개선할 목표를 세웁니다.

 그림 5는 기준 모델을 나타내고 그림 6은 주요 결과의 플롯을 나타냅니다. 첫 번째 하위 플롯은 터빈 진입 온도(TET)를 보여줍니다. 우리는 임무 중 진화를 이해하는 데 도움이 되도록 고도 프로파일과 함께 플롯합니다. 두 번째 하위 플롯은 고도 프로파일과 함께 터보프롭 샤프트 전력을 보여줍니다. 엔진 컨트롤러는 각 비행 단계에서 일정한 전력을 유지합니다. 세 번째 하위 플롯은 엔진 연료 소비량을 보여줍니다. 마지막으로 마지막 하위 플롯은 로그 스케일로 디스플레이 CPU 시간을 제공합니다.

그림 5 : 3개 스풀 터보프롭의 기준 모델

그림 6 : 기준 모델 성능

Physical-based order reduction

 시뮬레이션 시간을 단축하기 위한 첫 번째 전략은 시뮬레이션의 고주파 콘텐츠를 "수동으로" 제거하고 기준 결과에 대한 합리적인 오류를 유지하면서 모델 정확도를 낮추는 것입니다.

 우리는 다음 단계를 따랐습니다.

    1. NASA 혼합물 정의 구성 요소의 가스 특성을 사용하는 대신, 우리는 선형 옵션을 선택했습니다. 이 옵션은 단일 테이블과 더 간단한 방정식을 사용하여 혼합물의 특성을 정의하며, NASA 옵션과는 다르게 작동합니다. 따라서 매 시간 단계마다 혼합물 특성을 계산하는 데 필요한 연산 능력이 적게 소요됩니다. 그러나 이는 가스 혼합물 특성의 정확성을 어느 정도 희생하는 대가를 치르는 것입니다.

    2. 연소 정의의 반응 속도가 10 7 에서  10 5 로 증가했습니다 . 이는 시뮬레이션의 가장 높은 주파수 중 일부를 줄입니다.

    3. 이 모델은 기본적으로 일련의 저항성 요소(압축기, 터빈, 구멍 등)와 용량성 요소(체적, 챔버)로 구성됩니다. 전기 회로와 비유하면 각 구성 요소의 등가 저항 및 용량 값을 계산할 수 있습니다(체적에 정비례). 이는 이러한 구성 요소의 물리적 동작을 설명하는 방정식을 선형화하고 다시 정렬하여 달성할 수 있습니다. 각 저항성 및 용량성 요소 시리즈가 
시간 상수의 역수인  고유값을 생성한다는 것을 보여줄 수  있습니다. 


 이 연습의 목표 중 하나는 시뮬레이션의 고주파 콘텐츠를 제거하거나 줄이는 것입니다. 고주파가 솔버 측에서 더 작은 적분 시간 단계의 필요성에 직접적인 책임이 있다는 점을 감안할 때. 이러한 이유로 위의 관계를 살펴보면 단순히 체적 구성 요소의 크기를 늘리면 시스템의 주파수를 줄일 수 있습니다. 이렇게 하면 필연적으로 시스템 응답이 느려집니다. 그러나 런타임 이점과 시스템 응답에 미치는 영향 사이에서 균형을 맞추면 볼륨에 대한 적절한 값을 선택할 수 있습니다. 이 연습에서는 압축기와 터빈(챔버 요소) 사이의 흐름 경로를 나타내는 볼륨을 20배 늘렸습니다.

    4. 그림 4에서 알 수 있듯이 연소실과 터빈 뒤에는 일련의 구멍과 체적이 이어집니다. 이러한 구성 요소는 Gas Turbine Performance 도구에서 자동으로 생성됩니다. 이들은 흐름 경로를 따라 한 구성 요소에서 다른 구성 요소로의 압력 손실을 설명합니다. 분석의 목표가 전체 항공기 비행 성능을 평가하는 것이라는 점을 명심하고, 이러한 손실은 무시할 수 있다고 가정하는 것이 합리적입니다. 따라서 구멍과 인접한 체적을 모두 제거할 수 있습니다. 이렇게 하면 시스템의 상태 변수 수와 저항(구멍) 및 용량(체적) 요소와 관련된 고유값이 줄어듭니다.

    5. 이러한 수정은 모델을 0.1ms의 고정 시간 단계와 Euler 적분 방법과 실시간으로 호환되도록 만들기에 충분합니다. 실시간 준수가 요구 사항이 아닌 경우(다시 말하지만, 우리의 목표는 비행 성능 분석 시뮬레이션을 가속화하는 것입니다) 솔버 설정을 수정할 수도 있습니다. 솔버 허용 오차를 조심스럽게 늘리면 시뮬레이션 정확도를 떨어뜨리지 않고도 CPU 시간을 개선할 수 있습니다. 이 예에서 우리는 솔버 허용 오차를 10-7에서 10-5 로  늘 립니다 .

그림 7: 기준선과 물리 기반 축소 순서 모델 간의 비교.

 베이스라인과 감소된 순서 모델의 결과 간의 성능 비교는 그림 6의 두 번째 서브 플롯에 나와 있습니다. 차이는 미미하지만 CPU 시간은 거의 70배 감소했습니다. 이는 상당한 CPU 속도 향상으로 인상적인 성과입니다. 5865초(1시간 38분)의 전체 비행 미션을 이제 0.586초 안에 실행할 수 있으므로 단일 실행에 대한 CPU 시간은 1초 미만입니다.

Deep learning order reduction


 또 다른 ROM 기술은 머신 러닝 접근 방식을 사용하여 대리 모델을 만드는 것입니다. 대리 모델은 일반적으로 더 자세한, 애플리케이션 또는 분야별(예: 물리 기반) 모델 구현에 비해 상당한 성능 이점이 있기 때문에 개발됩니다. 그러나 대리 모델은 기반이 되는 모델의 모든 가정과 제한 사항을 수용할 뿐만 아니라 특정 구현의 추가 제한 사항도 통합합니다.

 Simcenter Amesim에는 Simcenter Amesim 모델 또는 외부 데이터 세트에서 인공 신경망을 생성할 수 있는 도구인 Neural Network Builder가 장착되어 있습니다. 신경망 생성을 위해 3가지 주요 단계를 실행합니다.

    1. 훈련 및 검증을 위한 데이터 세트 가져오기
    2. 신경망의 정의(입력, 출력, 하이퍼 매개변수)
    3. 데이터 세트를 이용한 네트워크의 훈련 및 검증

 일관된 훈련 및 검증용 데이터 세트를 만들기 위해 그림 5에 제시된 기준 모델을 수정했습니다. 시스템의 경계 조건은 일관된 값 범위 내에서 무작위로 변했습니다. 이러한 경계 조건은 고도, 마하 수(엔진 입구 및 출구의 총 압력 및 정압과 온도와 직접 관련됨), 연료 유량 및 샤프트 속도입니다. 이는 모델의 입력을 나타냅니다. 출력은 샤프트 토크와 터빈 입구의 온도입니다. 그림 8은 재작업된 모델을 나타냅니다. 우리는 스케치 중앙에 배치된 슈퍼 컴포넌트에 기준 모델을 캡슐화했습니다.

그림 8: 신경망 알고리즘의 학습 및 검증 데이터 집합 생성을 위해 준비된 터보샤프트 모델.

 그림 9는 생성된 데이터 세트의 플롯을 보여줍니다. 왼쪽에 입력이 있고 오른쪽에 출력이 있습니다. 시뮬레이션의 관심사가 저주파 역학에 집중되어 있으므로 학습할 정적 신경망 모델을 선택했습니다. 그림 10은 전체 학습 및 충실도 지수가 98%인 검증 단계를 보여줍니다. 

 신경망 빌더의 결과는 인공 신경망 모델을 임베딩하는 구성 요소입니다. 그림 11에서는 그림 8에 나와 있는 Simcenter Amesim의 기본 터보샤프트 모델을 대체하는 방법을 보여줍니다.

그림 9: 훈련 데이터 세트. 왼쪽에 입력, 오른쪽에 출력.

그림 10: 신경망 모델 검증 단계

그림 11: 터보샤프트 모델. Simcenter Amesim 슈퍼컴포넌트는 인공 신경망 블록으로 대체

그림 12: 기준선, 물리 기반 축소 순서 및 신경망 축소 순서 모델의 성능 비교

 마지막으로, 그림 12에서 신경망 모델로 얻은 결과를 기준선과 물리적 기반 감소 순서 모델과 비교합니다. 신경망 모델은 순항 중 터빈 입구 온도를 약간 과대평가하고 하강 중 터빈 입구 온도를 과소평가하는 경향이 있습니다. 이 오차는 기준선에 비해 2% 미만이므로 허용 가능한 것으로 간주됩니다. CPU 시간이 약 2500배 감소함에 따라 5865초(1시간 38분)의 전체 비행 임무를 이제 0.015초 안에 실행할 수 있습니다. 이는 단일 실행에 대한 15ms의 CPU 시간입니다. 매우 빠르므로 이제 전체 설계 공간을 커버하기 위해 수백 또는 수천 번의 실행을 시작할 수 있습니다.

비행 성능 모델


 분석을 마무리하기 위해 엔진의 물리 기반 축소 순서 모델과 신경망 축소 순서 모델을 비행 성능 모델로 대체하여 통합 모델에 미치는 영향을 평가합니다. 시뮬레이션 모델의 성능 결과를 비교하기 위해 특정 항공 거리(SAR)로 고수준 메트릭을 선택했습니다. SAR은 항공기가 소모한 연료 1kg에 대해 해리로 이동한 거리로 정의됩니다. 엔진과 비행 역학 성능을 모두 종합한 것이므로 적용된 다양한 ROM 간의 차이점을 비교하는 데 좋은 척도가 됩니다. 그림 13은 첫 번째 하위 플롯의 SAR(고도 프로필과 함께)을 보여줍니다. CPU 시간은 두 번째 하위 플롯에 나타납니다.

그림 13: ROM 엔진을 탑재한 통합 모델의 성능 비교. SAR 및 CPU 시간.

 신경망 접근법은 여전히 가장 빠른 런타임을 제공합니다. 그러나 물리 기반 접근법과 관련하여 개선된 점은 터보프롭 엔진 모델을 개별적으로 취한 것보다 덜 두드러집니다. 기준선과 비교했을 때 통합 모델의 CPU 시간을 엔진 모델의 경우 2500배인 반면, 통합 모델의 CPU 시간은 37배 단축할 수 있습니다. 그 이유는 솔버 속도를 늦추는 통합 모델의 다른 부분이 있기 때문입니다. 이미 대단한 성과입니다. 더 중요한 CPU 속도 향상이 필요하다면 터보프롭 엔진 주변의 다른 하위 시스템에 적용된 ROM 기술을 조사해야 할 것입니다.

결론


 이 글에서는 시뮬레이션 속도 향상을 위해 Reduced Order Model을 성공적으로 사용하는 방법을 보여드렸습니다. 우리는 이 두 가지 기술을 사용하여 터보프롭 엔진을 재 작업하여 비행 성능 모델을 가속화했습니다.

 각 기술에는 고유한 장단점이 있습니다.

     물리 기반 순서 감소는 효과적으로 사용되기 위해 모델링된 물리, 도구 및 솔버 작동 원리에 대한 자세한 이해가 필요합니다. 주로 상태 변수의 수와 모델링된 최고 주파수 역학을 줄여 시뮬레이션 속도를 높이는 것을 목표로 합니다.

     인공 신경망은 딥 러닝 방식이며, 다른 접근 방식을 취합니다. 주어진 모델(시스템)의 입력/출력 데이터 집합에서 시작하여 이러한 알고리즘은 이러한 데이터 집합 간의 상관 관계를 재생성하도록 훈련될 수 있습니다. 이들은 계산 관점에서 매우 효율적입니다. 부정적인 측면에서, 이들이 대체하는 모델의 물리는 접근할 수 없습니다. 이들의 한계는 원래 모델의 한계와 합쳐집니다. 마지막으로, 알고리즘 훈련에 사용된 입력/출력 선택과 데이터 집합의 폭에 의해 결정되는 이들의 유효성 도메인은 신중하게 존중되어야 합니다.

 이 글이 여러분께 Reduced order Models (ROM)기술에 대한 유용한 팁을 제공했기를 바라며, 이를 활용해 시뮬레이션의 실행 시간을 단축하거나 실시간성과 호환되도록 만들 수 있기를 바랍니다. 

 이상 더 궁금한 사항있으시면 캐디언스시스템으로 연락주세요 


댓글 없음

댓글 쓰기

이런자료는 어때요?
캐디언스 시스템
(주) 캐디언스시스템

서울본사 : 서울시 금천구 가산디지털 1로 212, 코오롱디지털타워애스턴 1006호