NASA Common Research Model(CRM, 날개-동체-꼬리날개 결합 천음속 여객기 형상)에 대해 Flow360의 항력·모멘트 예측 성능을 검증한 사례입니다. CRM은 4th AIAA CFD Drag Prediction Workshop(DPW-4)에서 채택된 공식 벤치마크 형상으로, 서로 다른 솔버와 지배방정식 체계를 사용하는 여러 참가팀이 동일한 조건에서 결과를 비교함으로써 항공기급 형상에 대한 실용적 CFD 해석 도구의 성능을 가늠하려는 목적을 갖습니다.
원문(영문) 전체 리포트: FlexCompute Flow360 Documentation — Drag Prediction of Common Research Model
개요
DPW 시리즈는 미국항공우주학회(AIAA)가 주관하는 CFD 솔버 간 상호 비교 워크숍으로, 참가자들이 동일한 형상·유동 조건에 대해 각자의 솔버로 해석한 결과를 제출하고 이를 한자리에서 비교합니다. DPW-4에서는 CRM이라는 날개-동체-꼬리날개(wing-body-tail) 형상이 표준 케이스로 채택되었으며, 여러 연구기관과 기업이 격자 밀도를 달리해가며 항력·양력·모멘트 계수를 제출했습니다.
본 검증에서는 Pointwise로 생성한 격자를 Flow360에 업로드하여 정상상태 RANS 해석을 수행하고, 그 결과를 DPW-4에서 발표된 FUN3D 솔루션과 비교합니다. 아울러 Flow360 Python API를 이용해 격자를 업로드하고, 케이스를 제출하고, 결과를 내려받는 전체 작업 흐름도 함께 소개합니다.
문제 정의
해석 대상은 CRM 날개-동체-꼬리날개 형상이며, 자유류 마하수 의 천음속 조건에서 목표 양력계수 에 도달하도록 받음각을 트림(trim)하는 방식으로 케이스를 구성합니다. 형상은 좌우 대칭이므로 통상적인 관례에 따라 절반(semi-span) 모델만 해석합니다. 형상 데이터는 DPW-4 공식 페이지에서 받을 수 있으며, 아래 그림에 전체 형상이 나타나 있습니다.

4차 항력 예측 워크숍(DPW-4)의 시험 형상
CRM 형상의 주요 제원은 다음과 같습니다.
| 항목 | 값 |
|---|---|
| 평균공력시위 (MAC) | 275.8 in (y = 468.75 in 위치) |
| 날개 half 스팬 (b/2) | 1156.75 in |
| half 모델 기준면적 (Sref/2) | 297,360.0 in² |
| 모멘트 기준점 (MRC) | x = 1325.90 in, y = 468.75 in, z = 177.95 in |
| 종횡비 (AR = b²/Sref) | 9.0 |
유동 조건은 다음과 같습니다.
| 항목 | 값 |
|---|---|
| 자유류 마하수 | 0.85 |
| 목표 양력계수 | 0.5 |
| 꼬리날개 취부각 | 0° |
| 레이놀즈수 (MAC 기준) | 5 × 10⁶ |
| 기준 온도 | 310.93 K |
격자 구성
격자는 Pointwise로 생성했습니다.
Flow360은 ugrid, CGNS 포맷(및 그 gz/bz2 압축 파일)의 격자를 그대로 지원하므로, 본 검증에서는 CGNS 포맷의 medium 해상도 격자를 사용했습니다.
이 격자는 육면체·사면체·프리즘·피라미드 요소가 혼합된 하이브리드 격자로, 노드 수는 약 1,130만 개입니다.

