벽함수

오류 제보
전산유체역학 난류 마지막 수정: 2026-09-20 04:12:41

○ 공개 검수 대기 AI 보조 작성 표시 기준 보기
상위 문서: 난류 모델링

1. 개요

벽함수
Wall Function
분야난류 모델링 벽 처리
핵심 무차원수y+ (무차원 벽거리) · u+ (무차원 속도)
이론적 근거로그 법칙 (law of the wall)
로그층 상수κ ≈ 0.40~0.41 · B ≈ 5.0~5.5 (출처마다 다름)
표준 구현Launder & Spalding 1974 (κ=0.4187, E=9.793)
목적벽 근처 격자 비용 절감

벽까지 다 풀 자신이 없으면, 벽 근처는 공식으로 때우면 된다. 문제는 그 공식이 언제 거짓말을 하느냐다.

벽함수(wall function)는 벽 근처 난류 경계층을 격자로 직접 해상하는 대신, 실험과 이론으로 다져진 반경험식으로 벽과 첫 격자점 사이를 이어 붙이는 벽 처리 기법이다. 벽 아주 가까이에서 난류 구조는 극도로 작아지고 속도구배는 가팔라져, 이곳을 격자로 곧이곧대로 풀려면 셀을 어마어마하게 촘촘히 깔아야 한다. 벽함수는 이 비싼 영역을 계산에서 생략하고 알려진 속도 분포 공식으로 대체함으로써 격자 수와 계산 비용을 극적으로 줄인다.

RANS 기반 산업 CFD에서 벽함수는 오랫동안 사실상의 기본 설정이었다. “벽을 다 풀 것인가, 공식으로 때울 것인가”는 격자를 짜기 전에 반드시 내려야 하는 결정이며, 이 선택 하나가 격자 규모를 몇 배씩 바꿔 놓는다.

2. 무차원 벽거리와 무차원 속도

벽 근처 유동을 기술하려면 먼저 좌표와 속도를 벽 단위로 무차원화해야 한다. 기준이 되는 것은 벽면 전단응력 τw\tau_w에서 정의되는 마찰속도(friction velocity)다.

uτ=τwρu_\tau = \sqrt{\frac{\tau_w}{\rho}}

이 마찰속도로 벽으로부터의 거리 yy와 유동 속도 uu를 각각 무차원화한 것이 무차원 벽거리 y+y^+와 무차원 속도 u+u^+다.

y+=ρ uτ yμ,u+=uuτy^+ = \frac{\rho \, u_\tau \, y}{\mu}, \qquad u^+ = \frac{u}{u_\tau}

y+y^+는 본질적으로 벽 근처에 국소적으로 정의된 레이놀즈수로, “이 격자점이 벽에서 얼마나 떨어져 있는가”를 물리적으로 의미 있는 척도로 재 준다. 놀랍게도 벽 근처 난류 경계층의 평균 속도 분포는 유동 종류에 거의 무관하게 u+u^+가 y+y^+만의 보편 함수로 표현된다 — 이 보편성이 벽함수라는 편법을 가능하게 하는 근본 토대다.

3. 벽 근처의 층 구조

y+y^+를 기준으로 벽 근처는 성격이 뚜렷이 다른 몇 개 층으로 나뉜다.

층대략적 범위지배 물리속도 분포
점성저층y+<5y^+ < 5점성 지배u+=y+u^+ = y^+ (선형)
완충층5<y+<305 < y^+ < 30점성 ≈ 난류어느 공식도 안 맞음
로그층30<y+<30030 < y^+ < 300난류 지배로그 법칙

점성저층(viscous sublayer)에서는 점성이 완전히 지배하여 전단응력이 일정하다고 보면 속도가 벽거리에 정비례한다. 즉 u+=y+u^+ = y^+라는 아름답도록 단순한 선형 관계가 성립한다.

로그층(log-law region)에서는 난류가 지배하며 속도가 벽거리의 로그에 비례한다. 이것이 그 유명한 로그 법칙(law of the wall)이다.

