본문으로 바로가기
전체 글

GNN 기반 항공기 공력 Surrogate 모델 AeroCAD의 개발과 검증

표면 메시와 비행조건으로 항공기 6분력을 예측하는 GNN 기반 Surrogate 모델과, 보안 환경의 학습 서버 및 설계자 PC를 고려한 운용 체계를 개발했습니다.

Research
2025. 12. 11

1. 연구 배경

항공기 개발 현장에서는 풍동시험과 CFD로 구축한 공력 데이터베이스를 설계와 성능 평가에 활용합니다. 최근에는 축적된 데이터를 학습한 대리모델(surrogate model)을 이용해 설계 초기 단계에서 공력특성을 빠르게 예측하려는 시도가 이어지고 있습니다.

그러나 실제 개발 환경에 AI 모델을 도입하려면 예측 정확도 이외의 조건도 고려해야 합니다. 보안망에서는 파일 이동과 장비 간 데이터 공유가 제한되며, 모델을 학습하는 엔지니어와 결과를 사용하는 설계자의 역할 및 작업 환경도 다릅니다. 학습 담당자는 풍동시험·CFD 데이터와 GPU 서버에 접근하지만, 설계자는 일반 PC에서 별도의 AI 또는 CFD 전문 지식 없이 형상에 대한 피드백을 신속하게 확인해야 합니다.

본 연구에서는 이러한 운용 조건을 반영하여 학습 환경과 사용 환경을 분리한 GNN(Graph Neural Network) 기반 공력 예측 체계를 개발했습니다. 대상은 항공기 및 헬리콥터 동체에 작용하는 3개 힘과 3개 모멘트의 공력계수이며, 체계는 학습용 AI Model Builder와 설계자용 AeroCAD로 구성됩니다.

보안망의 학습 환경과 설계자 PC의 사용 환경을 분리한 전체 시스템 구성
보안망의 학습 환경과 설계자 PC의 사용 환경을 분리한 전체 시스템 구성

2. 학습과 사용을 분리한 시스템 구성

AI Model Builder: 모델 생성 환경

AI Model Builder는 풍동시험 또는 CFD 결과와 CAD 형상을 입력받아 다음 과정을 자동으로 수행합니다.

  1. 입력 명세와 6분력 테이블의 정합성 검사
  2. CAD 형상의 표면 메시 변환
  3. 그래프 학습 데이터셋 구성
  4. 멀티 GPU 기반 GNN 학습
  5. 성능 평가와 사용자·개발자용 리포트 생성
  6. 배포용 모델 변환

학습 담당자는 데이터의 물리적 의미와 적용 범위를 정의하고, 정해진 입력 형식에 맞춰 데이터셋을 구성합니다. 반복적인 전처리, 학습 실행, 평가와 배포 파일 생성은 파이프라인이 처리합니다. 학습이 끝나면 모델 파일과 적용 대상, 데이터 범위 및 성능 정보를 사용 환경으로 전달합니다.

AeroCAD: 설계자용 추론 환경

AeroCAD는 설계자 PC에 설치되는 공력 예측 소프트웨어입니다. 사용자는 CAD 형상과 Mach 수, 받음각(AoA), 옆미끄럼각(AoS) 범위를 입력하고, 적용 범위에 맞는 학습 모델을 선택합니다. AeroCAD는 조건 스윕을 일괄 계산하여 CFx, CFy, CFz, CMx, CMy, CMz의 6분력 곡선과 DB 시트를 생성합니다.

AeroCAD의 3차원 형상 확인 및 추론 모델 선택 화면
AeroCAD의 3차원 형상 확인 및 추론 모델 선택 화면
Mach 수와 받음각 범위에 대한 6분력 예측 결과 화면
Mach 수와 받음각 범위에 대한 6분력 예측 결과 화면

추론 엔진은 C++로 구현되어 별도의 Python 환경을 요구하지 않으며 Windows와 Linux, CPU와 GPU 환경을 지원합니다. 텐서 구성까지 포함한 추론 결과를 초 단위로 확인할 수 있어 반복적인 설계 검토에 사용할 수 있습니다.

3. 표면 메시를 그래프로 표현하는 이유