CRM medium 해상도 격자
뒤에서 다룰 격자 수렴성 검토를 위해 medium 격자 외에 coarse, fine 등급의 격자도 함께 준비되었으며, 각 격자의 노드·셀 수는 다음과 같습니다.
| 격자 등급 | 절점 수 | 셀 수 |
|---|---|---|
| Coarse | 5.5 M | 10.2 M |
| Medium | 11.3 M | 18.7 M |
| Fine | 43 M | 84.4 M |
설정 및 해석 절차
해석은 Flow360의 Python API를 통해 진행됩니다. 전체 흐름은 크게 세 단계로 나뉩니다.
1) 격자 업로드. 다운로드한 CGNS 격자를 클라우드에 올릴 때는 격자 파일과 함께 경계 정보를 담은 Flow360Mesh.json 설정 파일을 함께 전달합니다.
{
"boundaries": {
"noSlipWalls": [2, 3, 5, 7, 9]
}
}이렇게 경계 정보를 준비한 뒤 flow360client.NewMesh(...)를 호출하면 격자가 클라우드에 업로드되고 이후 단계에서 참조할 meshId가 반환됩니다.
2) 케이스 실행. 해석 조건은 JSON 설정 파일(Flow360.json)로 정의하며, 이 파일에는 자유류 마하수·목표 양력계수·트림 방식 등 해석에 필요한 유동·솔버 파라미터가 포함됩니다.
방금 얻은 meshId와 함께 flow360client.NewCase(meshId=..., config=..., ...)로 케이스를 제출합니다.
3) 결과 다운로드. 솔버 로그, 표면/체적 솔루션, 잔차 이력, 힘 계수(전체 및 경계별 표면력)를 각각 전용 API 호출(DownloadSolverOut, DownloadSurfaceResults, DownloadVolumetricResults, GetCaseResidual, GetCaseTotalForces, GetCaseSurfaceForcesByNames)로 받아 후처리 단계(ParaView/Tecplot)로 넘깁니다.
참고: 이 튜토리얼이 작성된 시점에는
flow360client라는 구버전 Python 패키지가 사용되었으나, 현재는 새flow360패키지 사용이 권장됩니다.
격자 수렴성 검토
이번 검증의 핵심은 medium 격자 결과가 단발성 값이 아니라, 격자를 조밀하게 할수록 특정 값으로 수렴해가는 경향의 일부임을 보이는 데 있습니다. 이를 위해 coarse(5.5 M 노드), medium(11.3 M 노드), fine(43 M 노드) 세 등급의 격자로 각각 해석을 수행하고, 받음각과 전체 항력계수 ( ), 압력 항력계수 ( ), 마찰 항력계수 ( ), 피칭모멘트계수 ( )가 격자 밀도에 따라 어떻게 변하는지를 DPW-4에서 발표된 FUN3D 결과와 함께 비교했습니다.

Flow360과 2009년 4th AIAA CFD Drag Prediction Workshop에서 발표된 FUN3D 결과의 격자 수렴성 비교. 가로축은 격자 노드 수 이며, 예상 수치오차 스케일인 기준선이 함께 표시되어 있습니다. 세로축은 전체 항력계수(좌상), 압력·마찰 항력계수(우상), 피칭모멘트계수(좌하), 받음각(우하)을 나타냅니다.
그래프에서 볼 수 있듯이 격자가 조밀해질수록 Flow360의 예측값은 점근적인(asymptotic) 값으로 수렴하는 전형적인 격자 수렴 거동을 보이며, 같은 노드 수 구간에서 FUN3D가 보인 수렴 경향과도 전반적으로 부합합니다. 이는 medium 격자만으로 얻은 결과라도 격자 해상도에 따른 오차 범위 안에서 신뢰할 수 있는 값임을 뒷받침합니다.
결과
medium 격자를 이용한 대표 해석 결과로, 표면 마찰계수( )와 압력계수( ) 분포, 그리고 와류 구조를 보여주는 Q-criterion 등가면을 확인했습니다. , 결과는 Flow360 웹 UI의 시각화 탭에서도 직접 확인할 수 있습니다.

표면 마찰계수( ) 분포

표면 압력계수( ) 분포
날개 상면과 동체 접합부 주변의 와류 구조는 마하수로 색칠한 Q-criterion 등가면으로 시각화했습니다. 이때 사용된 Q-criterion 임계값은 이며, 다음 식으로 산출됩니다.
여기서 는 자유류 마하수, 는 날개 스팬입니다.

마하수로 컬러링한 Q-criterion 등치면
요약
이번 검증은 Flow360 Python API를 이용해 NASA CRM 형상에 대한 외부 공력 해석을 준비·실행·후처리하는 전체 과정을 실제 산업급 형상으로 재현한 사례입니다. 목표 양력계수 조건에서 얻은 받음각과 전체 항력계수 , 압력 항력계수 , 마찰 항력계수 , 피칭모멘트계수 를 coarse/medium/fine 세 등급의 격자에 대해 산출하고, DPW-4에서 FUN3D가 제시한 결과와 비교했습니다. 그 결과 격자를 조밀하게 할수록 두 솔버의 예측값이 서로 근접하는 일관된 수렴 경향이 확인되어, Flow360이 천음속 영역의 복잡한 항공기급 형상에서도 실용적인 항력·모멘트 예측 도구로 활용될 수 있음을 보여줍니다.