u+=1κln⁡y++Bu^+ = \frac{1}{\kappa}\ln y^+ + B

여기서 κ\kappa는 폰 카르만 상수, BB는 매끄러운 벽에 대한 상수다. 이 두 값은 특정 유동에서 유도된 것이 아니라 수많은 실험을 관통하는 준(準)보편 상수라는 점이 핵심이다. 다만 “보편”이 “값이 딱 하나”라는 뜻은 아니다 — 문헌마다 값이 조금씩 다르다.

출처κ\kappaBB비고
Pope, Turbulent Flows (2000)0.415.2교과서 표준
Coles 계열 관용값0.415.0개론서에서 흔함
Launder & Spalding (1974)0.41875.45CFD 코드 기본값

셋째 줄이 CFD 사용자에게 가장 중요하다. 상용·오픈소스 코드의 벽함수는 BB를 직접 쓰지 않고 거칠기 상수 EE를 써서 로그 법칙을 한 줄로 적기 때문이다.

u+=1κln⁡(Ey+),κ=0.4187,  E=9.793u^+ = \frac{1}{\kappa}\ln\left(E y^+\right), \qquad \kappa = 0.4187,\; E = 9.793

두 표기는 같은 식이다. 1κln⁡(Ey+)=1κln⁡y++ln⁡Eκ\frac{1}{\kappa}\ln(Ey^+) = \frac{1}{\kappa}\ln y^+ + \frac{\ln E}{\kappa} 이므로 B=ln⁡E/κ=2.2817/0.4187=5.45B = \ln E/\kappa = 2.2817/0.4187 = 5.45. OpenFOAM 의 nutkWallFunction 에서 E 9.8, kappa 0.41 같은 값을 보게 되는 이유가 이것이다.1

3.1. 완충층을 넘어가는 한 줄짜리 식

층을 나눠 놓으면 경계에서 속도가 불연속으로 튄다. 스폴딩(Spalding, 1961)은 y+y^+를 u+u^+의 함수로 뒤집어 씀으로써 점성저층부터 로그층까지를 끊김 없는 한 식으로 이었다.

y+=u++1E[eκu+−1−κu+−(κu+)22−(κu+)36]y^+ = u^+ + \frac{1}{E}\left[ e^{\kappa u^+} - 1 - \kappa u^+ - \frac{(\kappa u^+)^2}{2} - \frac{(\kappa u^+)^3}{6} \right]

u+u^+가 작을 때 대괄호 안이 테일러 전개의 앞 네 항을 빼 버린 나머지(O((κu+)4)O((\kappa u^+)^4))라 0으로 죽어서 y+≈u+y^+ \approx u^+(선형 법칙)가 되고, u+u^+가 커지면 지수항이 지배해 로그 법칙으로 넘어간다. 현대 코드의 all-y+y^+·블렌딩 벽함수는 대체로 이 아이디어의 후손이다. 온도에는 Kader(1981)의 블렌딩 식이 같은 역할을 한다.

그리고 그 사이에 낀 완충층(buffer layer)이 문제아다. 점성과 난류가 엇비슷하게 겨루는 이 지대에서는 선형 법칙도 로그 법칙도 맞지 않는다. 벽함수를 쓸 때 첫 격자점을 완충층(5<y+<305 < y^+ < 30)에 두는 것이 최악의 선택인 이유가 바로 이것 — 어느 공식으로도 이어 붙일 근거가 없는 사각지대이기 때문이다.2

4. 벽함수 접근 vs 벽해상 접근

벽 처리는 크게 두 전략으로 갈린다. 첫 격자점을 어디에 두느냐가 전부를 결정한다.

4.1. 벽함수 접근 (y+≈30∼300y^+ \approx 30 \sim 300)

첫 격자점을 로그층 안에 두고, 벽과 첫 격자점 사이는 로그 법칙으로 이어 붙인다. 점성저층과 완충층을 통째로 격자에서 생략하므로 벽에 수직한 방향 셀 수가 확 줄어든다. 계산이 싸고 강건해 k-엡실론 모델 같은 고레이놀즈수 모델과 궁합이 좋다. 단점은 로그 법칙이 성립한다는 전제가 깔려 있다는 것 — 박리·재부착·강한 압력구배처럼 로그 법칙 자체가 깨지는 유동에서는 정확도를 보장할 수 없다.

