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

Численное решение уравнений математической физики в интегрированной среде Mathcad (110

..pdf
Скачиваний:
19
Добавлен:
15.11.2022
Размер:
724.61 Кб
Скачать

Министерство образования и науки Российской Федерации Волгоградский государственный архитектурно-строительный университет

Численное решение уравнений математической физики

в интегрированной среде Маthcad

Методические указания к лабораторным работам по дисциплине «Специальные разделы высшей математики»

Составитель Н.А. Михайлова

© Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Волгоградский государственный архитектурностроительный университет», 2012

Волгоград

ВолгГАСУ

2012

1

УДК 517.5:004.42(076.5)

Численное решение уравнений математической физики в интегрированной среде Mathcad [Электронный ресурс] : методические указания к лабораторным работам по дисциплине «Специальные разделы высшей математики» / М-во образования и науки Росс. Федерации, Волгогр. гос. архит.- строит. ун-т ; сост. Н.А. Михайлова. – Электронные текстовые и графические данные (0,5 Мбайт). – Волгоград : ВолгГАСУ, 2012. – Учебное электронное издание комбинированного распространения : 1 СD-диск. – Систем. требова-

ния: PC 486 DX-33; Microsoft Windows XP; 2-скоростной дисковод СD-ROM; Adobe Reader 6.0. – Официальный сайт Волгоградского государственного ар- хитектурно-строительного университета. Режим доступа: http://www.vgasu.ru/publishing/on-line/ – Загл. с титул. экрана.

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

Для магистров направления «Строительство» очной формы обучения.

УДК 517.5:004.42(076.5)

Нелегальное использование продукта запрещено

2

ОГЛАВЛЕНИЕ

 

1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ……..………………………………………

4

1.1.Введение…………………………………..

4

1.2.Сетки и сеточные функции ………………………………………... 6

1.3.Аппроксимация простейших дифференциальных операто-

ров…………………………………………………………………………

7

1.4. Разностная задача……………………………………………………

11

1.5. Устойчивость……………………………………………………..

12

2ЛАБОРАТОРНЫЕ РАБОТЫ…………………………............................ 15

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

рованной среде Mathcad……..................................................................... 15

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

ванной среде Mathcad……...............................................................……

21

2.3.Лабораторная работа 3. Решение задачи Дирихле для уравнения Лапласа методом конечных разностей в интегрированной среде

Mathcad…….............................………………………………………….... 26

2.4.Содержание отчета…………………………………………………... 34

2.5.Список рекомендуемой литературы…………………………..……. 34

2.6.Приложение…………………………………….................................. 35

3

Цель лабораторных работ - изучение численных методов решения уравнений математической физики, выработка навыков применения этих методов в решении конкретных задач, умения оценить полученные результаты и выбрать наилучший метод.

1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

1.1. Введение

Многие задачи математической физики приводят к дифференциальным уравнениям с частными производными. Наиболее часто встречаются дифференциальные уравнения 2-го порядка.

Уравнением с частными производными 2-го порядка с двумя независимыми переменными х, у называется соотношение между неизвестной функцией и(х, у) и ее частными производными до 2-го порядка включительно:

F(x, y,u,ux ,uy ,uxx ,uxy ,uyy ) = 0.

Мы пользуемся следующими обозначениями для производных:

u

 

=

u

,

u

 

=

u

, u

 

=

2u

,

u

 

=

2u

,

u

 

=

2u .

 

x

 

y

 

x2

 

xy

 

 

x

 

 

 

y

 

 

xx

 

 

 

xy

 

 

 

yy

 

y2

Аналогично записывается уравнение и для большего числа независимых переменных.

Уравнение называется линейным относительно старших производных, если оно имеет вид

a11uxx + 2a12uxy + a22uyy

+ F1 (x, y,u,ux ,uy ) = 0,

(1.1)

где a11 , a12 , a22 являются функциями х и у.

 

Если коэффициенты a11 ,

a12 , a22 зависят не только от х и у, а являются,

подобно F1, функциями х, у,

и, их, иy,

то такое уравнение называется квази-

линейным.

 

 

 

Уравнение называется линейным, если оно линейно как относительно старших производных ихх, uху, иуу, так и относительно функции u и ее первых

производных их, иy :

a11uxx + 2a12uxy + a22uyy +b1ux +b2uy +cu + f = 0,

где a11 , a12 , a22 , b1, b2, c, f — функции только х и у. Если коэффициенты –

уравнения (2) не зависят от х и у, то оно представляет собой линейное уравнение с постоянными коэффициентами. Уравнение называется однородным,

если f(х, у) = 0.

В зависимости от знака выражения a2

a a

22

уравнение (1.1) называет-

12

11

 

ся в точке M области D(x,y) уравнением:

гиперболического типа, если в точке M a122 a11a22 > 0, эллиптического типа, если в точке M a122 a11a22 < 0 , параболического типа, если в точке M a122 a11a22 = 0 .

4

Уравнения с частными производными 2-го порядка гиперболического типа наиболее часто встречаются в физических задачах, связанных с процессами колебаний. Простейшее уравнение гиперболического типа

utt = a2uxx или uxx uyy = 0 , (y = at)

обычно называют уравнением колебаний струны. К гиперболическим уравнениям приводят уравнение электрических колебаний в проводах, поперечные колебания мембраны, уравнения гидродинамики и акустики.

Уравнения с частными производными 2-го порядка параболического типа наиболее часто встречаются при изучении процессов теплопроводности и диффузии. Простейшее уравнение параболического типа

ut = a2uxx или uxx uy = 0 , (y = a2t),

обычно называют уравнением теплопроводности.

При исследовании стационарных процессов различной физической природы (колебания, теплопроводность, диффузия, и др. ) обычно приходят к уравнениям эллиптического типа. Наиболее распространенным уравнением

этого типа является уравнение Лапласа

u = 0.

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

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

Рассмотрим простейшую задачу о поперечных колебаниях струны, закрепленной на концах. В этой задаче и(х,t) даст отклонение струны от оси х. Если концы струны x = 0 и x = l закреплены, то должны выполняться граничные условия

и(0,t) = 0, и(l,t) = 0.

(1.2)

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

u(x,t0 )=ϕ(x), ut (x,t0 )=φ(x).

Таким образом, дополнительные условия состоят из граничных и начальных условий, где ϕ(x)и φ(x) - заданные функции точки. Если концы струны

движутся по заданному закону, то граничные условия (1.2) принимают вид

и(0,t) = µ1(t), и(l,t) = µ2(t),

где µ1(t) и µ2(t) - заданные функции времени t.Это так называемые граничные условия первого рода.

Всякий физически определенный процесс, развивающийся во времени, должен характеризоваться функциями, непрерывно зависящими от началь-

5

ных данных. Если решение математической задачи непрерывно зависит от исходных данных, то говорят, что задача устойчива. В связи с изучением физически детерминированных явлений вводится понятие корректности. Говорят, что математическая задача поставлена корректно, если решение задачи существует, задача имеет единственное решение, решение задачи непрерывно зависит от исходных данных (устойчиво).

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

Универсальным методом приближенного решения дифференциальных уравнений, применимым для широкого класса уравнений математической физики, является метод конечных разностей (или метод сеток).

Метод конечных разностей состоит в следующем. Область непрерывного изменения аргументов (например, х и t) заменяется конечным (дискретным) множеством точек (узлов), называемым сеткой; вместо функций непрерывного аргумента рассматриваются функции дискретного аргумента, определенные в узлах сетки и называемые сеточными функциями. Производные, входящие в дифференциальное уравнение, заменяются (аппроксимируются) при помощи соответствующих разностных отношений; дифференциальное уравнение при этом заменяется системой алгебраических уравнений (разностным уравнением). Начальные и граничные условия тоже заменяются начальными и граничными условиями для сеточной функции.

Естественно требовать, чтобы полученная таким образом разностная краевая задача была разрешима и ее решение при увеличении числа N узлов сетки приближалось (сходилось) к решению исходной задачи для дифференциального уравнения. Введем понятия аппроксимации, сходимости, точности и устойчивости и проиллюстрируем их на простейших примерах.

1.2. Cетки и сеточные функции

Рассмотрим простейшие примеры сеток. Пусть область изменения аргу-

мента х есть отрезок 0 x l . Разобьем отрезок 0 x l точками xi = ih (i=0,

1, 2, ..., N; h > 0) на N равных частей длины h=l/N каждая. Множество точек xi = ih , i=0, 1, 2, ..., N называется разностной сеткой на отрезке0 x l и обо-

значается ωh ={xi ,i = 0,1,..., N}, а число h — расстояние между точками (уз-

лами) сетки — называется шагом сетки.

Отрезок [0, l] можно разбить на N частей, вводя произвольные точки x1 < x2 <... < xN 1 < l . Тогда получим сетку ωh ={xi ,i = 0,1,..., N, x0 = 0, xN = l} с шагом hi = xi xi 1 , который зависит от номера i узла хi. Если hi hi +1 хотя бы

для одного номера I, то сетка ωh называется неравномерной. Если hi = const =

6

h =l/N для всех i = 1, 2, ..., N, то мы получаем построенную выше равномерную сетку. На бесконечной прямой−∞ < x < ∞можно рассматривать сетку ωh, x ={x +ih,i = 0,±1,±2,...}с началом в любой точке х, состоящую из беско-

нечного числа узлов.

Функцию yi= у(xi) дискретного аргумента xi, I = 0, 1, ..., N, называют сеточной функцией, определенной на сетке ωh .

 

 

Всякой непрерывной функции f(х) можно поставить в соответствие сеточ-

ную функцию fi h , полагая, например,

fi h = f (xi ). Впрочем, в некоторых слу-

чаях удобнее устанавливать это соответствие другими способами.

 

 

Пусть

область изменения аргументов (х,

t) есть

прямоугольник

 

 

= (0 x 1,0 t T ,). Построим

на

отрезке 0 x 1сетку

Д

ωh ={xi

= ih,i = 0,1,..., N}с шагом h =1/N и сетку

ωτ ={τj

 

= ,i = 0,1,..., N0 } с

шагом τ =T/N0

на отрезке 0 t T . Множество узлов (xi

,t j

)с координатами

xi = ih

иτj

=

назовем сеткой в

прямоугольнике

 

 

 

и обозначим

Д

ωh,τ ={(xi +ih, τj

+ ),i = 0,1,..., N, j =1,2,..., N0 }. Эта сетка равномерна по каж-

дому из переменных х и t. Если хотя бы одна из сеток ωh

или ωτ неравно-

мерна,

то сетка ωh,τ называется неравномерной. Сетка ωh,τ очевидно, состоит

из точек пересечения прямых х = хi ,i=0, 1, ..., N и прямых t = tj, j= 0, 1, ..., N0.

 

Пусть y — сеточная функция,

заданная на

 

ωh,τ . Будем обозначать

y j = y(x

,t

j

) значение сеточной функции у в узле (х

, t

) сетки ω

.

i

i

 

 

i

 

j

 

h,τ

 

 

Непрерывной функции и(х,t), где (х,t)—точка из

 

, будем ставить в соот-

 

Д

ветствие сеточную функцию uij = uij,h,τ

= u(xi ,t j ).

 

 

 

 

 

1.3. Аппроксимация простейших дифференциальных операторов

Оператор Lh преобразующий сеточную функцию у в сеточную функцию У = Lh у, называют сеточным или разностным оператором. Дифференциальный оператор L, заданный в классе функций непрерывного аргумента, может быть приближенно заменен (аппроксимирован) разностным оператором Lh, заданным на сеточных функциях. Для этого каждая из производных заменяется разностным отношением (отсюда и название «разностный оператор»), содержащим значения сеточной функции в нескольких узлах сетки. Посмотрим, как это делается для первых и вторых производных функции одного переменного.

Пусть ωh ={xi =ih}— сетка с шагом h на отрезке 0 x 1. Рассмотрим первую производную Lv = vфункции v(x). Заменить ее разностным выраже-

нием можно бесчисленным множеством способов. Простейшими являются замены

Lv vi hvi1 = Lhvi ,

7

— левая разностная производная или левое разностное отношение,

Lv vi+1hvi = L+hvi ,

— правая разностная производная или правое разностное отношение,

Lv vi+12hvi1 = L0hvi

- центральная разностная производная.

Здесь vi=v(хi), знак,≈ означает соответствие или аппроксимацию. При за-

мене

Lv = vразностным выражением L±hvi допускается погрешность

L±v (Lv)

i

=ψh называемая погрешностью аппроксимации оператора L раз-

h i

 

i

ностным оператором Lh. Естественно требовать, чтобы при стремлении h к нулю эта погрешность стремилась к нулю. Для оценки ψih надо предположить, что v(х) гладкая функция. Будем говорить, что v(х) принадлежит классу (пространству) С(m )[0,1](v(x) C(m )[0,1]) функций, заданных на отрезке 0 x 1, если у(х) имеет т непрерывных на отрезке 0 x 1производных. При т = 0 получаем класс С(0)[0,1]непрерывных при 0 x 1 функций.

Пусть v(x) C(m )[0,1] где m 2 . Разложим v(х) в окрестности точки x = xi :

vi±1 = vi ± hi +O(h2 )

и вычислим ψih = Lhvi vi′ = O(h) , ψih = L+hvi vi′ = O(h) .

Будем говорить, что разностный оператор Lh:

1. аппроксимирует дифференциальный оператор L на сетке ωh , если

maх

 

ψh

 

= maх

 

L v ( Lv )

 

,

 

 

 

 

 

 

 

 

 

 

i

 

 

 

h i

i

 

 

 

 

 

 

ωh

 

 

 

 

ωh

 

 

 

 

 

 

 

где v(x)—достаточно гладкая функция, стремится к нулю при h 0 ;

2. аппроксимирует

L с порядком п (n>0), если maх

 

ψih

 

= O(hn ) (или

 

 

 

 

 

 

 

 

 

 

 

ωh

 

 

 

maхψih = Mhn , где М — положительная постоянная, не зависящая от h).

ωh

Обращаясь к формулам для L±h , видим, что Lhvi и L+hvi аппроксимиру-

ютLv = vс первым порядком при v C(m )где m 2. Увеличение m не меняет порядка аппроксимации.

Выражение для Lhvi содержит значения v в двух узлах х =xi и х =xi-1 сетки. Говорят, что оператор Lh является двухточечным или оператором первого

порядка.

Множество узлов, значения сеточной функции в которых входят в выражениеLhvi , называют шаблоном оператора Lh в точке xi. Очевидно, что шаб-

лон оператора

L

состоит из двух узлов

x и x

. а шаблон L+

- из узлов

x и

 

h

 

i i-1

h

 

i

xi+1.

Возьмем, например, трехточечный оператор, определенный на шаблоне

xi-1, xi, xi-1:

8

Lσv

i

= σL+v

i

+(1σ)Lv

i

=

σvi+1 +(12σ)vi (1σ)vi1

,

 

h

h

h

 

h

 

 

 

 

 

 

 

 

 

где σ - произвольное число. В частности, при σ = 1/2 получаем централь-

ную разностную производную L0 v

=

vi+1 vi1

которая, как нетрудно пока-

 

 

 

 

 

 

h

i

 

 

2h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зать, при v(x) C(3)[0,1]аппроксимирует vсо вторым порядком.

Введем обозначения:

 

 

 

vi vi1

 

 

 

vx,i = vi+1 vi

vx ,i

=

,

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

h

 

 

v

 

 

=

vi+1 vi1

 

= 1 (v

x ,i

+v

x,i

).

0

,i

 

 

x

 

 

2h

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В тех случаях, когда номер i узла не имеет значения, будем его опускать и писать vx ,i ,vx,i , vx0 ,i .

Рассмотрим теперь вторую производную Lv = v. На двухточечном шаблоне, очевидно, ее аппроксимировать нельзя. Выберем трехточечный шаблон, состоящий из узлов xi-1, xi , xi+1 , и рассмотрим разностный оператор

L v = v

 

=

1

(v

 

v

 

 

)=

vi+1 2vi +vi1

.

 

 

 

 

 

 

 

 

h i

xx,i

 

h

x,i

 

 

x ,i

 

 

 

 

h2

 

 

 

Если v C(m )[0,1], m 4 , то можно написать

 

 

 

 

 

 

 

h2

 

′′

h3

 

′′′

h4

 

(IV )

4

 

 

 

 

 

 

 

 

 

 

24 vi

 

+o(h

),

vi±1 = vi ± hvi + 2 vi

±

6 vi +

 

(o(h4 ) - величина, стремящаяся к нулю при h 0

быстрее, чем hn). Отсюда

следует (индекс i опускаем), что

 

 

 

 

vxx v′′ =

h2 (IV )

 

2

 

 

 

vi

+o(h

 

)

(1.3)

12

 

′′

 

 

 

 

т. е. vxx аппроксимирует v со вторым порядком.

 

Для аппроксимации четвертой производной Lv = v(IV ) выберем пятиточечный шаблон, состоящий из узловxi + kh,(k = 0,±1,±2) , положим

L v

= v

xxxx,i

=

vi2 4vi1 +6vi 4vi+1 +vi+2

(1.4)

 

h i

 

 

h4

 

 

 

 

 

 

В этом случае vxxxx v(IV ) = O(h2 ) для v(x) C(6) . На пятиточечном шаблоне xi + kh,(k = 0,±1,±2) можно добиться аппроксимации О (h4) для v′′ , если v(x) C(6) . В самом деле, из (1.3) и (1.4) следует, что оператор

Lhv = vxx h2 vxx xx = v′′+O(h4 ) 12

имеет 4-й порядок аппроксимации.

На практике аппроксимация производных на многоточечных шаблонах используется редко, так как при увеличении шаблона обычно увеличивается

9

объем вычислительной работы и ухудшаются качества получающихся разностных операторов (в смысле устойчивости).

Порядок аппроксимации разностного оператора Lh зависит от порядка т дифференцируемости функции v(х). Выше мы фактически рассматривали максимальный порядок аппроксимации, который не меняется при увеличении номера т класса C(m ) , считая, что v(х) - любая функция из C(m ) . Очевидно, что при специальном выборе v(х) порядок аппроксимации может повыситься.

Рассмотрим более сложный оператор

 

 

 

 

 

 

 

 

Lu =

u

2u

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

x2

 

 

 

 

 

 

 

 

 

 

гдеu = u(x,t) - функция двух аргументов х и t, меняющихся в области

 

 

 

= (0 x 1,0 t T ).Введем сетку

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Д

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ωh,τ ={(xi = ih, τj = ),i = 0,1,..., N, j =1,2,..., N0 }

 

 

 

 

 

 

 

 

 

 

с шагами h =1/N и τ=Т/N0, построенную выше. Произведем замену

 

 

 

u j +1

 

u j +1

u j

+

2u

j

 

 

 

u j

 

2u j +u j

 

 

 

 

 

 

i

 

i

= u j 1

,

 

 

 

 

=

 

i1

 

 

i

 

i+1

= u j

 

 

 

 

 

τ

 

 

 

 

 

 

 

 

h2

 

 

 

 

 

t i

 

 

 

 

t

x2

i

 

 

 

 

 

 

 

 

 

 

xx,i

 

В результате получим разностный оператор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

u j +1 u j

 

u

j

2u j

+u j

 

 

 

 

 

 

 

 

L

 

u j 1 =

i

i

=

 

i1

 

 

 

 

i

 

 

 

i+1

,

 

 

 

 

(1.5)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

τ

 

 

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

который можно записать в виде

L

u = u

t

uˆ

xx

, гдеuˆ

xx

= u j ,

u = u j+1

. Этот

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

i

 

оператор определен на шаблоне, состоящем из четырех точек (xi,tj+1), (xi,tj), (xi-1,tj+1), (xi+1,tj+1), (рис. 1,a). Оператор Lопределен не во всех узлах ωh,τ , а только при 0 < i< N , j >0 т. е.

Рис.1 а) б)

в тех узлах, в которых шаблон состоит только из узлов сетки ωh,τ .Узлы (xi,tj) назовем внутренними и обозначим ωh,τ ={(xi ,t j ),i = 0,1,..., N, j =1,2,..., N0 } множество всех внутренних узлов. Таким образом, оператор Lопределен на ωh,τ т.е. во внутренних узлах. В остальных узлах, называемых граничными, должны быть заданы краевые и начальные условия. Оператор Lимеет первый порядок аппроксимации по τ и второй по h:

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]