기체 분자 운동 시뮬레이터베타

수천 분자의 탄성 충돌로 맥스웰-볼츠만 속력 분포가 생겨나는 과정을 실험

이 도구는 아직 안정화 중인 베타 버전입니다. 결과가 예상과 다르면 알려주세요.

시뮬레이션 엔진(WebAssembly)을 불러오는 중…

속력 분포시뮬레이션맥스웰-볼츠만 이론

온도를 바꾸면 모든 분자의 속도가 그 즉시 같은 비율로 조정됩니다(가열 과정 없이).

측정 온도
–
최빈 속력
–
평균 속력
–
제곱평균제곱근 속력
–
PA / NkT
–
충돌/초
–

각 점은 기체 분자 하나입니다. 분자끼리, 그리고 벽과 완전 탄성 충돌하므로 전체 에너지는 보존됩니다. 처음에는 모든 분자가 같은 속력으로 출발하지만 충돌을 거듭하며 히스토그램이 맥스웰-볼츠만 곡선에 들어맞게 됩니다. 온도를 올리면 모든 속도가 같은 비율로 커지고 분포가 넓게 퍼집니다. 점선은 최빈·평균·제곱평균제곱근 속력입니다. 캔버스를 누르면 가장 가까운 분자의 경로(브라운 운동 같은 무작위 걸음)를 따라갑니다. PA/NkT 가 1 에 가까우면 이상기체 법칙이 성립하는 것이고, 분자가 크고 많을수록 1 보다 커집니다.

기체 분자 운동 시뮬레이터 소개

화면의 점들은 질량이 같은 강체 원판이다. 원판끼리, 그리고 벽과 완전 탄성 충돌만 하고 다른 힘은 없다. 시작할 때 모든 분자는 같은 속력 √(2kT)로 방향만 무작위로 출발한다. 그래서 첫 순간의 히스토그램은 막대 하나뿐이고, 충돌이 쌓이면서 오른쪽 그래프의 맥스웰-볼츠만 곡선으로 퍼진다. 에너지는 처음부터 끝까지 보존되므로, 이 변화는 에너지가 새로 들어와서가 아니라 같은 에너지가 분자 사이에 다시 나뉘어서 생긴다.

이 시뮬레이션은 2차원이다. 3차원 교과서 공식과 계수가 다르므로 아래 숫자는 모두 2차원 기준으로 쓴다. 온도는 화면용 K 단위로 표시되지만 내부에서는 300K를 kT = 10,000 px²/s²에 대응시킨 임의 단위다.

2차원 맥스웰-볼츠만 분포와 세 가지 속력

속도의 x, y 성분이 각각 분산 kT/m인 정규분포를 따르면 속력 v의 분포는 f(v) = (mv/kT)·exp(−mv²/2kT)가 된다. 3차원에서는 앞에 v²가 붙지만 2차원에서는 v 하나다. 이 곡선에서 세 가지 대표 속력이 나온다. 최빈 속력 √(kT/m), 평균 속력 √(πkT/2m), 제곱평균제곱근 속력 √(2kT/m). 그래프의 점선 세 개가 이 순서로 서 있다.

300K(kT = 10,000)에서 이 값은 100, 125.3, 141.4 px/s다. 비율 1 : 1.253 : 1.414는 온도와 상관없이 일정하다. 분포의 모양은 그대로이고 가로축 눈금만 √T에 비례해 늘어나기 때문이다. 처음 출발 속력 √(2kT)는 정확히 제곱평균제곱근 속력과 같다. 즉 처음 상태와 평형 상태의 평균 운동에너지는 같고, 달라진 것은 분포뿐이다.

등분배 정리: 온도는 무엇을 재는가

고전 통계역학에서는 에너지에 제곱으로 들어가는 자유도 하나마다 평균 ½kT가 돌아간다. 원판은 x, y 두 방향으로 움직이므로 분자당 평균 운동에너지는 kT다(3차원 단원자 기체라면 3/2 kT). 이 시뮬레이션의 「측정 온도」는 바로 이 관계를 거꾸로 써서 계산한다. 모든 분자의 ½v²를 평균한 값이 kT다.

원판은 회전하지 않도록 만들어졌다. 실제 이원자 분자(N₂, O₂)는 회전 자유도 2개가 더 있어 같은 온도에서 더 많은 에너지를 품는데, 이 모형에는 그 부분이 없다.

관찰 실험 1: 막대 하나가 곡선이 되기까지

기본값(2,500개, 반지름 2.5px)에서 「처음부터」를 누르고 히스토그램을 본다. 141px/s 근처에 솟은 막대가 몇 초 안에 무너지며 낮은 속력 쪽과 높은 속력 쪽으로 동시에 퍼진다. 두 분자가 부딪히면 한쪽은 빨라지고 한쪽은 느려지기 때문이다. 분자 수를 500개로 줄이면 충돌 빈도가 떨어져 이완이 눈에 띄게 느려지고, 히스토그램도 더 들쭉날쭉하다. 표본이 적으면 통계적 요동이 1/√N 정도로 커진다.

재생 속도를 낮추고 캔버스를 눌러 한 분자를 추적하면, 그 경로가 짧은 직선 조각이 제멋대로 꺾인 무작위 걸음이 된다. 기체 속의 먼지 입자가 보이는 브라운 운동과 같은 구조다.

