Главная
Обратная связь
Дисциплины:
|
Лабораторная работа №1. Исследование разностных схем задачи переноса
В лабораторной работе рассматривается одномерная задача переноса
ut +a(x,t) ux(x,t) = f(x,t), 0< x <1, 0< t, a(x,t)>0,
u(x,0) = j(x), 0£ x £1, u(0,t) = g(t), 0< t.
Исследуем разностные схемы «левый явный уголок», «левый неявный уголок», «квадрат», схему Лакса, «крест», соответствующие шаблонам №1, 3, 5, 6, 11 таблицы 3. Примем за исходные следующие значения шагов и предельные значения индексов по пространству и времени
h = 0,05, t = 0,02, M = 20, K = 50.
Схема «левый явный уголок»
Разностная схема «левый явный уголок» (пример 2.1) приводит к вычислительному процессу
, 0£ m £ M,
, 1< m £ M,
где xm = mh, tk = kt, 0£ k £ K–1.
Реализуем вычисления в виде электронной таблицы Excel, приведенной в таблице 4
Таблица 4. Разностная схема «левый явный уголок»
| A
| B
| C
| D
| E
| F
| G
| …
| V
| W
|
|
|
|
|
|
|
|
| …
|
|
|
|
| Задача переноса
| …
|
|
|
|
| Схема «левый явный уголок»
| …
|
|
|
| h=
| 0,05
|
|
|
|
|
| …
|
|
|
| t=
| 0,02
|
|
|
|
|
| …
|
|
|
| r=
| t/h
|
|
|
|
|
| …
|
|
|
| k
| tk\xm
| x0
| x1
| x2
| x3
| x4
| …
| x19
| x20
|
|
| t0
|
|
|
|
|
| …
|
|
|
|
| t1
|
|
|
|
|
| …
|
|
|
|
| t2
|
|
|
|
|
| …
|
|
| Ячейки A4:A7, B7 содержат текстовые подписи, B4, B5, B6 – исходные константы. Для занесения констант выделяем блок A4:B9 и вводим последовательно значения
h=; t=; r=; k=; 0; =A8+1; 0,05; 0,02; =B5/B4; tk\xm; 0; =B8+B4.
Здесь знак «;» означает нажатие клавиши Enter. Поскольку при нажатии Enter курсор перемещается в пределах выделенного блока по столбцам, осуществляется ввод в таблицу размером 6´2. Для ввода адреса ячейки достаточно щелкнуть мышью. Для исправления ошибки, обнаруженной после нажатия клавиши Enter, достаточно, нажимая Enter, выполнить полный проход по блоку до возвращения в ячейку.
Ячейки A4:A6 выравниваем по правому краю, B4:B6 – по левому краю, A7:B9 – по центру. Для установки стиля «нижний индекс» используем комбинацию клавиш
Формат ® Ячейки ® Шрифт
и ставим галочку в окне «нижний символ».
Производим заполнение электронной таблицы.
C7=0, D7=C7+$B$4,
C8=j(C7), C8 Þ D8, C9=g($B9),
D9=D8+$B$5*f(D$7;$B8) - (D8 - C8)*$B$6*a(D$7;$B8),
где j(x), g(t), f(x,t), a(x,t) – функции, определяемые задачей.
D7:D9 Þ W7:W9, A9:W9 Þ A58:W58.
Схема «левый неявный уголок»
Разностная схема «левый неявный уголок» приводит к вычислительному процессу (пример 2.2)
, 0£ m £ M,
, 0£ k £ K–1,
, 1< m £ M.
Составим систему команд
A7:W9-,` ¯AA7,
AD9=AC9+( $B$5*f(AD$7;$B9)+AD8 -
AC9)/(1+ $B$6*a(AD$7;$B9)).
Внесем название схемы. Получим электронную таблицу 5.
Таблица 5. Разностная схема «неявный уголок»
| AA
| AB
| AC
| AD
| AE
| …
| AW
|
| k
| tk\xm
| x0
| x1
| x2
| …
| x20
|
|
| t0
|
|
|
| …
|
|
|
| t1
|
|
|
| …
|
|
Решение задачи завершается операциями
AD9 Þ AW9, AA9:AW9 Þ AA58:AW58.
Разностная схема «квадрат»
Разностная схема «квадрат» (пример 2.6) приводит к системе уравнений
, 0£ m £ M,
, 0£ k £ K–1, 1< m £ M,
+ .
Реализуем вычислительный процесс.
AA7:AW8-,` ¯BA7,
BC7:BW7 ® BC6:BW6-,` ¯BC7,
BD7= $B4/2, BB8 = -$B5/2.
BD9=BC9 - BD8+BC8+2*($B$5*f(BD$7;$BB9)+BD8 - BC9)/
(1+$B$6*a(BD$7;$BB9)).
Вставим название схемы. Получим электронную таблицу 6.
Таблица 6. Разностная схема «квадрат»
| BA
| BB
| BC
| BD
| BE
| …
| BW
|
|
|
| x0
| x1
| x2
| …
| x20
|
| k
| tk\xm
|
| h/2
| x3/2
| …
| x39/2
|
|
| -t/2
|
|
|
| …
|
|
|
| t1/2
|
|
|
| …
|
|
Решение задачи по схеме «квадрат» завершается операциями
BD9 Þ BW9, BA9:BW9 Þ BA58:BW58.
Схема Лакса
Разностная схема Лакса (пример 2.8) приводит к вычислительному процессу
, 0£ m £ M,
,
,
,
+ ,
0< m < M, 0< k < K.
Составим систему команд
BA6:BW8-,` ¯CA6, A9:D9-,` ¯CA9:CD9,
CA9=CA8+0,5, CB8=0, СB9=CB8+$B5/2, CC9=g(CB9),
СD9 = 0,5*( CC8+СD8+$B$5*f(СD$7;$CB8) -
(СD8 - СC8)*$B$6 *a(СD$7;$CB8)),
CA9:CD9 Þ CA10:CD10, CC9 Del,
СD10 = 0,5*(CE9+СD9+$B$5*f(СD$6;$CB9) -
(СE9 - СD9)*$B$6*a(СD$6;$CB9)).
CD9:CD10-,` ¯CW9:CW10,
CW10=2*CW9 - CW8+( $B$5*f(CD$6;$CB9)
+2*(CW8 - CW9))/(1+ $B$6*a(CD$6;$CB9)),
Вставим название схемы. Получим электронную таблицу 7.
Таблица 7. Разностная схема Лакса
| CA
| CB
| CC
| CD
| CE
| …
| CV
| CW
|
|
|
| x0
| x1
| x2
| …
| x20
| x0
|
| k
| tk\xm
|
| h/2
| x3/2
| …
| x39/2
|
|
|
|
|
|
|
| …
|
|
|
| 0,5
| t/2
|
|
|
|
|
|
|
|
| t1
|
|
|
|
|
|
|
Решение задачи по схеме Лакса завершается операциями
CA9:CW10-,` ¯CA11, ` ¯CA13, ` ¯CA15, ` ¯CA17,
CA9:CW18-,` ¯CA19, ` ¯CA29, ` ¯CA39, ` ¯CA49,
CA9:CW58-,` ¯CA59.
Схема «крест»
Разностная схема «крест» (пример 2.7) приводит к системе уравнений
, 0£ m £ M,

, 0< k < K,
, 0< m < M,
.
Реализуем вычислительный процесс.
СA6:СW11-,` ¯DA6,
DD8áj(DD6)ñ-,` ¯DD9áj(DD7)+0,5*($B$5*f(DD$6;$CB8) -
(DD8 - DC9)*$B$6*a(DD$6;$CB8))ñ,
DD10= DD8+$B$5*f(DD$6;$CB9) -
(DE9 - DD9)*$B$6*a(DD$6;$CB9) ,
DD11= DD9+$B$5*f(DD$7;$CB10) -
(DD10 - DC10)*$B$6*a(DD$7;$CB10) .
Вставим название схемы. Получим электронную таблицу 8.
Таблица 8. Разностная схема «крест»
| DA
| DB
| DC
| DD
| DE
| …
| DV
| DW
|
|
|
|
| x1/2
| x3/2
| …
| x37/2
| x39/2
|
| k
| tk\xm
| x0
| x1
| x2
| …
| x19
| x20
|
|
|
|
|
|
| …
|
|
|
| 0,5
| t1/2
|
|
|
| …
|
|
|
|
| t1
|
|
|
| …
|
|
|
| 1,5
| t3/2
|
|
|
| …
|
|
|
Решение задачи по схеме «крест» завершается операциями
DD9:DD11 Þ DW9:DW11,
DW10=DV10+DV8 - DW8+2*($CB$9*f(DW$7;$CB9)
+DW8- DV8)/(1+$B$6*a(DW$7;$CB9)),
DA10:DW11-,` ¯DA12, ` ¯DA14, ` ¯DA16, ` ¯DA18,
DA10:DW19-,` ¯DA20, ` ¯DA30, ` ¯DA40, ` ¯DA50,
DA9:DW58-,` ¯DA60.
При значениях t из диапазона {0,2; 0,4; 0,6; 0,8; 1} сравним результаты расчетов, полученных по разным схемам. При t = 0,02 выберем из таблиц соответствующие значения и поместим в таблицу 9. Туда же поместим начальное значение. Выполним операции
A62:A64= {-1; 0; 10}, A65=A64+A$65, A65 Þ A68,
B62=OFFSET(B$9;$A62;0), B62 Þ W62,
B62:W62 Þ B68:W68.
Результаты расчета по схеме «явный левый уголок», включая начальное значение и строку аргументов xm, скопированы в таблицу 9. Для копирования значений из таблицы «неявный левый уголок» в ячейку A69 заносим 10, и повторяем операции
A70=A70+A$70, A70 Þ A74,
B69=OFFSET(AB$69;$A70;0), B69 Þ W69,
B69:W69 Þ B73:W73,
причем команду OFFSET достаточно копировать и исправить добавлением подчеркнутого символа A.
Таблица 9. Данные для построения диаграммы
| A
| B
| C
| D
| E
| F
| G
| …
| V
| W
|
|
| Диаграмма задачи переноса
| …
|
|
|
| -1
| t\x
| x0
| x1
| x2
| x3
| x4
| …
| x19
| x20
|
|
|
|
|
|
|
|
| …
|
|
|
|
| 0,2
|
|
|
|
|
| …
|
|
|
|
| 0,4
|
|
|
|
|
| …
|
|
| …
| …
| …
| …
| …
| …
| …
| …
| …
| …
| …
|
|
|
|
|
|
|
|
| …
|
|
|
|
| 0,2
|
|
|
|
|
| …
|
|
|
|
| 0,4
|
|
|
|
|
| …
|
|
|
Аналогично переносятся значения из других таблиц. Для схем Лакса и Кранка – Николсона начальное значение 10 заменяется 20.
Столбец B при копировании значений из таблицы «квадрат» придется исправить
B74= OFFSET(B$9;$A74;0), B74 Þ W78.
Полная таблица занимает блок A62:W88 (без заголовка). Для построения диаграммы выделим B62:W88 и нажмем кнопку «Мастер диаграмм» или
Вставка ® Вставить диаграмму.
Построение диаграммы выполняется в 4 шага и сопровождается последовательным открыванием окон. В первом открывшемся окне выбираем тип диаграммы (линии ® только линии). После команды «Далее» во втором окне устанавливаем флажки
«Ряды в строках»,
«Первая строка как надпись»,
«Первый столбец как надпись».
Третье окно можно пропустить. В четвертом окне вносим заголовок диаграммы «Задача переноса» и подписи осей X и U.
Готовую диаграмму растягиваем до размера ¾ экрана по высоте и ширине. Для редактирования диаграммы после щелчка правой кнопкой мыши следует выбрать «Правка».
|