4.2. 벽해상 접근 (y+≈1y^+ \approx 1)

첫 격자점을 점성저층 안(y+≈1y^+ \approx 1)에 두고 벽까지 격자로 직접 적분한다. 저레이놀즈수(low-Re) 처리라고도 부른다. 열전달 계수, 마찰 항력, 박리 시작점처럼 벽 근처 물리가 결과를 좌우하는 문제에서는 이쪽이 정답이다. 대신 프리즘 레이어를 겹겹이 얇게 쌓아야 하므로 격자 수와 셀 종횡비가 크게 늘어난다.

벽함수벽해상(low-Re)첫 격자 y+30∼300≈1격자 비용낮음높음박리⋅열전달 정확도제한적우수\begin{array}{lcc} & \text{벽함수} & \text{벽해상(low-Re)} \\ \text{첫 격자 } y^+ & 30 \sim 300 & \approx 1 \\ \text{격자 비용} & \text{낮음} & \text{높음} \\ \text{박리·열전달 정확도} & \text{제한적} & \text{우수} \end{array}

4.3. 확장 벽함수 — 완충층을 “밟지 못하게” 만드는 꼼수

현대 상용 코드들은 이 둘 사이 어중간한 y+y^+에서도 해가 무너지지 않게 해 주는 확장 벽함수(scalable wall function)와 all-y+y^+/블렌딩 처리를 제공한다. Grotjans와 Menter(1998)가 제안한 scalable wall function 의 착상은 의외로 단순하다. 격자를 못 믿겠으면 격자가 아니라 벽함수가 보는 좌표에 하한을 걸어 버리면 된다.

y~∗=max⁡(y∗,  ylim∗),y∗=Cμ1/4k1/2yν\tilde{y}^* = \max\left(y^*,\; y^*_{\text{lim}}\right), \qquad y^* = \frac{C_\mu^{1/4} k^{1/2} y}{\nu}

여기서 y∗y^*는 마찰속도 대신 난류 운동에너지 kk로 정의한 벽거리다(Cμ=0.09C_\mu = 0.09). 마찰속도는 박리점에서 0이 되어 y+y^+를 0으로 붕괴시키지만 kk는 그렇지 않아서, 박리·재부착이 있는 유동에서 훨씬 얌전하게 군다. 하한 ylim∗y^*_{\text{lim}}은 선형 법칙 u+=y+u^+ = y^+와 로그 법칙이 교차하는 지점으로 잡는다. κ=0.4187, E=9.793\kappa = 0.4187,\ E = 9.793에서 y+=1κln⁡(Ey+)y^+ = \frac{1}{\kappa}\ln(Ey^+)를 풀면 y+≈11.2y^+ \approx 11.2이고, 코드들은 이 근방 값(대개 11.06~11.25)을 쓴다.

효과는 “첫 격자점이 아무리 벽에 가까워도 벽함수는 y∗≥11y^* \ge 11 인 척한다”는 것이다. 격자를 촘촘히 한다고 해가 비물리적으로 튀지 않으니 격자 수렴 연구를 돌릴 수 있게 된다. 다만 그 대가로 촘촘히 해도 정확도가 더 좋아지지 않는다 — 점성저층을 여전히 안 푸니까. 그래서 원리적으로 완충층에 첫 격자점을 걸치는 것은 여전히 피하는 게 상책이다.3

5. 첫 격자 높이 검산

y+y^+ 목표를 정했다면 첫 격자점의 물리적 높이를 계산해야 격자를 짤 수 있다. 해석 전에는 τw\tau_w를 모르므로 평판 상관식으로 추정하는 것이 국룰이다.

