폰의 한계와 타협 — 무엇을 포기했나
타협의 목록
지금까지 여러 편에 걸쳐 “이건 포기했다”는 이야기가 흩어져 나왔다. 이 편에서 한자리에 모은다.
왜 이런 정리가 필요한가. 자기 도구의 한계를 아는 것이 그 도구를 쓸 수 있게 만들기 때문이다. 무엇을 못 하는지 모르는 채로 쓰면, 못 하는 영역에서 나온 답을 그대로 믿게 된다.
1. 차원: 2차원
포기한 것 — 3차원 형상 계산.
이유 — 계산량. 2차원에서 만 개인 격자가 3차원에서는 백만 개가 된다. 그리고 14편의 조건 때문에 시간 단계도 함께 늘어난다.
결과에 미치는 영향 — 15편에서 본 대로, 절단면 방향으로 빠져나가는 열이 계산되지 않는다. 실제보다 뜨겁게 나온다.
언제 문제가 되나 — 형상이 한 방향으로 길지 않을 때. 넓적한 판이나 정육면체에 가까운 덩어리는 2차원 근사가 나쁘다. 손잡이처럼 한 방향으로 긴 것은 괜찮다.
2. 형상: 정해진 도형만
포기한 것 — 임의 형상, CAD 가져오기.
이유 — 격자 자동 생성의 불안정성(17편), 기본값 부재(9편).
결과에 미치는 영향 — 실물의 세부가 반영되지 않는다. 모서리 곡률, 작은 구멍, 리브, 표면 요철.
언제 문제가 되나 — 그 세부가 열의 흐름을 지배할 때. 예를 들어 방열을 위해 일부러 만든 핀 구조는 단순 도형으로 근사하면 완전히 다른 답이 나온다.
3. 물성: 온도에 무관하게 고정
포기한 것 — 온도에 따라 변하는 물성.
이유 — 데이터가 필요하고 기본값이 없다(9편).
결과에 미치는 영향 — 온도 범위가 넓을 때 오차가 커진다. 대부분의 재료는 온도가 오르면 열전도율이 변한다.
언제 문제가 되나 — 수백 도의 온도 차가 있을 때. 프라이팬 정도(200도 범위)에서는 대개 감당할 만하다.
4. 열전달 경로: 복사 무시
포기한 것 — 복사에 의한 열 이동.
이유 — 계산이 비선형이 되어 무거워진다. 그리고 표면 상태(반사율)에 대한 값이 필요하다.
결과에 미치는 영향 — 뜨거운 물체는 복사로도 열을 잃는다. 그걸 무시하면 실제보다 뜨겁게 나온다.
언제 문제가 되나 — 온도가 높을 때. 복사는 온도의 네제곱에 비례하므로 고온에서 급격히 중요해진다. 수백 도를 넘으면 무시할 수 없다.
5. 시간: 대개 정상 상태
포기한 것 — 과도 상태 계산을 기본으로 하지 않는다.
이유 — 시간 단계를 수십만 번 반복해야 하고, 14편의 안정 조건 때문에 시간 간격을 작게 잡아야 한다.
결과에 미치는 영향 — “3분 후 온도”를 알 수 없다. 최종 도달 온도만 나온다. 그리고 최종 도달 온도는 실제 사용 중 온도보다 항상 높다.
언제 문제가 되나 — 짧게 쓰는 물건. 실제로는 그 온도에 도달하기 전에 사용이 끝난다면, 계산 결과는 과하게 안전한 쪽으로 치우친다.
6. 정밀도: 성긴 격자
포기한 것 — 촘촘한 격자.
이유 — 계산 시간. 그리고 15편의 “몇 초 안에 답”이라는 목표.
결과에 미치는 영향 — 온도가 급하게 변하는 곳의 값이 부정확하다. 특히 서로 다른 재료가 만나는 경계면.
언제 문제가 되나 — 관심 지점이 급변 구간에 있을 때. 18편의 확인 계산으로 부분적으로 대응한다.
편향의 방향을 모아보면
여기서 중요한 관찰이 있다. 위 타협들의 영향 방향을 모아보자.
| 타협 | 방향 |
|---|---|
| 2차원 근사 | 뜨겁게 |
| 복사 무시 | 뜨겁게 |
| 정상 상태 | 뜨겁게 |
| 보수적 대류 계수 (16편) | 뜨겁게 |
| 형상 단순화 | 경우에 따라 다름 |
| 물성 고정 | 경우에 따라 다름 |
| 성긴 격자 | 경우에 따라 다름 |
앞의 넷이 모두 같은 방향이다. 그리고 이건 우연이 아니다. 의도적으로 그렇게 골랐다.
열 문제에서는 “실제보다 뜨겁게”가 안전한 방향이다. 계산에서 손잡이가 45도면 실제로는 그보다 낮을 가능성이 높다. 그러면 “계산에서 안전하면 실제로도 안전하다”고 말할 수 있다.
이게 근사를 다루는 실용적인 태도다. 오차를 없애려 하지 않고, 오차의 방향을 통제한다.
그런데 이 태도에 함정이 있다
정직하게 짚어야 할 것이 있다. 안전 쪽으로 기운 답은 다른 종류의 오류를 만든다.
계산에서 손잡이가 62도로 나왔다고 하자. 위험하다는 판단이 나온다. 그래서 설계를 바꾼다. 두껍게 하고, 재료를 바꾸고, 무게가 늘고 비용이 올라간다.
그런데 실제로는 48도였을 수 있다. 원래 설계로도 괜찮았던 것이다.
즉 보수적인 계산은 불필요한 대책을 유발한다. 안전 쪽 오류는 사고를 막지만 낭비를 만든다.
그래서 우리 도구의 성격을 정확히 말하면 이렇다.
- “안전하다”는 결론은 신뢰할 수 있다. 보수적으로 계산해도 안전하면 실제로 안전하다.
- “위험하다”는 결론은 확인이 필요하다. 과하게 나온 것일 수 있다.
이 비대칭을 사용자에게 알려야 한다. 우리 시스템은 위험 판정이 나올 때 “이 결과는 보수적으로 계산된 상한입니다. 더 정확한 검토가 필요할 수 있습니다”라고 표시한다.
무엇을 포기하지 않았나
마지막으로 반대쪽도 정리해 두자. 여러 것을 포기했지만 지키기로 한 것이 있다.
답이 물리적으로 일관될 것. 에너지가 보존되고, 열이 차가운 쪽에서 뜨거운 쪽으로 흐르지 않고, 조건을 바꿨을 때 답이 상식적인 방향으로 움직일 것. 이건 정밀도와 무관한 최소 요건이다.
같은 입력에 같은 답이 나올 것. 실행할 때마다 답이 달라지면 도구로 쓸 수 없다.
한계를 표시할 것. 다룰 수 없는 문제가 들어왔을 때 그럴듯한 답을 내지 않고 “이건 범위 밖입니다”라고 말할 것.
마지막 항목이 가장 중요하다. 범위를 좁힌 도구의 가장 위험한 실패는 범위 밖의 문제에 답을 내는 것이다.
다음 편에서는 이 모든 근사를 안고도 답을 검증하는 방법들을 다룬다. 3부의 마지막이다.
다음 편 예고 — 검증: 답이 맞다는 걸 어떻게 아는가. 실물 없이, 정답 없이 계산 결과를 확인하는 세 가지 방법.