Девлог #42 – Хвиля 22: Симуляції зі статистики, спеціальної теорії відносності та електрохімії

Хвиля 22 додає три нові інтерактивні симуляції, що охоплюють спеціальну теорію відносності (відносність одночасності), електрохімію (рівняння Нернста та напругу гальванічного елемента) і лінійну алгебру (власні вектори та власні значення). Хвилю супроводжують два розлогі пости — Прожектор категорії про статистику й теорію ймовірностей та Навчальний пост про диференціальні рівняння у фізиці.

Статистика платформи після Хвилі 22

348
Симуляцій
75
Категорій
127
Постів у блозі
22
Хвиль контенту
43
Прожекторів
32
Навчальних постів
42
Девлогів

Фокус Хвилі 22: поєднати абстрактну математику статистики та лінійної алгебри з конкретними фізичними явищами — порушення одночасності на релятивістських швидкостях, зміни напруги в електрохімічному елементі та геометричний зміст власних векторів матриці. Кожна симуляція прагне зробити рівняння видимим.

Пости блогу Хвилі 22

Відносність одночасності

Уявний експеримент Ейнштейна 1905 року з рухомим потягом і двома одночасними ударами блискавки — одна з найпотужніших ілюстрацій спеціальної теорії відносності: події, одночасні в системі відліку перону, не є одночасними в системі відліку потяга. Симуляція робить це наочним за допомогою паралельної анімації обох систем відліку.

Як працює симуляція

Потяг рухається зі швидкістю β = v/c зліва направо. Дві блискавки одночасно вдаряють у передню та задню частини потяга в системі відліку перону (блискавки рівновіддалені від спостерігача на пероні, тож світло від обох досягає його одночасно). Симуляція показує обидві системи відліку одночасно:

Використане перетворення Лоренца

t′ = γ(t − vx/c²)
x′ = γ(x − vt)

γ = 1/√(1−β²),  β = v/c

Події у системі перону (одночасні): t₁ = t₂ = 0
Події у системі потяга (не одночасні):
  t′₁ = γ(0 − v·x₁/c²) = −γv·x₁/c²   (зад: x₁ < 0)
  t′₂ = γ(0 − v·x₂/c²) = −γv·x₂/c²   (перед: x₂ > 0)
  Δt′ = γv·L/c²   де L = довжина потяга в системі перону

Керування включає повзунок β (0.1 → 0.95), кнопку «відтворити/пауза/скинути» та множник швидкості. Інформаційна панель під canvas-полотнами показує γ, Δt′ (розрив одночасності в системі потяга) та лоренц-скорочену довжину потяга L′ = L/γ.

Рівняння Нернста — напруга гальванічного елемента

Рівняння Нернста описує, як електрорушійна сила (ЕРС) напівелемента чи гальванічного елемента залежить від температури та концентрацій (або активностей) залучених іонних видів. Це фундаментальне рівняння електрохімії, що лежить в основі акумуляторів, паливних елементів, біологічних іонних каналів та аналітичної хімії (pH-електроди, іон-селективні електроди).

Дизайн симуляції

Симуляція моделює повний гальванічний елемент (наприклад, елемент Даніеля: Zn | ZnSO4 || CuSO4 | Cu). Користувач керує:

Рівняння Нернста

E = E° − (RT/nF) ln Q

E    = потенціал елемента [В]
E°   = стандартний потенціал (при 298 K, 1 M, 1 атм) [В]
R    = 8.314 Дж моль⁻¹ K⁻¹
T    = температура [K]
n    = кількість переданих електронів (моль)
F    = 96485 Кл моль⁻¹  (стала Фарадея)
Q    = реакційний коефіцієнт  = [продукти]/[реагенти]

При 25°C:  RT/F = 0.025693 В ≈ 25.7 мВ
  ⇒ E = E° − (0.05916/n) log₁₀ Q  (Нернст при 25°C)

Напівелемент (напівреакція відновлення):
  Ox + ne⁻ → Red
  E_half = E°_half − (RT/nF) ln([Red]/[Ox])

