| 전산유체역학 Computational Fluid Dynamics | |
|---|---|
| 약칭 | CFD |
| 분야 | 유체역학 × 수치해석 × 전산과학 |
| 지배 방정식 | 나비에-스토크스 방정식 |
| 주요 기법 | 유한체적법, 유한차분법, 유한요소법 |
| 대표 소프트웨어 | OpenFOAM, ANSYS Fluent, STAR-CCM+ |
1. 개요[편집]
실험은 비싸고, 이론은 안 풀리고, 그래서 우리는 컴퓨터를 갈아 넣기로 했다.
전산유체역학(Computational Fluid Dynamics, CFD)은 유체의 흐름을 지배하는 편미분방정식을 컴퓨터로 수치적으로 풀어 유동장을 예측하는 학문이자 공학 도구이다. 나비에-스토크스 방정식은 극히 단순한 경우를 제외하면 해석해(analytical solution)가 존재하지 않기 때문에1, 공간을 격자로 잘게 쪼개고 방정식을 대수방정식으로 이산화하여 근사해를 구한다.
비행기 날개 주위의 공기 흐름, 자동차의 공력 성능, 반도체 장비 내부의 가스 유동, 혈관 속 혈류까지 — 유체가 흐르는 곳이라면 어디든 CFD가 쓰인다. 풍동 실험 대비 비용이 저렴하고 형상 변경이 자유롭다는 것이 최대 장점. 물론 그 대가로 엔지니어는 격자 품질과 수렴성의 노예가 된다.
2. 역사[편집]
CFD의 뿌리는 의외로 깊다. 1922년 루이스 프라이 리처드슨(Lewis Fry Richardson)은 사람 6만 4천 명을 극장에 모아놓고 수계산으로 일기예보를 하겠다는 몽상을 했는데2, 이것이 수치 유체해석의 시조로 꼽힌다. 이후의 굵직한 이정표만 짚으면 다음과 같다.
- 1928년 — 쿠랑, 프리드리히스, 레비가 CFL 조건을 발표. 수치해석의 안정성 이론의 초석이 된다.
- 1960~70년대 — 로스앨러모스 국립연구소와 임페리얼 칼리지 런던에서 현대 CFD의 골격이 완성된다. 스팔딩(D. B. Spalding)과 파탄카(S. V. Patankar)가 SIMPLE 알고리즘을 개발한 것이 이 시기.
- 1980년 — 파탄카의 저서 Numerical Heat Transfer and Fluid Flow 출간. 지금도 CFD 입문자의 바이블로 불린다.
- 1980~90년대 — 상용 코드(PHOENICS, Fluent, STAR-CD)의 등장으로 CFD가 연구실 밖 산업 현장으로 확산된다.
- 2004년 — OpenFOAM이 오픈소스로 공개되며 “라이선스 비용 0원” 시대가 열린다.
3. 지배 방정식[편집]
CFD가 푸는 방정식은 결국 세 가지 보존 법칙이다. 질량 보존(연속 방정식):
운동량 보존(나비에-스토크스 방정식):
여기에 열이 오가면 에너지 보존 방정식이, 화학종이 섞이면 종 수송 방정식이 추가된다. 문제는 이 방정식들이 서로 얽혀 있는 비선형 연립 편미분방정식이라는 것. 특히 비압축성 유동에서는 압력에 대한 독립적인 방정식이 없어서 압력-속도 연성(pressure-velocity coupling) 문제가 발생하며, 이를 푸는 대표적인 방법이 SIMPLE 알고리즘 계열이다.
4. 해석 절차[편집]
실무에서 CFD 해석은 크게 세 단계로 나뉜다. 각 단계에 드는 시간 비율은 대략 5:1:4 라는 우스갯소리가 있다.3
4.1. 전처리 (Pre-processing)[편집]
해석 도메인을 정의하고 격자를 생성한 뒤, 경계 조건과 물성치, 난류 모델 등을 설정하는 단계. CFD 결과의 품질은 격자 품질에서 절반 이상 결정된다고 해도 과언이 아니다. “Garbage in, garbage out”이라는 격언이 가장 뼈아프게 적용되는 곳.
4.2. 솔버 (Solver)[편집]
이산화된 대수방정식을 반복법으로 푸는 단계. 엔지니어가 할 일은 잔차(residual) 그래프가 얌전히 내려가기를 기도하는 것뿐이다. 잔차가 요동치거나 발산하면 전처리로 돌아가 격자, 경계 조건, 완화 계수(under-relaxation factor)를 의심해야 한다.
4.3. 후처리 (Post-processing)[편집]
수렴한 유동장에서 속도·압력·온도 분포를 시각화하고, 양력계수나 압력강하 같은 공학적 물리량을 추출하는 단계. 무지개색 컨투어(rainbow contour)를 뽑아내는 것으로 끝나는 게 아니라, 결과가 물리적으로 타당한지 검증하는 것까지가 후처리다.4
5. 이산화 기법[편집]
연속적인 편미분방정식을 유한 개의 대수방정식으로 바꾸는 방법에 따라 크게 세 갈래로 나뉜다.
| 기법 | 보존성 | 복잡 형상 | 주 사용처 |
|---|---|---|---|
| 유한차분법 (FDM) | 비보존적일 수 있음 | 불리 | 학술 연구, DNS |
| 유한체적법 (FVM) | 국소 보존 보장 | 유리 | 상용/오픈소스 CFD 대부분 |
| 유한요소법 (FEM) | 약형식 기반 | 유리 | 구조 연성, 일부 상용 코드 |
오늘날 산업용 CFD 코드의 절대다수는 유한체적법을 채택하고 있다. 검사체적 단위로 플럭스가 정확히 상쇄되어 질량·운동량이 국소적으로 보존된다는 점이 유체 문제와 궁합이 좋기 때문.
6. 난류 해석[편집]
공학적으로 의미 있는 유동은 거의 전부 난류다. 문제는 난류를 직접 다 풀려면(DNS) 레이놀즈수의 세제곱에 비례하는 격자가 필요해서, 항공기 한 대를 통째로 DNS 하는 것은 21세기 안에는 어렵다는 것.5 그래서 현실적으로는 난류 모델링으로 타협한다. RANS, LES, DES 등 타협의 정도에 따라 다양한 스펙트럼이 존재하며, 자세한 내용은 해당 문서 참고.
7. 주요 소프트웨어[편집]
- 상용: ANSYS Fluent, STAR-CCM+, COMSOL Multiphysics 등. 비싸지만 GUI와 기술지원이 있다.
- 오픈소스: OpenFOAM, SU2, Code_Saturne 등. 공짜지만 그 대가로 사용자의 정신력을 요구한다.
- 국산: BARAM(OpenFOAM 기반 GUI), NFLOW 등이 있다.
8. 현업에서의 현실[편집]
- 해석 시간의 절반은 격자 생성이 잡아먹는다. 나머지 절반의 절반은 수렴 안 되는 케이스 디버깅이다.
- “실험이랑 안 맞는데요?”라는 말을 들으면, 실험 오차부터 의심하고 싶은 유혹에 시달린다. 물론 대부분은 해석이 틀렸다.
- 상사는 어제 준 형상의 해석 결과를 오늘 아침에 원한다. 격자 수를 물어보는 상사는 드물다.
- 그래도 풍동 하나 짓는 것보다는 워크스테이션 한 대가 싸다. CFD가 밥벌이가 되는 이유다.
9. 관련 문서[편집]
10. Footnotes[편집]
-
3차원 나비에-스토크스 방정식의 매끄러운 해의 존재성과 유일성은 클레이 수학연구소의 밀레니엄 문제 중 하나로, 상금이 100만 달러다. 즉 인류는 아직 이 방정식을 “이해”하지도 못한 채 매일 수십만 코어시간을 들여 풀고 있는 셈이다. ↩
-
Richardson, L. F. (1922). Weather Prediction by Numerical Process. 그가 상상한 “예보 공장(forecast factory)“은 사실상 인간 CPU 클러스터였다. 참고로 본인이 직접 6주간 수계산으로 6시간짜리 예보를 시도했는데, 결과는 처참하게 틀렸다. ↩
-
전처리 5, 솔버 1, 후처리 4. 어디까지나 엔지니어의 노동 시간 기준이다. CPU 시간은 당연히 솔버가 다 먹는다. ↩
-
무지개 컬러맵은 시각 인지적으로 왜곡이 심해 학계에서는 퇴출 운동이 벌어진 지 오래다. 그럼에도 현장 보고서가 여전히 무지개인 이유는, 부장님이 그 색을 좋아하시기 때문이다. ↩
-
Spalart(2000)의 추정에 따르면 항공기 전기체 DNS는 2080년경에나 가능할 것으로 예측되었다. 무어의 법칙이 죽어가는 지금, 그 예측은 오히려 낙관적이었다는 평가를 받는다. ↩