관찰 실험 2: PA/NkT가 1에서 벗어나는 이유

이상기체라면 벽이 받는 압력 P와 넓이 A 사이에 PA = NkT가 성립한다. 도구는 벽에 전달된 운동량으로 P를 재서 이 비율을 보여 준다. 그런데 원판에는 크기가 있어, 다른 원판이 차지한 자리에는 들어갈 수 없다. 분자가 실제로 쓸 수 있는 넓이가 줄어드니 벽을 더 자주 때리고 비율이 1보다 커진다.

원판이 차지하는 넓이 비율(충전율) η = Nπr²/A로 어림할 수 있다. 800×580px 캔버스에서 기본값이면 η ≈ 2,500 × 19.6 ÷ 464,000 ≈ 0.11이다. 강체 원판 기체의 근사식 Z = (1 + η²/8)/(1 − η)²에 넣으면 약 1.25가 나온다. 반지름을 1.5px로 줄이면 η ≈ 0.04, Z ≈ 1.08로 이상기체에 가까워진다. 캔버스 크기는 화면마다 다르므로 자기 화면의 가로세로로 계산해 비교해 보면 된다. 도구는 η가 0.7을 넘는 조합(예: 반지름 8px × 8,000개)은 들어가는 만큼만 넣고 안내 문구를 띄운다. 그보다 빽빽하면 원판이 서로 겹쳐 충돌 대신 위치 보정이 압력을 만들어 PA/NkT가 의미를 잃기 때문이다. 0.7 근처에서 Henderson 식은 실제보다 크게 나오며(약 17), 시뮬레이션 값은 9 안팎이다.

실제 공기 분자로 바꾸면

3차원에서는 최빈 속력 √(2kT/m), 평균 √(8kT/πm), 제곱평균제곱근 √(3kT/m)이다. 질소(N₂, 분자량 28, 분자 하나 4.65×10⁻²⁶kg)를 300K에 두면 kT = 4.14×10⁻²¹J이고, 각각 약 422, 476, 517m/s다. 소리의 속력(약 350m/s)보다 빠르다. 기체 분자가 이렇게 빠른데도 향수 냄새가 천천히 퍼지는 것은, 상온 대기압에서 분자가 수십 나노미터마다 충돌해 방향이 바뀌기 때문이다. 추적 모드에서 본 꺾인 경로가 그 모습이다.

예시

온도를 4배로 올릴 때

입력
온도 300K → 1,200K
결과
세 속력 모두 정확히 2배: 200 / 250.7 / 282.8 px/s

속력은 √T에 비례한다. 도구는 온도를 바꾸면 모든 속도에 같은 배율(여기서는 2)을 곱하므로 분포 모양은 유지된 채 가로로 늘어난다.

평균 속력보다 빠른 분자의 비율

입력
2차원 분포, v > 평균 속력 √(πkT/2)
결과
exp(−π/4) ≈ 45.6%

2차원에서 속력이 v보다 클 확률은 exp(−mv²/2kT)로 간단히 적분된다. 평균보다 빠른 분자가 절반이 안 되는 것은 분포의 꼬리가 오른쪽으로 길게 늘어져 평균을 끌어올리기 때문이다.

사용 방법

  1. 「처음부터」를 눌러 모든 분자가 같은 속력으로 출발하게 한다.
  2. 히스토그램 막대가 이론 곡선에 겹쳐지는 과정을 지켜본다.
  3. 온도, 분자 수, 반지름을 바꾸며 세 속력 점선과 PA/NkT 값을 비교한다.
  4. 캔버스를 눌러 분자 하나의 경로를 추적한다.

자주 묻는 질문

온도를 올리면 왜 즉시 빨라지나요?

도구가 가열 과정을 계산하지 않고 모든 속도에 같은 배율을 곱해 평균 에너지를 새 온도에 맞추기 때문이다. 실제로는 뜨거운 벽과의 충돌로 서서히 데워진다.

3차원 공식과 숫자가 다른데요?

이 시뮬레이션은 평면 위 원판이다. 2차원 분포는 f(v) ∝ v·exp(−mv²/2kT), 3차원은 v²·exp(…)이라 대표 속력의 계수가 다르다.

분자가 많고 크면 겹쳐 보여요.

충전율이 높으면 원판이 들어갈 자리가 부족하다. 강체 원판은 충전율 약 0.7부터 고체처럼 굳고, 최대 조밀 충전은 약 0.907이다. 그 근처에서는 PA/NkT가 크게 뛴다.

에너지가 보존되는데 왜 분포가 바뀌나요?

총에너지는 그대로지만 나누는 방법의 수가 압도적으로 많은 상태가 맥스웰-볼츠만 분포다. 충돌은 에너지를 무작위로 재분배할 뿐이어서 결국 가장 흔한 배분으로 간다.

참고

근사식 Z = (1 + η²/8)/(1 − η)²는 강체 원판 기체의 경험적 상태방정식(Henderson 근사)으로, 충전율이 낮을수록 정확하다.

분자는 회전하지 않고 분자 사이 인력도 없다. 액화나 반데르발스 기체 효과는 나타나지 않는다.

출처

기준일:

개인정보와 저장 방식