형상을 신경망의 입력으로 사용하는 방법은 크게 설계변수, 고정 격자·이미지, 그래프 표현으로 구분할 수 있습니다.

  • 설계변수 기반 표현은 입력이 간결하지만 사전에 정의한 매개화 범위 밖의 형상을 다루기 어렵습니다.
  • 고정 격자 또는 이미지 기반 표현은 CNN 등의 구조를 적용하기 쉽지만 서로 다른 토폴로지와 격자 해상도를 동일한 입력 형식으로 처리하기 어렵습니다.
  • 그래프 기반 표현은 비정형 표면 메시의 연결 관계를 유지하므로 형상마다 노드 수와 연결 구조가 달라도 하나의 모델에서 처리할 수 있습니다.

본 연구는 유동장 전체를 예측하는 문제가 아니라, 표면 메시와 비행조건으로부터 그래프 단위의 적분량인 6분력을 회귀하는 문제로 정의했습니다.

표면 메시로부터 노드·엣지·전역 특성을 구성하는 그래프 표현
표면 메시로부터 노드·엣지·전역 특성을 구성하는 그래프 표현

그래프 입력은 다음과 같이 구성됩니다.

구성 요소차원내용
노드 특성6메시 정점의 좌표 3성분과 법선 벡터 3성분
엣지 인덱스삼각형 요소에서 추출한 무방향 고유 엣지
엣지 특성15길이, 방향, 축 정렬, 평면 투영, 법선 정합 등 국소 기하 관계
전역 특성12Mach 수, 온도, 받음각, 옆미끄럼각, 모멘트 기준점과 기준 면적 등
출력 라벨63개 힘 계수와 3개 모멘트 계수

4. GNN 모델과 학습 자동화

입력 그래프는 엣지 특성을 사용하는 Message Passing 레이어를 통과합니다. 이후 Global Mean Pooling으로 형상 전체를 나타내는 임베딩을 만들고, 비행조건을 포함한 전역 특성과 결합하여 완전연결층에서 6분력을 출력합니다.

학습과 배포 환경을 분리하려면 양쪽의 전처리가 수치적으로 일치해야 합니다. 이를 위해 노드 좌표에는 형상 중심 이동과 경계상자 대각선 길이 기반 스케일링을 적용하고, 엣지와 전역 특성에는 항목별 고정 변환을 사용했습니다. 데이터셋 통계량에 의존하는 변환을 사용하지 않아 Python 학습 파이프라인과 C++ 추론 엔진에서 같은 전처리를 재현할 수 있습니다. 6분력 라벨은 별도의 정규화 없이 원시값을 직접 학습했습니다.

입력 검증부터 배포 모델 생성까지 연결한 AI 모델 학습 자동화 파이프라인
입력 검증부터 배포 모델 생성까지 연결한 AI 모델 학습 자동화 파이프라인

적용 사례에는 ROBIN body를 기반으로 생성한 14종의 변형 형상을 사용했습니다. 형상, Mach 수, 받음각과 옆미끄럼각을 조합하여 총 19,166개 표본을 구성하고, 학습·검증·시험 데이터를 8:1:1로 분할했습니다.

  • Hidden dimension: 256
  • Message Passing layers: 8
  • 손실함수 및 최적화: MSELoss, AdamW
  • 학습 방식: 멀티 GPU 분산 학습과 early stopping
  • 학습 수렴: 600 epoch에서 안정적인 수렴 확인

학습 모니터링 화면은 GPU 서버에 생성되는 산출물을 읽기 전용으로 참조합니다. 학습 프로세스와 독립적으로 손실함수, best epoch, learning rate와 로그를 확인할 수 있으며, 서로 다른 설정으로 수행한 여러 학습 실행을 비교할 수 있습니다.

하이퍼파라미터가 다른 여러 학습 실행의 validation loss 비교 화면
하이퍼파라미터가 다른 여러 학습 실행의 validation loss 비교 화면

5. C++ 추론 엔진과 배포

학습 파이프라인은 최종 모델을 TorchScript 형식으로 변환합니다. AeroCAD에 내장된 C++ 추론 엔진은 전달받은 모델 파일을 로드하고, GLB 형상과 해석 조건을 학습 때와 동일한 방식으로 텐서화한 뒤 조건 스윕을 계산합니다.

이 구성에서는 설계자 PC마다 Python과 학습 프레임워크의 버전을 관리할 필요가 없습니다. 학습 서버에는 데이터 처리와 모델 생성 기능을 집중하고, 사용자 환경에는 형상 확인, 조건 입력, 추론과 결과 검토에 필요한 기능만 배포할 수 있습니다. 이는 파일 및 장비 간 이동이 제한되는 환경에서 모델의 생성과 사용 책임을 구분하는 기반이 됩니다.

