Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
83
Добавлен:
17.04.2013
Размер:
228.86 Кб
Скачать

Решение задачи с помощью неявной разностной схемы

Рассмотрим снова краевую задачу. Для аппроксимации уравнения используем Т-образный пятиточечный шаблон. Уравнение аппроксимируется следующими уравнениями :

,

с погрешностью аппроксимации порядка . Обозначим g=/h и запишем это уравнение в виде удобном для применения метода прогонки:

(14)

Дополним это уравнение уравнениями аппроксимации начальных и граничных условий.

Аппроксимация 1-го начального условия даёт нам следующее:

(15)

Аппроксимация 1-го краевого условия (условие второго рода):

(16)

Для более точного аппроксимирования 2-го начального условия (с погрешностью порядка ) разложим функцию U(x,t) в окрестности точки (x,0) по формуле Тейлора:

.

Учитывая уравнение краевой задачи (1) и условие (2) и переходя к конечным разностям:

(17).

Эта формула отличается от аналогичной для явной схемы тем, что аппроксимация разностной производной второго порядка по x производится на первом слое, а не на нулевом. Запишем (17) к виду удобному для применения метода прогонки:

(18)

Используя формулы для аппроксимации 2-го краевого условия, полученнные для явной схемы имеем:

(9)

(12)

Преобразуем их к виду, удобному для использования метода прогонки:

(20)

(21)

Вычисление прогоночных коэффициентов.

Сначала найдем U(i,j) на слое j=1. Определим прогоночные коэффициенты. Учитывая 1-ое граничное условие и уравнение (18) получаем:

Теперь вычислим граничные прогоночные коэффициенты на том же слое:

Методом прогонки находим U(i,1) где i=1...m;

Теперь зная значения функции при j=0,1, мы можем найти U(i,j), где j=2...n.

Используя уравнение (17) и 1-ое граничное условие находим прогоночные коэффициенты:

Теперь вычислим граничные прогоночные коэффициенты:

Методом прогонки находим U(i,j), где i=1...m, j=2..n.

Далее приведена таблица значений функции для неявной схемы (временная ось разбита на 25 отрезков, а ось стержня на 10), поверхность функции, являющейся решением нашего дифференциального уравнения и полученная с помощью неявной разностной схемы (n=40; m=20), а также график 40 линий уровня (n=40; m=20).

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0400

0.0361

0.0323

0.0287

0.0253

0.0220

0.0189

0.0159

0.0132

0.0116

0.0240

0.0800

0.0724

0.0654

0.0590

0.0532

0.0481

0.0436

0.0399

0.0375

0.0407

0.0726

0.1200

0.1090

0.0992

0.0908

0.0838

0.0783

0.0743

0.0722

0.0737

0.0859

0.1179

0.1600

0.1458

0.1338

0.1242

0.1172

0.1127

0.1111

0.1131

0.1221

0.1450

0.1760

0.2000

0.1829

0.1692

0.1593

0.1533

0.1515

0.1543

0.1632

0.1826

0.2160

0.2449

0.2400

0.2203

0.2055

0.1961

0.1924

0.1947

0.2040

0.2226

0.2544

0.2967

0.3231

0.2800

0.2581

0.2427

0.2346

0.2344

0.2426

0.2606

0.2912

0.3362

0.3854

0.4092

0.3200

0.2961

0.2808

0.2750

0.2796

0.2953

0.3242

0.3685

0.4264

0.4806

0.5017

0.3600

0.3344

0.3198

0.3173

0.3279

0.3531

0.3947

0.4538

0.5233

0.5808

0.5996

0.4000

0.3730

0.3598

0.3616

0.3797

0.4159

0.4718

0.5456

0.6252

0.6850

0.7015

0.4400

0.4119

0.4008

0.4079

0.4349

0.4837

0.5547

0.6428

0.7306

0.7920

0.8064

0.4800

0.4512

0.4428

0.4564

0.4937

0.5562

0.6427

0.7436

0.8380

0.9009

0.9131

0.5200

0.4908

0.4860

0.5071

0.5558

0.6330

0.7344

0.8466

0.9463

1.0103

1.0204

0.5600

0.5309

0.5303

0.5599

0.6212

0.7132

0.8286

0.9503

1.0543

1.1193

1.1273

0.6000

0.5713

0.5757

0.6148

0.6892

0.7957

0.9238

1.0533

1.1608

1.2266

1.2325

0.6400

0.6123

0.6223

0.6715

0.7592

0.8795

1.0184

1.1543

1.2648

1.3312

1.3351

0.6800

0.6536

0.6699

0.7297

0.8304

0.9632

1.1112

1.2521

1.3650

1.4317

1.4338

0.7200

0.6954

0.7184

0.7887

0.9016

1.0453

1.2006