공기(ρ=1.2 kg/m3\rho = 1.2\ \mathrm{kg/m^3}, ν=1.5×10−5 m2/s\nu = 1.5\times10^{-5}\ \mathrm{m^2/s}), U=30 m/sU = 30\ \mathrm{m/s}, 평판 선단에서 x=1 mx = 1\ \mathrm{m} 지점을 잡자.

Rex=Uxν=30×11.5×10−5=2.0×106Re_x = \frac{Ux}{\nu} = \frac{30 \times 1}{1.5\times10^{-5}} = 2.0\times10^{6}

슐리히팅의 난류 평판 국소 마찰계수 상관식 cf=0.0592 Rex−1/5c_f = 0.0592\,Re_x^{-1/5}를 쓰면

cf=0.0592(2.0×106)0.2=0.059218.21=3.25×10−3c_f = \frac{0.0592}{(2.0\times10^{6})^{0.2}} = \frac{0.0592}{18.21} = 3.25\times10^{-3} τw=12ρU2cf=0.5×1.2×900×3.25×10−3=1.76 Pa\tau_w = \tfrac{1}{2}\rho U^2 c_f = 0.5 \times 1.2 \times 900 \times 3.25\times10^{-3} = 1.76\ \mathrm{Pa} uτ=τw/ρ=1.76/1.2=1.21 m/su_\tau = \sqrt{\tau_w/\rho} = \sqrt{1.76/1.2} = 1.21\ \mathrm{m/s}

이제 y=y+ν/uτy = y^+ \nu / u_\tau 로 되돌리면 된다.

목표 y+y^+전략첫 격자점 높이 yy
1벽해상(low-Re)1.24×10−51.24\times10^{-5} m ≈ 12 μm
30벽함수 하한3.7×10−43.7\times10^{-4} m ≈ 0.37 mm
300벽함수 상한3.7×10−33.7\times10^{-3} m ≈ 3.7 mm

숫자가 말해 주는 것이 두 가지다. 첫째, 벽해상은 벽함수보다 첫 셀이 30배 얇다. 성장비 1.2로 프리즘 레이어를 쌓는다면 같은 두께를 덮는 데 ln⁡30/ln⁡1.2≈19\ln 30 / \ln 1.2 \approx 19겹이 더 필요하다. 벽면이 넓은 외부 유동에서 이 19겹이 곧 격자 수 폭발이다.

둘째, 이 높이는 레이놀즈수에 민감하다. uτ/U=cf/2∝Rex−1/10u_\tau/U = \sqrt{c_f/2} \propto Re_x^{-1/10}이므로 고정된 y+y^+에 대한 첫 셀 높이는 y∝Rex−0.9y \propto Re_x^{-0.9}로 줄어든다. 레이놀즈수가 10배면 첫 셀을 약 8배 얇게 깔아야 한다는 뜻이다. 자동차·항공기처럼 ReRe가 106∼10810^6\sim10^8인 문제에서 y+≈1y^+ \approx 1 격자가 억 단위로 가는 이유가 여기 있다.

주의할 점 두 가지. 이 yy는 셀 중심(또는 첫 절점)까지의 거리이므로, 셀 중심 유한체적 코드에서 첫 셀 두께는 대략 그 2배다. 그리고 상관식은 어디까지나 추정이라, 해석을 한 번 돌린 뒤 실제 y+y^+ 분포를 보고 격자를 고치는 반복이 정상이다.4

6. 격자 비용 절감이라는 본질

벽함수의 존재 이유는 단 하나, 돈이다(정확히는 격자와 계산 시간). 벽해상을 하려면 벽에 수직한 방향으로 첫 셀을 y+≈1y^+ \approx 1에 맞춰야 하는데, 레이놀즈수가 높아질수록 이 물리적 높이는 눈물겹게 작아진다. 자동차 외부 유동이나 항공기 익형처럼 레이놀즈수가 수백만을 넘는 문제에서 벽면 전체를 y+≈1y^+ \approx 1로 감싸면 격자 수가 억 단위로 폭발한다.