6. 미학습 형상에 대한 검증

학습에 포함하지 않은 ROBIN 기반 검증 형상 3종을 대상으로 받음각 변화에 따른 6분력을 예측하고 CFD 결과와 비교했습니다. GNN은 6분력 전반에서 받음각에 따른 변화 경향을 추종했으며, 검증 형상 사이의 공력특성 차이도 구분했습니다. 다만 계수의 절댓값이 0에 가까운 CFxCMx 성분에서는 상대적으로 산포가 관찰됐습니다.

미학습 검증 형상 3종에 대한 CFD 해석과 GNN 6분력 예측 비교
미학습 검증 형상 3종에 대한 CFD 해석과 GNN 6분력 예측 비교

그래프 표현이 서로 다른 격자 규모를 처리하는지도 별도로 확인했습니다. 동일한 미학습 형상을 약 5만–70만 규모의 표면 격자로 다시 생성하고 예측값을 비교했습니다. 학습에는 기준 격자 한 종류만 사용했지만, 격자 규모가 10배 이상 달라진 경우에도 6분력 예측 결과가 거의 동일하게 나타났습니다.

약 5만–70만 규모의 서로 다른 표면 격자에서 확인한 6분력 예측의 일관성
약 5만–70만 규모의 서로 다른 표면 격자에서 확인한 6분력 예측의 일관성

이 결과는 해당 검증 형상과 격자 범위에서 GNN 입력이 가변 토폴로지와 격자 해상도 변화에 일관되게 대응했음을 보여줍니다. 다만 다양한 항공기 형상 전체에 대한 일반화 성능을 의미하지는 않으며, 적용 형상과 운용 조건이 확대될수록 추가 학습 및 검증이 필요합니다.

7. 결론

본 연구에서는 현장이 보유한 풍동시험·CFD 데이터를 재활용해 항공기 6분력을 예측하는 GNN 모델과 운용 체계를 개발했습니다. AI Model Builder는 데이터 검증부터 학습, 평가와 배포까지 자동화하고, AeroCAD는 설계자 PC에서 형상과 비행조건을 입력받아 6분력 곡선과 DB 시트를 제공합니다.

검증 결과, 모델은 미학습 형상에서 받음각에 따른 6분력 변화 경향과 형상 간 차이를 구분했으며, 약 5만–70만 규모의 서로 다른 표면 격자에서도 일관된 예측을 보였습니다. 이 결과의 적용 범위는 정밀 CFD를 대체하는 최종 성능 판정이 아니라, 설계 단계에서 공력 변화 경향을 빠르게 확인하고 정밀 해석이 필요한 형상과 조건을 선별하는 용도입니다.

향후에는 학습 형상을 확대하여 3차원 고정익 항공기에 대한 일반화 성능을 검증하고, 적분 공력계수뿐 아니라 표면 압력계수와 마찰계수 분포를 예측하는 모델로 확장할 계획입니다.

이어서 읽기

Research

MPI–OpenMP 하이브리드 병렬화와 순수 MPI의 성능 비교

GPU 실행에 최적화된 CFD 솔버의 CPU 경로에 OpenMP를 적용하고, MPI–OpenMP 하이브리드 구성과 순수 MPI의 성능을 비교했습니다. 하이브리드는 8코어에서 순수 MPI보다 11% 빨랐지만 32코어에서는 15% 느렸으며, 전처리기 수렴성 개선 효과도 확인되지 않았습니다.

Research

LLM을 이용한 CFD 솔버의 동적 CFL 제어

상용 LLM으로 CFD 해석 중 CFL을 실시간 조정하는 제어기를 만들어 Wake 솔버에 붙였습니다. LLM 단독은 발산했고, 빠른 규칙 안전층과 결합한 하이브리드가 사람이 설정한 Constant CFL보다 27% 빠르게 수렴했습니다.

Research

UPW AIoT System

초순수 제조 공정의 해석, 데이터 예측과 제어를 연결한 산업 AI 연구입니다.

다음 단계

비슷한 문제를 검토하고 계신가요?

형상과 운전 조건, 필요한 설계 판단을 알려주시면 적용 가능한 범위를 함께 정리합니다.