색소 농도가 음수라면, 시간 간격부터 봐요

현재 칸과 왼쪽 칸의 색소 농도가 모두 0 이상인 가상 계산이에요. 속도·시간 간격·칸 길이로 정해지는 비를 살펴보며, 다음 단계의 농도도 0 이상으로 남도록 하는 조건을 찾아요.

맑은 물을 담은 무표기 직사각형 금속 팬

이미지: AI 생성 · 수학 이야기

유체 계산은 공간을 작은 요소로 나누어 근사해요. 다음은 원문의 특정 프로그램을 재현한 것이 아니라, 한 방향으로 이동하는 색소의 자체 1차원 갱신식이에요. 어떤 칸의 현재 농도 c와 왼쪽 칸의 농도 b는 모두 0 이상이에요. 한 단계 뒤 농도를 c′라고 쓰고 다음 규칙을 문제에서 정해요.

c′=(1−C)c+Cbc'=(1-C)c+Cb

여기서 C=uΔt/h입니다. u≥0은 오른쪽 이동 속도(m/s), Δt>0은 한 단계 시간(s), h>0은 칸 길이(m)여서 C는 단위 없는 수예요. 이전 단계의 두 값을 동시에 사용하며, 모든 유체 시뮬레이션에 이 식을 적용한다고 주장하지 않아요.

u=0.8m/s, h=0.2m, Δt=0.5s이면 C=2입니다. c=1, b=0을 넣으면 c′=−1로 실제 색소 농도로 읽을 수 없는 음수가 나와요. 같은 u,h에서 Δt를 0.125s로 줄이면 C=0.5, c′=0.5가 돼요.

0≤C≤1이면 두 계수가 모두 비음수이고 합은 1이므로, 어떤 비음수 b,c를 넣어도 c′는 비음수예요. C>1에서는 앞의 c=1,b=0이 언제나 음수 반례를 줘요. 따라서 이 식에서 모든 비음수 입력의 비음수를 보장하는 조건은 0≤C≤1입니다. 이것은 농도의 허용 범위를 유지하는 조건이며 계산의 정확도가 충분하다는 별도 증명은 아니에요.

참고한 수학 개념: Plus · Maths in a Minute: Computational fluid dynamics.

이 글의 생활 상황과 계산 예시는 수학 이야기에서 새로 구성했습니다.

이 글 공유하기

개인정보 및 방문 통계 안내