Canvas відображає схематичний гальванічний елемент: дві склянки, з'єднані сольовим містком, з анімованою міграцією іонів (катіони рухаються до катода, аніони — до анода). Індикатор маси електрода показує розчинення анода (стовпчик зменшується) і осадження на катоді (стовпчик росте). Живий графік E проти ln(Q) будує криву Нернста з рухомою точкою, що відстежує поточну робочу точку. Додаткова панель показує ΔG = −nFE та константу рівноваги K = exp(nFE°/RT) для обраного елемента.

Візуалізатор власних векторів і власних значень

Власні вектори — це напрямки, в яких лінійне перетворення діє лише як розтяг (у λ разів, власне значення). Вони трапляються всюди: головні осі еліпсоїда (симетрична матриця в тензорі інерції), нормальні моди зв'язаного осцилятора (матриця жорсткості), квантові спостережувані величини (ермітові оператори в гільбертовому просторі), PageRank Google (провідний власний вектор матриці посилань) та зменшення розмірності методом PCA (власні вектори коваріаційної матриці).

Характеристичний поліном

A = [[a, b], [c, d]]    (дійсна матриця 2×2)

Характеристичний поліном:  det(A − λI) = 0
  ⇒  λ² − (a+d)λ + (ad−bc) = 0
  ⇒  λ² − tr(A)·λ + det(A) = 0

Власні значення: λ₁,λ₂ = [tr(A) ± √(tr(A)² − 4·det(A))] / 2

Дійсні, якщо дискримінант ≥ 0: tr(A)² ≥ 4·det(A)

Власний вектор для λ_i:  (A−λ_i I)v = 0
  v = [b, λ_i − a]  (або будь-який ненульовий скалярний кратний)

Візуалізатор малює на canvas 540×440: одиничну сітку, стандартні базисні вектори та поряд з їхніми образами A / A, одиничне коло та його образ (еліпс, напівосі якого вирівняні за власними векторами й масштабовані на |λ|), а також дві лінії напрямків власних векторів. Вісім пресетів охоплюють випадки Тотожність, Масштаб по x у 3 рази, Обертання на 90°, Зсув, Симетричну (подібну до PCA), Відбиття та Сідлову точку. Інформаційна панель показує слід, визначник, власні значення, тип матриці та примітку, коли власні значення комплексні.

Інженерна примітка: одночасна анімація двох canvas-полотен

Симуляція відносності одночасності відображає два canvas-полотна поруч в межах одного циклу requestAnimationFrame. Час симуляції зберігається як єдина змінна головного годинника tsim (в одиницях L/c, де L — довжина потяга). Кожен canvas отримує власне перетворення координат: canvas перону використовує tsim напряму; canvas потяга застосовує перетворення Лоренца до всіх координат подій перед відображенням.

Ключова деталь реалізації полягає в тому, що радіуси світлових імпульсів також розширюються зі швидкістю c у перетвореній системі відліку — це підтверджується тим, що c = 1 у природних одиницях інваріантне відносно системи відліку. Невеликий граничний випадок: коли β → 0.999, γ ≈ 22, тож розрив одночасності Δt′ = γvL/c² стає дуже великим; анімація автоматично масштабується, щоб обидва світлові імпульси залишалися видимими на екрані.

Що далі — Хвиля 23

Хвиля 23 буде зосереджена на топології та поглибленій геометрії: дослідник пляшки Клейна й роду тора (характеристика Ейлера χ = V−E+F), візуалізатор інваріантів вузлів (поліном Александера) та симулятор геодезичної орбіти Шварцшильда, що моделює траєкторії фотонів і масивних частинок навколо необертового чорного отвору. Зі сторони контенту Хвиля 23 включатиме Прожектор про загальну теорію відносності та космологію і Навчальний пост про комплексний аналіз і конформні відображення.

Маєте ідею для симуляції? Проєкт із відкритим кодом. Дивіться CONTRIBUTING.md — посібник для контриб'юторів, або відкрийте issue в репозиторії.