Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЧМ (МП-3) / Курсовые / mpm_8a / Курсовая(вар.8).doc
Скачиваний:
99
Добавлен:
17.04.2013
Размер:
444.93 Кб
Скачать

Порядок выполнения работы

Классификация краевой задачи.

Линейное дифференциальное уравнение второго порядка такого вида относится к уравнениям гиперболического типа. Данное уравнение описывает колебание струны в зависимости от времени. Здесь переменная у имеет физический смысл времени, поэтому в дальнейшем будет рассматриваться такая задача:

где и.

Первая краевая задача для уравнения колебания струны состоит в поиске решения уравнения, удовлетворяющего начальному и граничным условиям.

В данной задаче начальные и граничные условия имеют следующий смысл:

Начальные условия (в начальный момент времени t=0):

задаёт форму струны.

задаёт распределение скоростей.

Граничные условия:

означает, что по такому закону движется левый конец струны.

- вид граничного условия третьего рода на правом конце отрезка.

- плотность внешней силы, рассчитанная на единицу длины.

Явная разностная схема

j+1 i i+1

j

j-1

Рис.1

Для сведения задачи к явной разностной схеме используем шаблон «крест», изображённый на рисунке 1.

Конечно-разностная схема для данной задачи имеет вид:

с погрешностью аппроксимации порядка .

Обозначим и выразимчерез остальные значения сеточной функции, входящие в уравнение:

(3)

Для того чтобы система стала полностью определённой, дополним её уравнениями, полученными из аппроксимации краевых и начальных условий:

(4)

(5)

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

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

.

Перейдём к конечным разностям, записываемым в узле (i,1) (т.е. на первом временном слое): . (6)

Данная формула используется на начальном этапе для вычисления значения функции U(x,t) на первом слое, по известным значениям функции на нулевом слое и на границе.

Принимая во внимание (4): . (7)

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

Используя уравнение краевой задачи (1) и условие (2) получаем:

Перейдя к конечным разностям, записываемым в узле (M-1,j), получаем:

(8)

Выразим из (8) :

(9)

Подставляя в (8) j=0 и учитывая (4), получаем: (10)

Подставляя далее в (6) i=M и учитывая (4), получаем:

(11)

Из (3) при i=M, j=0, получим:

Учитывая (4) и подставляя сюда (11) и (10), находим:

(12)

Объединяя полученные результаты, получаем аппроксимацию краевого условия третьего рода, т.е. значение функции на границе i=M, в явном виде:

Текст функции, вычисляющий матрицу решения размерностью MxN, приведены в Приложении.

Устойчивость решения.

Для уравнений гиперболического типа метод спектральных гармоник приводит к следующему условию устойчивости:

,

т.е. если это условие устойчивости не будет выполнено, то в процессе рекуррентного решения возможно накапливание ошибок от слоя к слою. Отсюда, в частности, получаем для явной схемы () условие устойчивости Куранта-Леви:

.

Итак, U(i,j) при j=0 и j=1 определены. Включается рекуррентная процедура описываемая уравнением (3) и вычисляется U(i,j) для всех i=1,2,...,M-1, для каждого фиксированного j=2,...,N-1. Далее приведена таблица значений функции для явной схемы (N=25,M=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.0131

0.0105

0.0240

0.0800

0.0723

0.0653

0.0589

0.0531

0.0480

0.0435

0.0397

0.0365

0.0365

0.0909

0.1200

0.1087

0.0989

0.0905

0.0835

0.0780

0.0739

0.0713

0.0705

0.0840

0.1856

0.1600

0.1453

0.1331

0.1235

0.1165

0.1120

0.1101

0.1108

0.1168

0.1584

0.2901

0.2000

0.1820

0.1680

0.1580

0.1520

0.1500

0.1520

0.1586

0.1786

0.2598

0.3916

0.2400

0.2189

0.2035

0.1939

0.1901

0.1920

0.1998

0.2157

0.2599

0.3815

0.4870

0.2800

0.2559

0.2397

0.2313

0.2307

0.2380

0.2537

0.2843

0.3628

0.5128

0.5820

0.3200

0.2931

0.2765

0.2701

0.2739

0.2881

0.3145

0.3671

0.4862

0.6428

0.6855

0.3600

0.3305

0.3139

0.3103

0.3197

0.3425

0.3836

0.4668

0.6241

0.7659

0.8030

0.4000

0.3680

0.3520

0.3520

0.3681

0.4018

0.4632

0.5841

0.7678

0.8831

0.9330

0.4400

0.4057

0.3907

0.3951

0.4194

0.4669

0.5554

0.7167

0.9082

1.0003

1.0677

0.4800

0.4435

0.4301

0.4398

0.4738

0.5395

0.6620

0.8589

1.0398

1.1234

1.1978

0.5200

0.4815

0.4701

0.4861

0.5322

0.6215

0.7826

1.0027

1.1624

1.2543

1.3175

0.5600

0.5197

0.5108

0.5343

0.5957

0.7146

0.9140

1.1403

1.2801

1.3892

1.4270

0.6000

0.5580

0.5523

0.5850

0.6660

0.8196

1.0505

1.2669

1.3981

1.5207

1.5319

0.6400

0.5966

0.5949

0.6391

0.7447

0.9352

1.1847

1.3820

1.5192

1.6415

1.6379

0.6800

0.6354

0.6389

0.6980

0.8330

1.0577

1.3097

1.4887

1.6416

1.7486

1.7472

0.7200

0.6747

0.6850

0.7630

0.9308

1.1811

1.4214

1.5917

1.7595

1.8439

1.8565

0.7600

0.7147

0.7343

0.8355

1.0361

1.2987

1.5194

1.6938

1.8660

1.9324

1.9586

0.8000

0.7561

0.7880

0.9161

1.1446

1.4043

1.6065

1.7942

1.9566

2.0181

2.0469

0.8400

0.7995

0.8476

1.0040

1.2504

1.4944

1.6868

1.8882

2.0310

2.1014

2.1188

0.8800

0.8459

0.9138

1.0964

1.3471

1.5690

1.7630

1.9693

2.0928

2.1778

2.1766

0.9200

0.8965

0.9866

1.1888

1.4294

1.6308

1.8345

2.0326

2.1463

2.2410

2.2255

0.9600

0.9518

1.0645

1.2752

1.4944

1.6833

1.8974

2.0767

2.1934

2.2860

2.2697

1.0000

1.0119

1.1439

1.3497

1.5424

1.7292

1.9457

2.1039

2.2322

2.3118

2.3092

График, иллюстрирующий решение

Линии уровня

Неявная разностная схема

Для аппроксимации используем Т-образный пятиточечный шаблон:

Уравнение аппроксимируется следующей системой разностных уравнений:

с

(13)

погрешностью аппроксимации.

Обозначим и запишем (13) следующим образом:

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

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

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

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

.

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

. (14)

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

(15)

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

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

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

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

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

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

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

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

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

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

Далее приведена таблица значений функции для неявной схемы (N=25, N=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

График, иллюстрирующий решение

Линии уровня

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