Начальное условие:
Граничные условия:
Начальное условие на сетке:
Левое граничное условие (ЛГУ):
Правое граничное условие (ПГУ) — аппроксимация производной:
┌─────────────────────────────────────────────────────────┐
│ Задание начальных условий: │
│ u_j^0 = e^{(j-1)h}, цикл j = 1, j ≤ Nx, j++ │
└──────────────────┬──────────────────────────────────────┘
↓
┌─────────┐
│ n = 0 │
└────┬────┘
↓
╔═══════╧═══════╗
║ n < N_t ? ║◄──────────────────────────┐
╚══════╤════════╝ │
да ↓ ╚══ нет → (Конец) │
↓ │
┌─────────────────────────────────────────────────────┐│
│ Цикл j = 2, j ≤ Nx−1, j++ ││
│ u_j^{n+1} = u_j^n + (2Δt/h²)·Λ_xx^n ││
│ + (e^{nΔt} + e^{(j-1)h})·Δt ││
└──────────────────┬──────────────────────────────────┘│
↓ │
┌──────────────────────────────────────┐ │
│ Расчёт левой точки из ЛГУ: │ │
│ u_1^{n+1} = e^{(n+1)Δt} + 1 │ │
└──────────────────┬───────────────────┘ │
↓ │
┌──────────────────────────────────────────────────────┐│
│ Расчёт правой точки из ПГУ: ││
│ u_{Nx}^{n+1} = u_{Nx−1}^{n+1} + h·(e^{(n+1)Δt}+2,7)││
└──────────────────┬───────────────────────────────────┘│
↓ │
┌─────────┐ │
│ n++ │───────────────────────────────┘
└─────────┘
Граничные условия:
Начальное условие:
ЛГУ — производная первого порядка:
ПГУ — условие первого рода:
Начальное условие:
Граничные условия (условия Неймана):
Из рекуррентного прогоночного соотношения $u_{j-1}^{n+1} = \alpha_{j-1}\,u_j^{n+1} + \beta_{j-1}$ подстановкой получаем:
Рекуррентное прогоночное соотношение:
Сравниваем с $u_1^{n+1} = \alpha_1\,u_2^{n+1} + \beta_1$:
Подставляем $u_{N-1}^{n+1} = \alpha_{N-1}\,u_N^{n+1} + \beta_{N-1}$:
Для данной задачи:
┌──────────────────────────────────────────────────────────┐
│ Задание начальных условий: │
│ u_j^0 = [(j-1)h]^2, цикл j = 1, j ≤ Nx, j++ │
└───────────────────┬──────────────────────────────────────┘
↓
┌──────────┐
│ n = 0 │
└────┬─────┘
↓
╔════════╧════════╗
║ n < N_t ? ║◄──────────────────────────────┐
╚═══════╤═════════╝ │
да ↓ ╚═══ нет → (Конец) │
↓ │
┌──────────────────────────────────────────────────────────┐ │
│ Определяем α₁, β₁ из ЛГУ: │ │
│ u₁^{n+1} = u₂^{n+1} ⟹ α₁ = 1, β₁ = 0 │ │
└───────────────────┬──────────────────────────────────────┘ │
↓ │
┌──────────────────────────────────────────────────────────┐ │
│ Прямой ход: цикл j = 2, j ≤ Nx−1, j++ (слева направо) │ │
│ Расчёт: a_j, b_j, c_j, ζ_j^n │ │
│ α_j = −a_j / (b_j + c_j·α_{j-1}) │ │
│ β_j = (ζ_j^n − c_j·β_{j-1}) / (b_j + c_j·α_{j-1}) │ │
└───────────────────┬──────────────────────────────────────┘ │
↓ │
┌──────────────────────────────────────────────────────────┐ │
│ Расчёт правой точки из ПГУ: │ │
│ u_{Nx}^{n+1} = (2h + β_{Nx-1}) / (1 − α_{Nx-1}) │ │
└───────────────────┬──────────────────────────────────────┘ │
↓ │
┌──────────────────────────────────────────────────────────┐ │
│ Обратный ход: j = Nx−1, j ≥ 1, j−− (справа налево) │ │
│ u_j^{n+1} = α_j · u_{j+1}^{n+1} + β_j │ │
└───────────────────┬──────────────────────────────────────┘ │
↓ │
┌──────────┐ │
│ n++ │────────────────────────────────────┘
└──────────┘
Уравнение:
Начальное условие:
Граничные условия:
Задания:
Кликните по схеме, чтобы открыть в полном размере. Все схемы курса собраны на странице «Блок-схемы».