ORIGINAL FICTION
제112화 — 진동
지난 화 끝부분 다시 보기
RD-2 엔진 클러스터 첫 통합점화는 4.2초 만에 중단됐다.
Daniel은 화면을 봤다.
엔진 자체는 모두 정상.
압력.
온도.
추력.
그런데 구조진동이 기준을 넘었다.
“어디?”
제어팀이 스펙트럼을 띄웠다.
특정 주파수.
클러스터 전체에서 반복.
Daniel이 말했다.
“제어로 피할 수 있습니까?”
구조팀이 바로 말했다.
“먼저 원인.”
Reyes가 웃었다.
“좋습니다.”
Daniel이 그를 봤다.
“왜 저만 보면 웃습니까?”
“예전엔 대표가 먼저 소프트웨어로 덮으려고 했을 것 같아서.”
Daniel은 반박하지 않았다.
진동원인 후보.
엔진 자체.
배관.
마운트.
탱크 구조.
여러 엔진 간 상호작용.
하나씩 분리.
단일 엔진.
정상.
두 기.
작은 피크.
세 기.
커짐.
클러스터 조합이 원인.
Daniel이 말했다.
“위상 제어.”
엔진 점화·제어 타이밍을 미세하게 바꿔 공진을 피할 수 있다.
가능.
하지만 구조팀은 마운트 수정도 제안했다.
Reyes가 말했다.
“소프트웨어만으로 안 갑니다.”
“왜?”
“업데이트 하나가 안전구조가 되면 나중에 더 복잡해집니다.”
구조 자체를 덜 민감하게.
제어로 추가 완화.
두 층.
Daniel은 동의했다.
Vogel 팀이 마운트 제작 변경.
공급업체.
공차.
재료.
또 며칠.
두 번째 점화.
8초.
진동 감소.
하지만 예상 못 한 다른 주파수 피크.
Daniel이 웃음이 나왔다.
“하나 없애니까 하나 더.”
Amina가 말했다.
“항상 그렇죠.”
세 번째.
15초.
정상.
네 번째.
30초.
진동 기준 안.
Daniel은 만족했다.
Reyes는 바로 다음 화면.
점화 후 점검.
마운트 볼트 일부 토크 변화.
규격 안.
Vogel이 말했다.
“추세 봅니다.”
다섯 번째.
다시 30초.
같은 위치.
미세한 토크 변화 반복.
단순 진동값은 괜찮다.
체결부가 반복하중에서 움직인다.
Daniel이 말했다.
“고정제.”
Vogel이 고개를 저었다.
“원인부터.”
접촉면.
표면처리.
볼트 프리로드.
마운트 유연성.
분석.
결국 구조변경.
체결방식 일부 수정.
Daniel은 답답했다.
진동 기준은 이미 통과했는데 또 일주일.
Reyes가 말했다.
“첫 비행에서 풀리는 것보다 낫습니다.”
맞다.
Daniel은 더 말하지 않았다.
시험 여섯 번째.
60초.
진동 정상.
토크 안정.
열 정상.
Amina가 말했다.
“이제 열사이클.”
점화.
냉각.
점화.
냉각.
여러 번.
한 번의 60초보다 반복에서 체결과 열이 어떻게 누적되는지.
RD-1보다 훨씬 많은 데이터.
Daniel은 화면을 보며 물었다.
“비행 전에 몇 회?”
Reyes가 대답하려다 멈췄다.
Daniel이 웃었다.
“조건.”
“맞습니다.”
클러스터 마운트 변화율 안정.
배관.
열.
재점화.
기준.
횟수는 결과.
12회째.
한 배관 지지부 균열 징후.
즉시 중단.
Daniel의 얼굴이 굳었다.
“또 구조?”
Vogel이 말했다.
“좋은 일입니다.”
“다들 실패 나오면 좋다고 합니다.”
“지상에서 나왔으니까.”
Daniel이 웃었다.
균열은 작았다.
원인.
배관의 열팽창을 너무 구속.
진동은 줄였지만 열팽창 자유도가 줄었다.
한 문제 해결이 다른 문제 생성.
구조팀이 말했다.
“유연 지지로.”
Reyes가 물었다.
“그러면 진동?”
다시 시뮬레이션.
시험.
균형.
Daniel은 이 과정이 지겹고 흥미로웠다.
최적점.
진동만 최소화하면 안 된다.
열팽창.
피로.
정비.
모두.
마지막 검증.
20회 반복.
문제 없음.
클러스터 entry criteria 통과.
Daniel은 날짜를 봤다.
처음 예상보다 5주 늦었다.
그런데 비행체에는 첫 설계에 없던 세 가지 개선이 들어갔다.
마운트.
배관 지지.
체결.
Daniel은 생각했다.
5주를 잃은 게 아니다.
비행에서 잃었을 수 있는 차량 하나를 지상에서 사지 않은 것일지도 모른다.
증명할 수는 없다.
그래도 이제 이런 계산에 익숙해졌다.
그날 시험보고서 첫 장에는 최대추력보다 `20 repeated cluster cycles — passed`가 먼저 올라왔다.
Reyes가 말했다.
“좋은 순서네요.”
Daniel이 웃었다.
“요즘 제 취향이 바뀌었습니다.”
“조금.”
칭찬은 여전히 박했다.
클러스터 진동문제가 해결되는 동안 Elena 팀은 센서데이터를 따로 분석했다.
흥미로운 점 하나.
구조진동이 커지기 직전, 엔진 세 기의 압력변동이 아주 미세하게 동조했다.
눈으로 보면 거의 차이 없음.
스펙트럼에서만 보인다.
Daniel이 물었다.
“예측에 쓸 수 있습니까?”
Elena가 말했다.
“가능성은.”
“그럼 실시간 중단?”
“아직.”
또.
Daniel이 웃었다.
“왜요?”
“몇 번 본 패턴으로 안전로직 만들면 안 됩니다.”
Reyes도 동의.
현재는 연구경보.
비행중단권에는 들어가지 않는다.
더 많은 지상시험.
일부러 조건을 바꾼다.
추력편차.
온도.
배관.
패턴이 반복될 때만 다음 단계.
Daniel은 이 계층이 마음에 들었다.
연구신호.
운영경고.
안전중단.
같은 데이터도 검증수준에 따라 권한이 다르다.
의료에서도 비슷했다.
모델 추천과 임상결정.
과학에서도.
예측과 설명.
“신호가 있다고 바로 행동권한 주는 게 아니네요.”
Daniel이 말했다.
Elena가 고개를 끄덕였다.
“좋은 모델이라고 좋은 정책이 자동으로 생기는 것도 아니고요.”
몇 주 뒤 동일 패턴은 여러 시험에서 반복됐다.
특정 공진조건 전에 확률이 높았다.
연구팀은 조기경보로 승격.
시험팀 화면에만 표시.
빨간 경보 아님.
노란색.
`resonance precursor suspected`
시험책임자가 말했다.
“이런 표현 좋습니다.”
“왜요?”
“확정인 척 안 해서.”
Daniel은 회사 전체가 점점 확실성과 불확실성을 언어로 구분하는 데 익숙해지는 걸 느꼈다.
처음에는 답답했다.
`가능성`
`현재 범위`
`의심`
이런 단어들이 결론을 약하게 만든다고 생각했다.
지금은 반대였다.
정확한 약한 표현이 틀린 강한 표현보다 훨씬 쓸모 있었다.
클러스터 20회 검증 마지막 날, 노란 경보가 한 번 떴다.
실제 진동은 기준 안.
팀은 시험을 중단하지 않았다.
대신 데이터 표시.
사후검토.
센서 노이즈.
오탐.
Daniel이 말했다.
“좋네요.”
Elena가 물었다.
“오탐인데?”
“안전중단으로 연결 안 했잖아요.”
검증수준에 맞는 권한.
그게 시스템을 덜 과민하게 만들었다.
Daniel은 속도와 안전이 항상 반대가 아니라는 걸 또 봤다.
좋은 분류가 있으면 불확실한 신호 때문에 모든 걸 멈추지도 않고, 위험한 신호를 무시하지도 않는다.
마지막 반복점화 중에는 계측시스템 자체가 한 번 문제를 냈다.
압력센서 두 개 중 하나가 순간적으로 0을 표시했다.
안전로직은 다른 센서와 불일치를 감지해 경고만 냈다.
시험은 계속.
사후 확인.
센서 커넥터 접촉.
Daniel이 말했다.
“센서 하나 더?”
Elena가 물었다.
“몇 개까지 달 겁니까?”
좋은 질문.
센서를 늘리면 신뢰성이 무조건 올라가는 것도 아니다.
배선.
오류.
정비.
데이터.
다 늘어난다.
팀은 개수를 늘리는 대신 센서 건강상태 진단과 불일치 로직을 개선했다.
Reyes가 말했다.
“중복도 설계해야 합니다.”
Daniel은 고개를 끄덕였다.
백업 하나를 추가하는 것과 백업이 제대로 작동하는 시스템을 만드는 건 다르다.
두 센서가 같은 원인으로 틀리면 소용없다.
전원.
배선경로.
설치위치.
가능하면 공통원인을 줄인다.
Daniel은 이 원칙이 훗날 관측망에도 중요할 거라는 생각이 들었다.
망원경이 여러 대여도 같은 소프트웨어 오류를 쓰면 같은 방식으로 틀릴 수 있다.
분산은 숫자가 아니라 독립성.
그 생각을 노트에 남겼다.
Redundancy without independence is decoration.
Reyes가 보고 말했다.
“이번 문장은 좋네요.”
Daniel이 웃었다.
“드디어?”
읽은 화로 기록했습니다. 다음 화는 바로 이어집니다.