벽함수는 점성저층·완충층을 격자에서 들어냄으로써 이 부담을 통째로 회피한다. 벽에 수직한 방향 셀을 여러 겹 줄일 수 있어, 전체 격자가 몇 배씩 가벼워지고 그만큼 해석이 빨라진다. 산업 CFD가 수십 년간 벽함수에 의존해 온 이유는 낭만이 아니라 마감과 예산이었다.5

물론 공짜 점심은 없다. 벽함수는 “로그 법칙이 성립하는 평형 경계층”이라는 전제를 딛고 서 있고, 그 전제가 무너지는 곳(강한 박리, 충돌 제트, 회전 유동)에서는 조용히 틀린 답을 예쁘게 수렴시켜 내놓는다. 잔차가 잘 떨어졌다고 벽 처리가 옳았다는 뜻은 결코 아니다.6

7. 관련 문서

8. Footnotes

  1. 그래서 “κ\kappa는 0.41이다”와 “우리 코드는 0.4187을 쓴다”가 동시에 참이다. 벤치마크 논문의 로그 법칙 그래프가 미묘하게 안 겹칠 때 범인이 이 소수점 셋째 자리인 경우가 은근히 있다. ↩

  2. 완충층에 첫 격자점을 걸쳐 놓고 “왜 결과가 이상하죠?”라고 묻는 것은 CFD 입문자의 통과의례에 가깝다. 5<y+<305 < y^+ < 30은 유체 해석의 버뮤다 삼각지대다. ↩

  3. 확장 벽함수가 나왔다고 완충층을 마음 놓고 밟아도 된다는 뜻은 아니다. “자동으로 처리해 준다”와 “정확하다”는 전혀 다른 말이다. 자동 변속기가 있다고 아무 데나 기어를 넣어도 되는 건 아니듯이. ↩

  4. “y+y^+는 해석 결과이지 격자 입력이 아니다”가 이 절의 한 줄 요약이다. 격자를 깔 때 넣는 건 미터 단위 높이고, y+y^+는 다 돌리고 나서야 확인되는 값이다. 그래서 첫 해석은 언제나 y+y^+ 정찰용이라고 생각하는 편이 정신 건강에 좋다. ↩

  5. DNS 논문 저자들은 벽함수를 미개한 근사라 여기고, 마감에 쫓기는 현업 엔지니어는 벽해상 격자를 사치라 여긴다. 둘 다 각자의 자리에서 옳다. ↩

  6. 수렴은 대수방정식을 잘 풀었다는 뜻이지, 올바른 방정식을 풀었다는 뜻이 아니다. 이 문장은 CFD를 하는 한 평생 되뇌게 된다. ↩

검증 자료

이 문서의 주요 출처

  1. Launder & Spalding (1974), The numerical computation of turbulent flows, Comput. Methods Appl. Mech. Eng. 3, 269-289 (표준 벽함수 u+ = (1/κ)ln(E y+)의 출처, κ=0.4187 · E=9.793)
  2. Spalding (1961), A single formula for the law of the wall, J. Appl. Mech. 28, 455-458 (점성저층-완충층-로그층을 하나로 잇는 식)
  3. Kader (1981), Temperature and concentration profiles in fully turbulent boundary layers, Int. J. Heat Mass Transfer 24, 1541-1544 (온도 벽함수 블렌딩의 원 출처)
  4. Grotjans & Menter (1998), Wall functions for general application CFD codes, Proc. 4th ECCOMAS CFD Conference, 1112-1117 (scalable wall function 원 출처)
  5. Pope (2000), Turbulent Flows, Cambridge University Press, Ch. 7 (벽 단위·로그 법칙 상수의 표준 교과서 정리)
  6. NASA Langley Turbulence Modeling Resource — 벽 처리·y+ 요구조건 공식 정리
  7. OpenFOAM User Guide — wall function 경계조건(nutkWallFunction 등) 구현 문서
이 문서가 문제를 푸는 데 도움이 됐나요? 한 번의 클릭이 다음 검수 순서를 정합니다.

의견을 반영할게요. 감사합니다.

다음으로 읽기 전산유체역학 약 5분 더 탐색 →