ГоловнаСтаттіХімія та матеріали

Фронти реакцій: Як хімічний хід обирає власну швидкість

Дифузія тягне реакцію назовні; автокаталітичне зростання підживлює її. Разом вони закріплюються за однією конкретною швидкістю, v = 2√(Dr) — той самий закон, що лежить в основі фронтів полум'я, вторгнень і поширення генів.

mysimulator teamОновлено — червень 2026≈ 8 хв читання▶ Відкрити симуляцію

Хвиля, що живиться сама собою

Киньте іскра в суміш реагентів, які каталізують їхнє власне виробництво, і щось більш організоване, ніж випадкове розповсюдження, відбувається: утворюється різкий фронт, який рухається з певною, чітко визначеною швидкістю, залишаючи по собі повністю реакційну речовину позаду себе та незмінний реагент попереду. Це поведінка — дифузія, поєднана з локальним автокаталітичним ростом, що створює самоорганізовану подорожчу хвою — описується однією з найбільш широко використовуваних рівнянь в застосованій математиці, рівнянням Фішера-КПП, незалежно запропонованою Роном Фішером (досліджуючи географічне поширення вигідного гена через популяцію) та Андреєм Колмогоровим, Іваном Петровським і Миколою Пискуновым (досліджуючи ту ж математику більш ретельно та загалом).

Рівняння

∂u/∂t = D · ∇²u + r · u · (1 - u)

υ(x,t) = місцева концентрація ‘реагуючої’ речовини, нормалізована до 0…1

D = коефіцієнт дифузії — наскільки швидко поширюється реакційний продукт просторово

r = внутрішній темп росту (реакції)

D · ∇²u = ДИФУЗІЙНИЙ терм — розповсюджує реакцію віддалено від місць, де вона висока

r·u·(1-u) = РЕАКЦІЙНИЙ терм — логістичне зростання: швидке, коли u мале, насичується, коли u → 1

Реакційний терм є точно логістичною моделлю росту: виробництво пропорційне кількості вже наявної реактанту (u, автокаталіз) та кількості незреагованої речовини, що залишилася (1-u, носійний об’єм)

Без дифузії цей терм сам по собі змусив би u плавно зростати від 0 до 1 всюди одночасно. Дифузія є тим, що перетворює просторово однорідну реакцію на справжній рухомий фронт: вона дозволяє невеликій кількості продукту попереду реактованої області «засіяти» наступний шматок незреагованого матеріалу, який потім логістично росте та дифундує далі, просуваючи фронт вперед.

∂u/∂t = D · ∇²u  +  r · u · (1 - u)

u(x,t) = local concentration of "reacted" material, normalised to 0…1
D      = diffusion coefficient — how fast the reaction product spreads spatially
r      = intrinsic growth (reaction) rate
D·∇²u  = DIFFUSION term — spreads the reaction outward from wherever it's high
r·u·(1-u) = REACTION term — logistic growth: fast when u is small, saturating as u→1
жива демонстрація · пов'язана симуляція● LIVE

Чому швидкість точно v = 2√(Dr)

Fisher-KPP допускає розв’язки у вигляді хвильових фронтів виду u(x,t) = U(x − vt) для цілого безперервного діапазону швидкостей v ≥ v_min, але починаючи з будь-якої локалізованої, компактно підтримуваної ділянки реагуючого матеріалу, фронт, який фактично виникає — доведено KPP у їхній оригінальній статті — завжди обирає мінімальну дозволену швидкість:

v = 2·√(D·r) (швидкість, обрана будь-якою гостро локалізованою початковою умовою) Інтуїція полягає в тому, що за межами фронту u дуже мале, і там термін реакції r·u(1-u) спрощується до просто r·u — чиста експоненціальна швидкість зростання, без насичення ще. Лінеаризація повного РДН у цьому лідиному краю дає ∂u/∂t = D·∇²u + r·u, найшвидший ростіючий, невід’ємний розв’язок, який залишається обмеженим, рухається з точно 2√(Dr). Нелінійне насичення позаду фронту не змінює цю лідируючу швидкість — воно лише формує профіль, що слідом за ним йде, "видаляючи" все, що вже було посіяно лідируючим краєм.

v = 2·√(D·r)          (speed selected by any sharply-localized initial condition)

