Порядок выполнения лабораторной работы. Рецензент: А.А. Викарчук – профессор, заведующий кафедрой «Нанотехнологий и новых материалов», д

РЕШЕНИЕ КРАЕВОЙ ЗАДАЧИ ДЛЯ УРАВНЕНИЯ ПАРАБОЛИЧЕСКОГО ТИПА РАЗНОСТНЫМ МЕТОДОМ

Тольятти 2010

УДК

ББК

М

Рецензент: А.А. Викарчук – профессор, заведующий кафедрой «Нанотехнологий и новых материалов», д. ф.-м.н.

Методические указания к лабораторной работе № 5 «Решение краевой задачи для уравнения параболического типа разностным методом», Сафронов А.И., 2010 – 10с.

Лабораторная работа предназначена для ознакомления студентов с разностным методом решения краевой задачи для уравнения параболического типа c граничными условиями 2-го рода.

УДК

ББК

©Тольяттинский государственный университет, 2010

©Авторы пособия

Цель работы: усвоить численный метод решения начально - краевой задачи для уравнения параболического типа

Приборы и принадлежности: миллиметровая бумага.

ТЕОРЕТИЧЕСКИЙ МАТЕРИАЛ

Рассмотрим смешанную задачу для однородного уравнения теплопроводности. Задача состоит в отыскании функции и (х, t), удовлетворяющей в областиD ={ (х, t)|0 < х < а,0 <t < Т}уравнению (1) начальному условию u(x,t) = f(x) (2) и краевым условиям третьего рода

. (3)

К задаче (1)—(3) приводит, а частности, задача о распространении тепла в однородном стержне длины а, на левом конце которого задаётся тепловой поток в стержнь (q), а правый конец теплоизолирован.

В данной лабораторной работе рассматриваются краевые условия второго рода. Замена переменных t → kt приводит уравнение (1) к виду

поэтому вдальнейшем будем считать k=1.

Построимв области D = { (х, t) )|0 < х < а, 0 <t < Т}равномерную прямоугольную сетку а шагом h в направлении х и шагом τ — в направлении t (рис. 1). Обозначимузлы cетки через (x1,t1), …(xi,tj), …, а приближенные значения функции u(x, t) в узлах – uij. Тогда xi=ih, i=0,1,…,n, h=a/n, tj= jτ, j=0,1,…,m, τ=T/m.

Аппроксимируем уравнение (1) на четырехточечном шаблоне, который изображен на рис. 1 жирными линиями. В результате получаем неявную двухслойную разностную схему:

λui+1,j — (1+2λ)ui, j + λui-1,j = – ui,j –1 (4)


которая аппроксимирует уравнение (1) с погрешнос тью О(τ + h2). Здесь λ = τ / h2.

Рис. 1 Рис. 2

Схема (4) аппроксимирует уравнение (1) только во внутренних узлах сетки, поэтому число уравнений в схеме (4) меньше числа неизвестных uij. Недостающие уравнения получают из краевых условий

. ( 5 )

Схема (4)—(5) неявная, поэтому значения uij находят как решение системы линейных уравнений (4). Для решения системы (4) можно применять любой алгоритм решения систем линейных уравнений, однако система (4) обладает трехдиагональной матрицей и рациональнее всего решать ее методом прогонки. Таким образом, решив систему разностных уравнений, найдем значения функции и на временном слое j, если известно решение на временном слое j – 1.

Итак, алгоритм численного решения задачи имеет следующий вид. На нулевом временном слое (j = 0) решение известно из начального условия ui0 = f (xi). На каждом следующем слое искомая функция определяется как решение системы (4)—(5).

Метод прогонки

Уравнение (4) в общем виде записывается

ai ui-1 — 2bi ui + ci ui+1 = fi , i= 1, 2, … , n-1 (6)

на левой границе области

c0u1 – 2b0u0 = f0 (7)

на правой границе области

aNuN-1-2bNuN=fN. (8)

Имеем u0, u1 , u2 ,...

Будем искать решение в виде:

ui-1iui+Qi( * )

u0=c0/2b0·u1+(-f0/2b0) (9)

Р1 = c0 /2b0 , Q1 = - f0 / 2b0 ;

Для всех остальных Рi , Qi получим рекуррентные формулы, подставив (*) в (6):

aii ui + Qi) — 2bi ui + ci ui+1 = fi ,

(ai Рi –2bi ) ui + ci ui+1 = fi – ai Qi

ui =

ui = Рi+1ui+1 + Qi+1 ,

Если известны Р1, Q1, то можно найти Р2, Q2, и т.д.

uN-1 = PN uN +Q N ;

