대와동모사(LES) — 큰 와동은 풀고 작은 와동은 모델링
대와동모사(LES) — 큰 와동은 풀고 작은 와동은 모델링
DNS와 RANS 사이의 절충안 — 공간 필터로 큰 와동만 직접 풀고 격자보다 작은 와동은 SGS 모델로 처리하는 LES의 수학과 직관.
들어가며
10장의 DNS는 모든 와동 스케일을 다 풀기 때문에 정확하지만, 격자 수가 로 폭발해 산업용 고 레이놀즈 수 흐름에는 거의 쓸 수 없었다. 5장의 RANS는 모든 변동을 한꺼번에 평균해 버리기 때문에 빠르지만, 와동의 시간 발전 자체를 잃어버린다. 본 장이 끝나면 독자는 **LES(Large Eddy Simulation, 대와동모사)**가 이 두 극단 사이에서 어떻게 절충점을 잡는지 — “큰 것은 풀고 작은 것은 모델링한다”는 한 문장의 의미를 — 식과 한 줄 코드로 설명할 수 있다.
본론 1 — 공간 필터: 신호에서 작은 스케일을 자르는 작업
LES의 출발점은 시간 평균이 아니라 공간 필터다. 어떤 필터 함수 (필터 커널)와 필터 폭 (대문자 델타, 격자 한 칸 크기 정도)를 정해 두면, 필터링된 속도 (“u 틸데”로 읽는다)는 다음과 같이 정의된다:
말로 풀면 “한 점의 속도를 그 주변 범위에서 가중 평균한 값”이다. 보다 큰 와동은 거의 그대로 통과하고, 보다 작은 와동은 평균에 묻혀 사라진다. 실무에서 흔히 쓰는 는 세 가지다 — 박스 필터(box filter, 일정 구간 안에서 균등 평균), 가우시안 필터(Gaussian filter, 가우시안 종 모양 가중치), 샤프 스펙트럴 필터(sharp-spectral filter, 푸리에 공간에서 특정 파수 이상을 자르는 필터).
5장의 레이놀즈 분해 와 형태는 비슷해 보이지만 본질이 다르다 — 레이놀즈 분해는 시간 평균이라서 평균된 장은 시간에 따라 변하지 않거나 매우 느리게 변하는 반면, LES의 필터링된 장 는 여전히 시간에 따라 흔들리는 큰 와동의 동역학을 그대로 보존한다.
본론 2 — 필터링된 나비에-스토크스와 SGS 응력
비압축 나비에-스토크스에 필터를 적용해 보자. 시간 미분·압력 구배·점성 항은 필터 연산과 미분의 교환성 덕분에 모두 필터 기호가 안으로 들어간 형태로 그대로 살아남는다. 5장 RANS 유도 때와 똑같이, 문제는 대류항 다.
대류항을 필터하면 두 속도의 곱이 등장하는데, 곱의 필터는 일반적으로 필터의 곱과 같지 않다: . 이 차이를 **SGS 응력(Subgrid-Scale stress, 격자 이하 스케일 응력)**으로 정의한다:
이 텐서는 격자보다 작은 스케일의 와동이 운반하는 운동량 교환을 모은 양이다. 풀어쓰면 “내가 직접 풀고 있는 큰 와동장 만으로는 표현할 수 없는, 아래 영역의 모든 미해결 효과”가 한 텐서에 압축돼 있다. 따라서 LES의 닫힘 문제는 이 를 만의 함수로 어떻게 쓸 것인가로 환원된다 — 형태는 5장의 폐쇄 문제와 똑같지만, 모델링 대상이 “전 스펙트럼의 평균 효과(RANS)“에서 “격자 이하의 작은 와동 효과(LES)“로 좁아져 있다.
본론 3 — 스마고린스키 모델과 그 후예
가장 단순한 SGS 닫힘은 1963년 스마고린스키(Smagorinsky)가 제안한 에디 점성 모델이다. 격자 이하 와동의 효과가 마치 추가적인 점성처럼 작용한다고 가정하고, 그 점성의 크기를 국소적인 해상도 변형률(resolved strain rate)의 크기에 비례시킨다:
여기서 는 필터링된 속도장으로부터 계산되는 변형률 텐서이고, (스마고린스키 상수)는 흐름의 종류에 따라 – 사이 값을 쓴다 — 등방성 난류는 근처, 벽면 경계층에서는 이하가 보통이다. 를 사용자가 일일이 정해야 한다는 단점을 보완해, 1991년 저메이노(Germano)가 제안한 동적 스마고린스키(dynamic Smagorinsky) 모델은 해상도 장 자체에서 두 가지 필터 폭을 비교해 를 매 시점 자동으로 결정한다.
이 절약 덕분에 LES의 격자 수는 DNS의 가 아니라 정도로 늘어난다. 일 때 DNS는 , LES는 격자점이 필요해 약 500배 차이가 난다 — 같은 슈퍼컴퓨터에서 DNS는 불가능해도 LES는 가능한 영역이 존재한다는 뜻이다. 산업용 항공기 공력 해석, 자동차 외부 유동, 도시 풍환경 시뮬레이션이 LES의 주력 무대인 이유다.
파이썬으로 확인
LES의 가장 단순한 모델 케이스인 박스 필터를 1차원에서 직접 적용해 보자. 합성 신호에 짧은 파장의 잡음을 얹은 뒤 폭 5의 박스 필터로 평균하면, 필터링된 신호가 큰 스케일 추세는 유지하면서 짧은 파장의 변동만 줄이는 것을 한눈에 볼 수 있다.
import numpy as np
import matplotlib.pyplot as plt
rng = np.random.default_rng(0)
# 큰 와동(저주파 사인파) + 작은 와동(고주파 노이즈)
x = np.linspace(0, 10, 500)
large_scale = np.sin(x) # 큰 와동
small_scale = 0.4 * rng.standard_normal(x.size) # 작은 와동
u = large_scale + small_scale
# 폭 5의 박스 필터 적용 — LES 필터의 1D 버전
kernel = np.ones(5) / 5
u_tilde = np.convolve(u, kernel, mode='same')
# 시각화: 원본과 필터링된 신호를 한 축에 겹쳐 그린다
plt.figure(figsize=(8, 4))
plt.plot(x, u, label='원본 u (큰 와동 + 작은 와동)', alpha=0.5)
plt.plot(x, u_tilde, label='필터링된 ũ (LES가 직접 푸는 양)', linewidth=2)
plt.xlabel('x')
plt.ylabel('속도')
plt.title('박스 필터: 큰 와동은 살리고 작은 와동은 줄인다')
plt.legend()
plt.tight_layout()
plt.show()
실행하면 원본 곡선은 잡음으로 들썩이지만, 필터링된 곡선은 사인파의 큰 흐름을 부드럽게 추적한다. LES가 시뮬레이션에서 직접 푸는 것이 바로 이 부드러운 곡선이고, 두 곡선의 차이에 해당하는 정보 — 즉 잘려나간 작은 와동 — 가 SGS 응력 에 압축되어 모델로 들어간다.
다음 장으로
DNS는 정확하지만 비싸고, RANS는 빠르지만 평균만 알려주고, LES는 그 중간에서 큰 와동의 동역학을 살린다. 산업 현장에서는 이 셋 중 무엇을 언제 쓸지를 결정하는 것이 가장 중요한 엔지니어링 판단이다. 12장: 산업 CFD에서의 모델 선택에서는 항공·자동차·건축·기상 분야의 대표 사례를 통해 “이 흐름에는 어느 모델을 어떤 격자로 쓸 것인가”를 직접 골라보며 책 전체를 정리한다.