충격파 하나보다 네 개가 낫다 — 초음속 흡입구의 사교충격파 열
감속을 약한 사교충격파로 나누면 엔트로피가 세제곱으로 줄고, 종단 수직충격파는 그래도 남는다.
1944년 괴팅겐에서 Oswatitsch는 램제트 흡입구를 붙잡고 있었다. Mach 3 흐름을 한 번에 세우면 압력의 3분의 2가 사라졌다. 그가 고른 길은 압축을 세게 하는 것이 아니라, 경사면 몇 장으로 꺾임을 나누는 것이었다.
M1 슬라이더를 올리면 θ–β 곡선의 무릎이 오른쪽으로 밀리고, 꺾임각 θ를 최대각 너머로 밀면 부착된 충격파가 코 앞으로 떨어진다. Weak와 Strong 버튼은 같은 θ에 대한 두 파각을 오간다.
빠른 M1일수록 더 많이 꺾인다. θ가 무릎을 넘는 순간 이 무너지고, 접선 화살표의 길이는 충격파 앞뒤에서 그대로다. 깎이는 것은 법선 성분뿐이다.
충격파는 무엇을 가져가는가#
충격파를 지나도 질량·운동량·에너지는 남는다. 정체 온도 도 그대로다. 사라지는 것은 정체 압력 하나다.
는 늘어난 엔트로피, 은 기체상수다. 엔트로피가 늘어난 만큼 전압력이 깎인다.
흡입구가 엔진에 넘길 수 있는 일의 상한이 전압력이다. 정체 압력이 줄면 노즐의 팽창비도 같이 죽는다. 그 팽창이 목에 걸리는 조건은 수축 뒤에 확장이 필요한 노즐의 문제다. 흡입구 성적은 회수율 하나로 둔다.
Mach 3의 수직충격파 하나에서 이 값은 0.3283이다. 전압력의 67%가 열로 흩어진다.
비스듬히 때리면 수직 성분만 남는다#
충격파를 흐름에 비스듬히 세우면, 면에 나란한 속도는 그대로 통과한다. 압력 구배가 면에 수직으로만 서기 때문이다. 사교충격파는 수직 성분만 겪는 수직충격파다. 파각 가 정해지면 유효 Mach 수는
이다. 가 작을수록 은 1에 가깝다. Mach 3이라도 면 충격파가 느끼는 것은 Mach 1.30이다.
꺾임각 와 파각 는 한 식으로 묶인다.
는 비열비다. 공기는 1.4. 이 식이 뒤의 램프 계산을 전부 결정한다.
θ–β–M 하나에 답이 두 개다#
과 를 주고 를 풀면 근이 둘이다. 파각이 작은 쪽이 약한 해, 큰 쪽이 강한 해다. 약한 해의 뒤는 대개 초음속으로 남고, 강한 해의 뒤는 아음속이 된다. 뒤 압력이 특별히 높지 않으면 쐐기에 붙은 충격파는 약한 쪽이다. 앞의 Strong 버튼이 그 다른 근이다.
를 키우다 보면 근이 사라진다. Mach마다 최대 꺾임각 가 있다.
| 1.5 | 2.0 | 3.0 | 5.0 | |
|---|---|---|---|---|
| 12.1° | 23.0° | 34.1° | 41.1° |
이면 충격파는 물체에 붙어 있지 못하고 이탈충격파가 된다. 코 앞은 사실상 수직충격파이고, 회수율은 그 자리에서 떨어진다.
손실은 세제곱으로 줄어든다#
약한 충격파의 엔트로피 증가는 에 비례하지 않는다. 세제곱이다.
에서 계수는 0.162다. 이 절반이면 손실은 8분의 1이다.
Mach 3을 한 번에 세울 때 충격파가 감당하는 은 8이다. 네 조각으로 나누면 각 조각의 손실은 세제곱으로 작아지고, 개수를 곱해도 합은 원래보다 작다. 한 번의 전압력 손실은 2.1%다. 같은 일을 두 번으로 나누면 각각 0.33%, 합쳐도 0.7%에 못 미친다.
Mach 3 흡입구를 조각내 본다#
8° 램프를 하나씩 늘리고 마지막에 수직충격파를 세운 구성이다. 각 램프는 앞 램프가 남긴 국소 Mach로 다시 푼다.
import math
GAMMA = 1.4
def stagnation_ratio(mn):
"""수직 Mach 수 mn을 겪는 충격파의 전압력 비 p02/p01"""
g = GAMMA
a = ((g + 1) * mn**2 / 2) / (1 + (g - 1) * mn**2 / 2)
b = (g + 1) / (2 * g * mn**2 - (g - 1))
return a ** (g / (g - 1)) * b ** (1 / (g - 1))
def downstream_normal_mach(mn):
g = GAMMA
return math.sqrt((1 + (g - 1) / 2 * mn**2) / (g * mn**2 - (g - 1) / 2))
def deflection(mach, beta):
"""주어진 파각 beta(rad)가 만드는 꺾임각 theta(rad)"""
g = GAMMA
num = mach**2 * math.sin(beta) ** 2 - 1
den = mach**2 * (g + math.cos(2 * beta)) + 2
return math.atan(2 / math.tan(beta) * num / den)
def wave_angle_weak(mach, theta):
"""theta를 만드는 약한 해 beta. 꺾을 수 없으면 None"""
lo, hi = math.asin(1 / mach), math.pi / 2
grid = [lo + (hi - lo) * i / 4000 for i in range(4001)]
peak = max(grid, key=lambda b: deflection(mach, b))
if theta > deflection(mach, peak):
return None
a, b = lo, peak
for _ in range(80):
mid = 0.5 * (a + b)
if deflection(mach, mid) < theta:
a = mid
else:
b = mid
return 0.5 * (a + b)
def inlet_recovery(mach_inf, n_ramps, ramp_deg):
"""램프 n개 + 종단 수직충격파를 지난 뒤의 전압력 회수율"""
theta = math.radians(ramp_deg)
total, mach = 1.0, mach_inf
for _ in range(n_ramps):
beta = wave_angle_weak(mach, theta)
if beta is None:
break
mn = mach * math.sin(beta)
total *= stagnation_ratio(mn)
mach = downstream_normal_mach(mn) / math.sin(beta - theta)
return total * stagnation_ratio(mach)
for n in range(5):
print(f"램프 {n}개: 회수율 {inlet_recovery(3.0, n, 8.0):.4f}")출력은 이렇다.
램프 0개: 회수율 0.3283
램프 1개: 회수율 0.4497
램프 2개: 회수율 0.5808
램프 3개: 회수율 0.7101
램프 4개: 회수율 0.8235램프 개수, 램프당 꺾임각, 자유류 Mach를 바꾸면 회수율 막대가 위 표에 없는 조합으로 다시 계산된다. 종단 충격파 토글을 끄면 마지막에 깎이던 몫이 막대에서 빠진다.
Mach 3, 8°, 램프 4에서 막대는 0.82 근처에 선다. 꺾임각을 14°까지 밀면 뒤쪽 램프가 빨갛게 바뀐다. 흐름이 이미 느려져 그 각의 약한 해가 없다는 신호다.
회수율을 엔트로피로 되돌리면 2.5배가 달라 보인다. 다. 0.3283은 1.114, 0.8235는 0.194다. 회수율은 2.51배인데 엔트로피 증가는 5.7배로 줄었다. 지수가 작은 손실을 회수율 숫자 안에 숨긴다.
램프마다 오르는 폭은 0.121, 0.131, 0.129, 0.113이다. 네 번째 장도 0.11을 더한다.
종단 충격파의 13%를 배수 0.87로 읽으면, 그 직전 회수율은 다. 사교충격파 네 장이 깎은 몫은 0.05, 마지막 수직충격파가 깎은 몫은 0.12다. 지울 수 없는 한 장이 램프 합보다 두 배 넘게 가져간다.
의 2.1%와 의 0.33%를 세제곱에 대면, 의 비 0.69 대 0.3225를 세제곱한 값은 약 9.8이다. 손실 비는 6.4다. Mach 1.30은 그 근사가 편한 구간을 이미 벗어난다.
Mach 2.4, 6°의 0.5401과 0.9096은 로 0.616과 0.095다. 엔트로피는 6.5배 줄고, 회수율은 1.68배만 오른다. 수직충격파 하나가 처음부터 덜 나빴다.
차이가 네 칸 모두 0.11 위에 있다는 것은, 이 8°가 아직 한계 꺾임에서 멀리 있지 않다는 뜻만은 아니다. Mach 3의 는 표의 34.1°이고, 네 장의 합 32°는 그 바로 아래다. 한 장을 더해 40°가 되면 그 34.1°를 넘는다.
8° 램프 네 장이면 회수율은 0.33에서 0.82로 올라가고, 총 꺾임은 32°다. 더한 것은 경사면 네 장이다. Mach 2.4에서 6°로 반복하면 0.5401, 램프 둘에 0.7440, 넷에 0.9096이다.
램프 수를 무한히 늘리고 각 꺾임을 0으로 보내면 압축은 등엔트로피에 가까워진다. 회수율 1이 이론상 열린다. Concorde와 SR-71이 곡면 램프와 이동 스파이크를 쓰는 자리다.
쪼개기는 공짜가 아니다#
램프를 스무 장 세우지 않는 이유가 따로 있다. 장을 더할 때마다 충격파가 카울 립에 닿는 점이 뒤로 밀린다. 흡입구가 길어지면 무게와 마찰이 붙는다. 회수율 몇 퍼센트를 동체 길이로 사는 거래는 대개 남는다.
각도는 특정 Mach에서 충격파가 립에 모이도록 맞춘다. 그 Mach를 벗어나면 충격파가 립 앞이나 안으로 어긋나고, 유출 항력이 생긴다. 장이 많을수록 이 어긋남에 민감하다.
각 충격파는 벽 경계층을 만나 압력을 갑자기 올린다. 그 간섭이 박리를 일으키면 계산된 회수율은 의미를 잃는다. 흡입구가 램프 근처에 흡입 슬롯을 두는 이유다.
엔진 압축기는 아음속 유입을 요구한다. 어딘가에서 음속을 지나야 하므로 종단 수직충격파는 지울 수 없다. 램프는 그 마지막 충격파의 Mach를 낮출 뿐, 충격파를 없애지 않는다. 램프 4개의 종단 충격파는 Mach 1.67에서 일어나고, 그 한 장이 13%를 가져간다.
마지막 수직충격파를 램프로 착각한 설계#
램프를 더 세워 회수율을 1에 붙이려는 선택은, 종단 충격파가 아직 0.12를 가져가는 자리를 못 본 것이다. 네 장이 깎은 0.05보다 그 한 장이 크다. 길이와 설계점 이탈을 더 주고 다섯 번째 장을 세우기 전에, 음속을 통과하는 그 장을 어느 Mach에서 만날지가 먼저다.
0.82는 충격파가 벽에 붙은 채로 센 숫자다. 경계층이 그 압력 상승을 못 버티고 떨어지면 표는 끝이다. 층이 갈라져 난류로 넘어가는 두께에서 그 박리가 어떤 높이로 시작하는지, 이 회수율은 말하지 않는다.
관련
도움이 됐다면 공유해주세요.