uN-1 = 2bN /aN ·uN + fN /aN ;

Имеем систему двух уравнений.

Отсюда: uN =

Зная uN по формуле (*) вычисляем все uiот i = N-1 до 0.

Таким образом, находятся все ui на верхнем слое.

Замечательным свойством неявной схемы (4) является ее устойчи­вость при любых значениях параметра λ = τ / h2 > 0. Преимущества схемы (4) особенно ощутимы при сравнении с явной схемой, которая
получается при аппроксимации уравнения (1) на шаблоне, изображен­ном на рис. 2.

Явная схема оказывается устойчивой только при λ < 1/2, т. е. при τ < h2 /2. Это означает, что вычисления по явной схеме придется вести с очень малым шагом по τ, что конечно может привести к большим за­тратам машинного времени. В неявной схеме вычисления на одном шаге требуют больше операций, чем в явной схеме, но зато величину шага τ можно выбирать, как угодно большой без риска нарушить устойчивость схемы. Все это позволяет значительно уменьшить машинное время, необходимое для решения задачи. Схема (4) обладает сходимостью. Это означает, что при h, τ → 0 решение разностной задачи (4) — (5) стремится к точному решению смешанной задачи (1)—(3).

Для численного решения задачи (1)—(3) предназначе на подпрог­рамма CALC.

Подпрограмма CALC решает систему (4) методом прогонки и вычисляет решение на каждом слое по значениям решения с предыдущего слоя.

Входные параметры: НХ — шаг сетки h по переменной х; НТ — шаг сетки τего переменной t; N — количество шагов сетки по х; U — массив из N + 1 чисел, содержащий перед обращением к CALC начальное значение решения в узлах первого слоя сетки; Р, Q — рабочие массивы из N — 1 чисел каждый /это прогоночные коэффициенты/.

Выходные параметры: U — массив из N + 1 чисел (он же входной), содержащий значение решения в узлах очередного временного слоя сетки.

Перед обращением к программе CALC необходимо:

1)описать массивы U, P, Q:

2)присвоить значения параметрам НХ, НТ, N;

3)присвоить элементам U начальное значение решения в узлах первого слоя сетки.

Задание. Используя программу CALC, решить краевую зада­чу с граничными условиями 2-го рода для однородного уравнения теплопроводности в области D = { (х, t)|0 < х < а, 0 <t < Т}.Результаты печатать на каждом временном слое.

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

1.Составить основную программу, содержащую цикличес кое обращение к подпрограмме решения параболического уравнения CALC с печатью результатов на каждом шаге. Образец дан в приложении1.

2. Составить подпрограмму CALC решения параболичес кого уравнения методом прогонки.

3. Составить подпрограмму - функцию, вычисляющую значение функции F(x) для начального значения u( x, 0 ).

4. Провести вычисления на компьютере.

5. Результаты решения нанести на мимиллиметровку в виде графика изменения функции u по времени.

Примечание: для более плавного поведения функции увеличить начальное количество точек разбиения отрезка X [ 0 , 1 ] в два раза.

Варианты заданий

Решить краевую задачу для уравнения теплопровод ности с начальным условием u(х, 0) = f (х)и граничными условиями . Во всех вариантах q=1000, Ψ=100, α = 100.

РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА

1. А.А.Самарский, А.В.Гулин. Численные методы. М.: Главная ред. Физ.- мат. лит. - 1989 г., 430 с.

2. Бахвалов Н.С. Численные методы / Н. С.Бахвалов, Н. П. Жидков, Г.М. Кобельков. – изд.4-е; Гриф МО. – М.: Бином. Лаборатория знаний. 2006 г. – 636 с.

Приложение1

Листинг основного блока программы на Pascal

program PAR_5;

const ht=0.02;

n=10;

hx=1/n;

var j,i,i1,N1,N2:integer;

x,y,t,T1,al,B1,A1:real;

u:array [0..n] of real;

P:array [0..n] of real;

Q:array [0..n] of real;

XP:array [0..n] of real;

begin

XP[0]:=0.0;

XP[10]:=1.0;

u[0]:=10;

u[10]:=20;

T1:=9*HT;

T:=0;

for i:=1 to n do

begin

x:=i*HX;XP[i]:=x;

u[i]:=f(x);

end;

writeln(T:8:5);

for i:=0 to n do write(u[i]:6:3);

writeln;

for j:=1 to 40 do

begin

calc; T:=T+HT;

if (T>T1) then begin writeln(T:8:5);

for i:=0 to n do write(u[i]:6:3);

writeln;

T1:=T1+10*HT;end;

end;

end.

Методические указания

по выполнению лабораторной работы № 5

Наши рекомендации