Ви дивитесь рівняння збереження маси:
dmdt=0
Якщо враховувати еволюцію маси на одиницю об'єму, то це зводиться до рівняння адвекції щільності у флюсовій формі:
∂ρ∂t=−∇⋅(ρu)
Хороша річ у тому, що це просто рівняння адвекції довільного скалярного поля (в нашому випадку це буває щільність ), і це (відносно) легко вирішити за умови адекватної схеми розрізнення часу та простору, початкової та граничні умови.ρ
Розробляючи схему обмеженої диференціації, ми піклуємося про конвергенцію, стабільність та точність. Схема сходиться, якщо колиΔt→0. Стабільність схем гарантує, що величинаАзалишається кінцевою, колиt→∞. Формальна точність схеми говорить про те, де лежить похибка усікання в ряді розширення Тейлора часткової похідної. Подивіться у підручник з CFD для отримання більш детальної інформації про ці основні властивості схеми розмежування.ΔAΔt→∂A∂tΔt→0At→∞
Тепер найпростіший підхід полягає в тому, щоб перейти прямо до 1-го порядку за розмежуванням за течією. Ця схема є позитивно визначеною, консервативною та обчислювально ефективною. Перші дві властивості особливо важливі, коли ми моделюємо еволюцію величини, яка завжди позитивна (тобто маса чи щільність).
Для простоти розглянемо 1-D випадок:
∂ρ∂t=−∂(ρu)∂x
Тепер зручно визначити потік , так що:Φ=ρu
∂(ρu)∂x=∂Φ∂x≈ΔΦΔx≈Φi+1/2−Φi−1/2Δx
Ось схема того, що ми моделюємо:
u u
| --> --> |
| rho | rho | rho |
x-----o-----x-----o-----x-----o-----x
i-1 i-1/2 i i+1/2 i+1
Ми оцінюємо еволюцію у комірці i . Чистий прибуток або збиток , походить від різниці , що приходить, Ф я - +1 / +2 і що виходить, Φ я + +1 / +2ρiΦi−1/2Φi+1/2. Тут ми починаємо відходити від відповіді Павла. У справжньому консервативному розрізненні вгору за течією кількість у центрі клітини переноситься зі швидкістю по краю її клітини, у напрямку її руху. Іншими словами, якщо ти уявляєш, що ти введена кількість, і ти сидиш у центрі клітини, тебе швидкість переносить у камеру перед собою. Оцінювання потоку на краю комірки як добутку густини та швидкості, як на краю комірки, є невірним і не зберігає введеної кількості.
Вхідні та вихідні потоки оцінюються як:
Φi+1/2=ui+1/2+|ui+1/2|2ρi+ui+1/2−|ui+1/2|2ρi+1
Φi−1/2=ui−1/2+|ui−1/2|2ρi−1+ui−1/2−|ui−1/2|2ρi
Вищеописане лікування диференціювання флюсу забезпечує визначеність вище за течією. Іншими словами, вона регулює напрям розрізнення відповідно до знаку швидкості.
Критерій стійкості Куранта-Фрідріха-Льюї (CFL), коли проводиться диференціація часу з простим першим порядком, вперед Ейлерова диференціація задається як:
μ=uΔtΔx≤1
Зауважте, що в двох вимірах критерій стійкості CFL є більш суворим:
μ=cΔtΔx≤12–√
де - величина швидкості, √c .u2+v2−−−−−−√
Деякі речі, які слід врахувати. Ця схема може бути або не підходить для вашої програми залежно від того, який процес ви моделюєте. Ця схема є високодифузійною і підходить для дуже плавних потоків без різких градієнтів. Він також більш дифузний для коротших часових кроків. У 1-D випадку ви отримаєте майже точне рішення, якщо градієнти дуже малі, а якщо . У двовимірному випадку це неможливо, а дифузія - анізотропна.μ=1
Якщо ваша фізична система враховує ударні хвилі або високі градієнти іншого типу, вам слід вивчити диференціацію вищого порядку вищого рівня (наприклад, третього чи п'ятого порядку). Крім того, можливо, варто зазирнути до сімейства схем Frex Corrected Transport (Zalesak, 1979, JCP); антидифузійну корекцію за вказаною схемою Смоларкевичем (1984, JCP); Сімейство схем MPDATA Смоларкевича (1998, JCP).
Для розрізнення часу диференціація Ейлера в першому порядку може бути задовільною для ваших потреб. В іншому випадку розгляньте методи вищого порядку, такі як Ранге-Кутта (ітеративний), або Адамс-Башфорт і Адамс-Моултон (багаторівневі).
Варто було б ознайомитись з деяким підручником рівня випускників КЗР для підсумків вищезазначених схем та багато іншого.