물방울은 왜 둥글고 컵 가장자리의 물은 왜 차오르는가 — 표면장력과 접촉각
벽 법선에 접촉각을 넣어도 곡률이 거칠면, 정지한 방울이 격자 위에서 혼자 흐른다.
1881년, Agnes Pockels는 부엌 싱크대에서 단추와 실, 그리고 양철 대야로 물의 표면장력을 쟀다. 대학에 갈 수 없었던 그녀는 설거지를 하다 수면에 뜬 기름막의 거동을 관찰했고, 자작 장비로 면적과 장력의 관계를 측정했다. 이 포스트는 그 부엌 실험이 다룬 물리 — 표면장력과 접촉각 — 를 따라가며, CFD가 이 힘을 격자 위에서 어떻게 재현하는지(CSF 모델)까지 이어간다. 끝에는 모세관 상승을 직접 숫자로 확인한다.
접촉각 슬라이더를 30도와 120도 사이에서 옮기면, 같은 부피의 방울이 바닥에 깔리거나 공처럼 선다.
를 30도 아래로 내리면 방울이 납작하게 깔리고, 120도 위로 올리면 거의 공처럼 솟는다. 접촉선에서 노란 호가 가리키는 각이 바로 Young 평형이다.
표면장력은 분자가 손해 보는 에너지다#
액체 내부의 분자는 사방에서 이웃에 둘러싸여 있다. 표면의 분자는 한쪽이 비어 있다. 그만큼 결합 에너지가 부족하다.
자연은 이 손해를 줄이려 표면적을 최소화한다. 그래서 무중력의 물방울은 같은 부피에서 표면적이 가장 작은 도형, 즉 구가 된다.
표면장력 (단위 길이당 힘, N/m)는 이 "표면을 늘리는 데 드는 에너지"를 뜻한다. 물–공기 계면은 상온에서 약 N/m다.
표면장력이 지배하는 세계는 무차원수로 구분한다. Weber 수(관성/표면장력) 가 작으면 방울이 깨지지 않는다. Bond 수(중력/표면장력) 가 작으면 방울이 중력에 눌리지 않고 둥글게 남는다. 모세관에서는 이 두 수가 모두 작아진다.
Young–Laplace — 굽은 면은 안쪽을 누른다#
표면이 굽으면 표면장력이 안쪽으로 합력을 만든다. 그 결과 계면을 가로질러 압력이 점프한다.
여기서 는 안쪽이 더 큰 압력 차, 는 두 주곡률 반지름이다. 구형 방울이면 이라 .
반지름이 작을수록 내부 압력이 커진다. 5 µm짜리 안개 방울 속은 외부보다 약 29 kPa나 높다. 작은 거품이 큰 거품에 흡수되는 이유다.
접촉각 — 세 장력의 줄다리기#
방울이 고체 위에 앉으면 세 계면이 한 선에서 만난다. 고체–기체(), 고체–액체(), 액체–기체(). 이 셋이 수평으로 힘 평형을 이루는 각도가 접촉각(contact angle) 다.
Young의 방정식이다. 각으로 옮기면 .
이면 액체가 고체를 좋아해 퍼진다(젖음, hydrophilic). 이면 방울이 동그랗게 뭉친다(비젖음, hydrophobic). 연잎 위의 물방울은 가 150도를 넘는다.
CSF — 표면의 힘을 격자의 체적력으로#
문제는 CFD다. 표면장력은 두께 없는 면에 작용하는 힘이다. 하지만 격자 셀은 부피를 가진다. 면 위의 힘을 어떻게 셀에 넣을까.
Brackbill의 CSF(Continuum Surface Force) 모델은 면 힘을 계면 근처에 퍼진 체적력으로 바꾼다.
는 계면 곡률, 은 계면 법선, 는 계면에서만 1에 가까운 표면 델타 함수다. 법선과 곡률은 상(phase) 지시함수 (예: VOF의 체적분율)로부터 얻는다.
곡률 계산이 이 모델의 정확도를 좌우한다. 를 그대로 쓰면 곡률에 잡음이 끼어 기생 전류가 생긴다. 그래서 거리 가중 보간이나 최소제곱 평면 적합으로 법선을 매끈하게 만든 뒤 곡률을 구한다.
벽 접착으로 접촉각을 강제한다#
벽에 닿는 계면은 한 가지 조건을 더 받는다. 벽에서의 접촉각이 우리가 지정한 가 되어야 한다.
CSF는 이를 벽 근처 셀의 법선을 강제로 기울여 구현한다. 벽 법선 와 접선 로 계면 법선을 다시 쓴다.
이렇게 법선을 틀면 곡률이 바뀌고, 그 곡률이 다시 표면장력을 만들어 방울을 지정한 접촉각으로 끌고 간다. 이것이 wall adhesion(벽 접착) 모델이다. 3상이 만나는 선의 거동까지 다루려면 추가 모델이 필요하다.
Python — Jurin의 법칙을 숫자로 확인하다#
가는 관을 물에 담그면 물이 스스로 올라온다. 모세관 상승이다. 평형 높이는 Young–Laplace와 정수압의 균형에서 나온다.
은 관 반지름, 는 접촉각이다. 가는 관일수록( 작을수록) 더 높이 차오른다.
import numpy as np
SIGMA = 0.072 # N/m, 물-공기 (상온)
RHO = 1000.0 # kg/m^3
G = 9.81 # m/s^2
def young_laplace_dp(sigma, R1, R2):
"""굽은 계면을 가로지르는 압력 점프 dp = sigma*(1/R1 + 1/R2)."""
return sigma * (1.0 / R1 + 1.0 / R2)
def jurin_capillary_rise(r, theta_deg, sigma=SIGMA, rho=RHO, g=G):
"""반지름 r 모세관에서의 평형 상승 높이 (m)."""
theta = np.radians(theta_deg)
return 2.0 * sigma * np.cos(theta) / (rho * g * r)
# 구형 물방울 (R1=R2=R): 반지름이 작을수록 내부 압력이 높다
for R_um in (5, 50, 500):
R = R_um * 1e-6
print(f"R={R_um:4d} um -> dp = {young_laplace_dp(SIGMA, R, R):8.1f} Pa")
# Jurin의 법칙: 가는 관일수록 더 높이 차오른다
print()
for r_mm in (0.1, 0.5, 1.0):
h = jurin_capillary_rise(r_mm * 1e-3, theta_deg=30)
print(f"r={r_mm:.1f} mm -> h = {h*1000:6.1f} mm")출력:
R= 5 um -> dp = 28800.0 Pa
R= 50 um -> dp = 2880.0 Pa
R= 500 um -> dp = 288.0 Pa
r=0.1 mm -> h = 127.1 mm
r=0.5 mm -> h = 25.4 mm
r=1.0 mm -> h = 12.7 mm관 반지름과 접촉각을 바꾸면 물기둥은 출력의 127.1 mm, 25.4 mm, 12.7 mm를 식대로 오간다.
접촉각을 90도 위로 올리면 가 음수가 되어 액면이 오히려 내려간다. 수은이 유리관에서 눌려 내려가는(볼록 메니스커스) 바로 그 거동이다.
반지름이 10배 작아지면 압력 점프도, 상승 높이도 10배 커진다. 식물이 모세관과 증산으로 수십 미터 높이까지 물을 끌어올리는 원리의 한 조각이다.
출력의 세 줄은 에 코드의 0.072 N/m를 넣은 값이다. 5 µm는 28800 Pa, 50 µm는 2880 Pa, 500 µm는 288 Pa다. 반지름이 10배, 100배가 되면 점프는 10배, 100배로 줄어든다. 28800을 288로 나누면 100이고, 500 µm를 5 µm로 나눈 몫도 100이다. 앞의 약 29 kPa는 28800 Pa를 반올림한 말이다.
Jurin 쪽도 같은 상수다. 30도와 0.1 mm에서 127.1 mm, 0.5 mm에서 25.4 mm, 1.0 mm에서 12.7 mm다. 127.1을 5로 나누면 25.42라, 25.4는 소수 한 자리 반올림이다. 127.1을 10으로 나누면 12.71이라 12.7과 맞다. 연잎의 150도는 코사인 부호만 반대라, 같은 0.1 mm 관에서 높이는 아래쪽 127.1 mm다. 에 관 반지름을 넣으면 0.1 mm는 약 0.00136, 1 mm는 약 0.136이다. 둘 다 1 아래다. 이 세 관은 표면장력이 높이를 정한다.
평형 높이만 필요하면 CSF를 켜지 않는다#
관 반지름과 접촉각만 있으면 Jurin으로 끝난다. 0.1 mm, 30도, 127.1 mm. 이 숫자면 격자 곡률을 켤 이유가 없다. 평형 높이만 물을 때 CSF는 잡음만 더한다.
방울이 벽에서 퍼지고 합쳐지면 계산이 바뀐다. 벽 접착은 법선을 지정한 각으로 기울일 뿐이고, 곡률이 거칠면 정지한 방울도 흐른다. 그때 병목은 접촉각 슬라이더가 아니라 표면장력의 시간간격이다. 음함수로 연 시간간격 창이 그 다음 자리다.
관련
도움이 됐다면 공유해주세요.