Однакові закони, багато масок

Цей вибір швидкості розповсюдження та темпів зростання не є специфічним для хімії. Фішер початково отримав його для сприятливого поширення генів через просторово розподілену популяцію — швидкість росту популяції відіграє роль r, а випадкове розсіювання (міграція) — роль D. У горінні швидкість передзмінної пламени залежить аналогічно від теплопровідності та швидкості реакції палива, і використовується екологами для опису процесів інвазії видів — введений вид із локальною швидкістю росту r та випадковим розсіюванням D просуває межу свого ареалу на 2√(Dr), прогноз, який відносно добре відповідав спостереженням щодо фронтів інвазії для видів від європейських мутрів до кане тоадс в Австралії як перше наближення.

Моделювання на основі сітки

Простий явний метод кінцевих різниць відтворює фронт чисто, за умови дотримання межі дифузійної стабільності:

// Явний крок Ейлера для 1D Fisher-KPP, кроковий проміжок dx, крок dt for (let i = 1; i < N - 1; i++) { const laplacian = (u[i+1] - 2*u[i] + u[i-1]) / (dx * dx); uNext[i] = u[i] + dt * (D * laplacian + r * u[i] * (1 - u[i])); } // Стабільність вимагає dt <= dx² / (2D) — стандартний дифузійний CFL ліміт Вимірювання положення фронту (наприклад, де u перетинає 0.5) з часом та підгонка прямої лінії до нього є найпростішим способом перевірити симуляцію проти прогнозу 2√(Dr) — після початкового транзенту, коли профіль фронту стабілізується у своїй самосхожості, підгонка повинна збігатися з аналітичною швидкістю в межах одного або двох відсотків на достатньо розділеній сітці.

// explicit Euler step for 1D Fisher-KPP, grid spacing dx, step dt
for (let i = 1; i < N - 1; i++) {
  const laplacian = (u[i+1] - 2*u[i] + u[i-1]) / (dx * dx);
  uNext[i] = u[i] + dt * (D * laplacian + r * u[i] * (1 - u[i]));
}
// stability requires dt <= dx² / (2D)  — the standard diffusion CFL limit

Frequently asked questions

Чому швидкість переднього краю встановлюється на фіксоване значення замість безперервного прискорення?

Це пов'язано з тим, що член росту r·u(1-u) найсильніший там, де u мале (попереду край), і зникає, коли u вже близький до 1 (задалі від переднього краю). Передній край тягнеться вперед на таку ж швидкість, яка підтримує зростання та розповсюдження маленького u переднього краю якомога швидше, що лінійно обмежує швидкість, досягаючи мінімальної швидкості v_min = 2√(Dr) для будь-якої типової гострої початкової умови — швидші фронти математично можливі, але потребують спеціально сконструйованих даних з повільним розкладанням.

Чи є v = 2√(Dr) точним для будь-якої початкової умови?

Це швидкість, обрана будь-якою початковою умовою, яка компактно підтримується або розпадається принаймні експоненціально швидко (що охоплює практично всі реалістичні початкові ділянки). Кольмогоров, Петровський і Пісків проявили цей результат вибору в 1937 році. Початкові умови з дуже повільним, спеціально налаштованим степенем розкладання можуть теоретично дати швидший фронт, але це математичні дивовижки, а не те, що можна зустріти при запуску від локалізованого зерна.

Чи справді одна й та сама формула описує хімію, екологію та епідемії?

Одна й та ж математична структура — дифузія плюс логістичне зростання з насиченням — виникає, коли щось поширюється просторово, одночасно множачись локально до певної місткості: автокаталітичний хімічний реагент, інвазивний вид (оригінальна мотивація Рональда Фішера 1937 року, вивчення розповсюдження переважної гена) або, з модифікаціями, початкова експоненціальна фаза епідемії. Деталі члену зростання відрізняються в кожній галузі, але баланс між дифузією та зростанням і що випливає з нього v = 2√(Dr) масштабування повторюються у всіх випадках.

Спробуйте наживо

Усе, що вище, працює прямо у вашому браузері — відкрийте Reaction Front і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.

▶ Відкрити симуляцію Reaction Front

Що ви знайшли?

Додати кроки відтворення (опційно)