1.3455

1.4604

1.5273

1.5275

0.7600

0.7374

0.7673

0.8478

0.9718

1.1245

1.2855

1.4335

1.5498

1.6165

1.6152

0.8000

0.7795

0.8161

0.9061

1.0395

1.1992

1.3644

1.5147

1.6321

1.6985

1.6958

0.8400

0.8213

0.8642

0.9624

1.1033

1.2683

1.4363

1.5881

1.7060

1.7720

1.7682

0.8800

0.8625

0.9107

1.0155

1.1619

1.3302

1.5000

1.6526

1.7705

1.8360

1.8313

0.9200

0.9026

0.9546

1.0641

1.2139

1.3839

1.5541

1.7068

1.8244

1.8893

1.8840

0.9600

0.9410

0.9949

1.1069

1.2580

1.4279

1.5977

1.7498

1.8666

1.9308

1.9253

1.0000

0.9770

1.0305

1.1425

1.2927

1.4612

1.6295

1.7802

1.8959

1.9596

1.9540

А теперь сравним таблицы значений:

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

0.0000

-0.0001

-0.0011

0.0000

0.0000

-0.0001

-0.0001

-0.0001

-0.0001

-0.0001

-0.0001

-0.0002

-0.0010

-0.0042

0.0184

0.0000

-0.0002

-0.0003

-0.0003

-0.0003

-0.0003

-0.0004

-0.0009

-0.0032

-0.0018

0.0677

0.0000

-0.0005

-0.0006

-0.0007

-0.0007

-0.0007

-0.0010

-0.0024

-0.0053

0.0134

0.0677

0.0000

-0.0009

-0.0012

-0.0013

-0.0013

-0.0015

-0.0022

-0.0046

-0.0039

0.0438

0,1467

0.0000

-0.0015

-0.0020

-0.0022

-0.0023

-0.0027

-0.0042

-0.0069

0.0055

0.0848

0.1639

0.0000

-0.0021

-0.0030

-0.0034

-0.0037

-0.0046

-0.0069

-0.0069

0.0266

0.1273

0.1728

0.0000

-0.0029

-0.0043

-0.0050

-0.0056

-0.0072

-0.0097

-0.0014

0.0598

0.1622

0.1837

0.0000

-0.0039

-0.0059

-0.0070

-0.0082

-0.0105

-0.0110

0.0130

0.1009

0.1851

0.2034

0.0000

-0.0050

-0.0078

-0.0096

-0.0116

-0.0141

-0.0086

0.0384

0.1426

0.1981

0.2315

0.0000

-0.0062

-0.0101

-0.0128

-0.0156

-0.0167

0.0007

0.0739

0.1776

0.2082

0.2614

0.0000

-0.0077

-0.0128

-0.0166

-0.0199

-0.0167

0.0193

0.1153

0.2018

0.2225

0.2848

0.0000

-0.0093

-0.0159

-0.0210

-0.0237

-0.0115

0.0481

0.1561

0.2161

0.2440

0.2971

0.0000

-0.0112

-0.0194

-0.0256

-0.0254

0.0015

0.0854

0.1900

0.2258

0.2699

0.2997

0.0000

-0.0133

-0.0234

-0.0298

-0.0232

0.0239

0.1267

0.2137

0.2373

0.2941

0.2993

0.0000

-0.0157

-0.0274

-0.0324

-0.0145

0.0557

0.1662

0.2277

0.2544

0.3104

0.3028

0.0000

-0.0182

-0.0311

-0.0317

0.0026

0.0945

0.1985

0.2366

0.2766

0.3169

0.3134

0.0000

-0.0207

-0.0334

-0.0258

0.0292

0.1358

0.2208

0.2461

0.2991

0.3167

0.3289

0.0000

-0.0227

-0.0330

-0.0123

0.0643

0.1742

0.2339

0.2604

0.3162

0.3158

0.3434

0.0000

-0.0234

-0.0281

0.0100

0.1051

0.2050

0.2420

0.2795

0.3245

0.3197

0.3511

0.0000

-0.0219

-0.0166

0.0416

0.1471

0.2262

0.2504

0.3000

0.3250

0.3294

0.3506

0.0000

-0.0166

0.0031

0.0809

0.1852

0.2388

0.2630

0.3167

0.3223

0.3419

0.3453

0.0000

-0.0062

0.0320

0.1247

0.2155

0.2469

0.2804

0.3258

0.3218

0.3518

0.3415

0.0000

0.0108

0.0695

0.1683

0.2365

0.2554

0.2997

0.3270

0.3268

0.3552

0.3444

0.0000

0.0349

0.1134

0.2072

0.2497

0.2680

0.3163

0.3237

0.3362

0.3522

0.3552

Соседние файлы в папке mpm_8b