20
КАЗАНСКИЙ (ПРИВОЛЖСКИЙ) ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ФИЛЬТРАЦИИ ЭЛЕКТРОННОЕ УЧЕБНОЕ ПОСОБИЕ КАЗАНЬ КАЗАНСКИЙ (ПРИВОЛЖСКИЙ) ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ 2011

СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Page 1: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

КАЗАНСКИЙ (ПРИВОЛЖСКИЙ) ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ

СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ФИЛЬТРАЦИИ

ЭЛЕКТРОННОЕ УЧЕБНОЕ ПОСОБИЕ

КАЗАНЬ

КАЗАНСКИЙ (ПРИВОЛЖСКИЙ) ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ

2011

Page 2: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

2

Публикуется по решению редакционно-издательского совета

ФГАОУВПО «Казанский (Приволжский) федеральный университет»

Учебно-методической комиссии Института геологии и нефтегазовых технологий Казанского

федерального университета от 14.12.2011 г., протокол №23

Заседания кафедры общей геологии и гидрогеологии

Протокол №5 от 5 декабря 2011 г.

Рецензенты:

профессор кафедры прикладной математики, доктор физ.-мат. наук М.Г. Храмченков,

В.н.с. отдела прикладной математической физики, доктор физ.-мат. наук А.Н.Чекалин.

Сеточные методы решения уравнений фильтрации. Электронное учебное

пособие.

Составители: Кальчев В.П., Кальчева А.В., Червиков Б.Г. – Казань:

Казанский федеральный университет, 2011.- 20 с.

Изложенный в данном пособии материал является составной частью

курса «Методы математической физики», который читается студентам

третьего курса специальности «Гидрогеология и инженерная геология» в

Институте геологии и нефтяных технологий КФУ. В первой части пособия

приводится общий вывод уравнений фильтрации с использованием

операторов теории поля. Во второй части рассматриваются сеточные методы

решения уравнений фильтрации, как в ручном режиме, так и с

использованием компьютерных технологий.

© Казанский федеральный университет, 2011

© Кальчев В.П., Кальчева А.В., Червиков Б.Г., 2011

Page 3: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

3

Содержание

1. УРАВНЕНИЯ ФИЛЬТРАЦИИ ……………………….…………... 4

1.1. Режим жесткой фильтрации……………………………..… 5

1.2. Режим упругой фильтрации …………………….………..… 6

2. МЕТОД СЕТОК ………………………………………………..….. 7

2.1. Параболическое уравнение……………………………...…. 8

2.2. Варианты заданий для выполнения лабораторной работы 12

2.3. Решения параболического уравнения в пакете Scilab……. 12

2.4. Эллиптическое уравнение …………………………………. 14

2.5. Решение эллиптического уравнения в пакете Scilab ……. 17

ЛИТЕРАТУРА ……………………………………………………. 20

Page 4: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

4

1. УРАВНЕНИЯ ФИЛЬТРАЦИИ

В основe построения математической модели движения подземных вод

лежат фундаментальные физические закономерности, которые могут быть

формально представлены в виде некоторых уравнений. Первой из таких

закономерностей является уравнение движения - связь между потерей

энергии и работой сил сопротивления, которая, для широкого круга условий

выражается законом Дарси (в дифференциальной форме).

, (1.1)

где –скорость фильтрации, H– напор, k– коэффициент фильтрации.

Для анизотропной среды это уравнение запишется в виде трех уравнений

(1.2)

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

уравнение движения и для минерального скелета.

Далее следуют уравнения состояния, отражающие возможный

характер изменений физических свойств изучаемой нами среды по ходу

фильтрационного процесса. К уравнениям состояния могут быть отнесены

закон Гука

, (1.3)

где γ0 – объемный вес жидкости, E0 – модуль Юнга, σn – приращение

нейтрального напряжения, отражающий зависимость плотности воды от гид-

ростатического давления, и компрессионное уравнение

, (1.4)

где ac – коэффициент сжимаемости породы, ε =n/(1-n) –коэффициент

пористости, σэ – приращение эффективного напряжения, описывающее

связь пористости с эффективным давлением. В частных случаях

несжимаемых фаз эти уравнения состояния принимают вид ρ = const и n =

const.

Page 5: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

5

Наконец, есть еще одна важнейшая закономерность - условие

сохранения массы жидкости, которое может быть выражено в матема-

тической форме уравнением неразрывности.

(1.5)

Из этих уравнений можно получить общие дифференциальные урав-

нения фильтрации, содержащие в качестве единственной неизвестной

функции напор H, которая в общем случае зависит от трех пространственных

координат и от времени: H=f(x,y,z,t). Коэффициентами и свободными

членами в этих уравнениях могут служить, в частности, гидрогеологические

(фильтрационные) параметры и показатели интенсивности питания или

разгрузки потока.

Рассмотрим две простые моделей, в которых движение происходит в

изолированном напорном пласте, в котором отсутствует дополнительное

площадное питание и не проявляется гравитационная емкость.

1.1. Режим жесткой фильтрации

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

состояния имеют вид ρ = А и п = В, где А и В не зависят от времени. Тогда в

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

считать, что интенсивность пространственной изменчивости плотности

жидкости очень мала, то с учетом малости скорости фильтрации, их

произведение существенно меньше произведения плотности на производную

от скорости:

. (1.6)

Таким образом, получаем

,

или, подставив сюда закон Дарси (1.2) имеем

(1.7)

Это и есть уравнение фильтрации для жесткого режима.

Если пласт является однородным и изотропным (kх = kу = kz= k = const), то

уравнение принимает вид

Page 6: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

6

, (1.8)

где

+

- оператор Лапласа.

Полученное уравнение в частных производных, называемое

уравнением Лапласа, широко исследовано в различных отраслях

математической физики.

Уравнения жесткого режима фильтрации не содержат времени в явном

виде. Следовательно, при неизменных во времени напорах на границах

выделенного участка движение жидкости в пределах этого участка должно

быть стационарным: Н = f(x,у,z). Физически это означает, что сам

водоносный пласт воды не отдает и не принимает (вся вода проходит

транзитом от контура питания к контуру стока). При этом реакция на любое

возмущение на границе участка мгновенно распространяется по всему пласту

как в абсолютно жесткой физической системе.

Понятно, что модель жесткого режима фильтрации, будучи

приближенной, дает приемлемые результаты, когда транзитный поток резко

превышает объемы воды, поступающие за счет упругих запасов пласта.

Поэтому, в целом, точность этой модели оказывается обычно тем меньше,

чем больше размеры изучаемой водоносной системы, т.е. модель может быть

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

питания.

1.2. Режим упругой фильтрации

Эта, более общая, модель учитывает сжимаемость пласта и воды, т.е.

уравнения состояния имеют вид (1.3) и (1.4). Будем по-прежнему считать,

что выполняется условие (1.6).

Можно записать[1]

для второго члена уравнения (1.5)

, (1.9)

где

– коэффициент упрогоемкости породы, который

показывает, как изменяется объем жидкости в единице объема породы при

единичном изменении напора.

Таким образом

,

Page 7: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

7

а с учетом закона Дарси приходим к результирующему уравнению:

(1.10)

Для однородного изотропного пласта

, (1.11)

где

.

Уравнение вида (1.11), называемое уравнением Фурье, широко

исследовано в теории теплопроводности.

Таким образом, в отличие от жесткого режима движения в напорном

пласте, уравнения упругого режима напорной фильтрации содержат

производную по времени, т.е. в этом случае Н =Н(х, у, z, t) и движение

является нестационарным. Физически это означает, что по мере уменьшения

напоров во времени в водоносном пласте постепенно вырабатываются его

упругие запасы. Высвобождающиеся при этом объемы воды «вкладываются»

в общий баланс фильтрационного потока в водоносном пласте. Реакция от

возмущения напоров на границе или в какой-либо области рассматриваемого

пласта распространяется от этой границы (области) по пласту постепенно,

причем скорость распространения тем больше, чем выше проницаемость и

чем меньше упругоемкость горной породы. Следовательно, отношение

является показателем скорости изменения напора (гидростатического

давления) в пласте. Соответственно, величина а* получила название

коэффициента пьезопроводности.

2. МЕТОД СЕТОК

Уравнения, полученные в предыдущем разделе, относятся к

уравнениям математической физики. Перейдем к стандартным

обозначениям, которые используются в этой теории. Так уравнение Лапласа

(эллиптическое уравнение) записывается в виде

, (2.1)

уравнение Фурье (параболическое уравнение) в виде

, (2.2)

Page 8: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

8

а волновое уравнение (гиперболическое уравнение) в виде

, (2.3)

где

и т.д.

Точное решение задач математической физики (в виде явных формул,

рядов и т.п.) можно найти только в редких случаях. Среди приближенных

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

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

разностные методы (методы сеток). Сущность разностных методов состоит

в том, что исходная область изменения независимых переменных заменяется

дискретным множеством точек - сеткой, а производные, входящие в

уравнение, аппроксимируются на этой сетке разностными соотношениями. В

результате исходная линейная задача заменяется системой конечного числа

линейных алгебраических уравнений, называемой разностной схемой.

Аналогично исходная нелинейная задача заменяется нелинейной разностной

схемой. За приближенное решение исходной задачи принимается решение

разностной схемы. Точность приближения зависит от способа

аппроксимации и от густоты сетки, т.е. от того, насколько плотно сетка

заполняет исходную область.

2.1. Параболическое уравнение

Рассмотрим применение метода сеток на примере решения уравнения

Фурье в одномерном случае.

Первая краевая задача для процесса распространения тепла (или

жидкости) в пространстве формулируется следующим образом:

, (0 ≤ x ≤ L, 0 ≤ t ≤ T) (2.4)

где u – температура (или напор). Начальные и граничные условия: заданы

значения температуры тела (напора) в начальный момент времени и

известна температура (напор) на любой момент времени на границе:

u(x,0) = g(x), u(0,t) = φ(t) , u(L,t) =ψ(t), (2.5)

здесь Т – конечный промежуток времени, который может быть сделан

достаточно большим. Т.е. требуется найти решение в прямоугольнике D,

если заданы значения искомой функции на трех сторонах при t=0, x=0 и x=L.

Введем равномерную прямоугольную сетку

Page 9: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

9

Разобьем область D сеткой прямых линий, параллельных

координатным осям:

xm = mh (m = 0, 1, 2, …, M),

tn = nτ (n = 0, 1, 2, …, N). (2.6)

По определению производная функции u(x) равна при Δx→0

Переходя от бесконечно малых разностей Δx→0 к конечным

разностям, получаем приближенную формулу численного

дифференцирования:

В частности, задавая значения х в виде таблицы хi c постоянным конечным

шагом Δх=h, мы можем представить функцию в табличном виде:

x0 x1 .…xm-1 xm xm+1 …xM

u0 u1 ….um-1 um um+1 …uM

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

способа:

– левые конечные разности,

Page 10: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

10

– правые конечные разности,

– центральные разности,

Формулы для левых и правых разностей дают погрешность первого

порядка малости (~h), а формула центральных разностей дает погрешность

второго порядка малости (~h2).

Можно таким же образом получить приближенную формулу для

вычисления второй производной:

. (2.7)

Аналогично вычисляются производные по времени.

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

уравнением

(2.8)

с начальными условиями = g(mh) и граничными условиями

= φ(nτ),

= ψ(nτ).

Введем несколько определений.

Слой – совокупность узлов сетки, соответствующих фиксированному

значению n.

Двухслойная схема – схема, связывающая два слоя.

Явная разностная схема – схема, в которой значение функции в (n+1) слое

может быть явно выражено через значения функции в n слое.

Неявная разностная схема – схема, содержащая в каждом уравнении

несколько неизвестных значений на новом слое.

В данном случае получена явная разностная схема, которая приведена

на рисунке.

Page 11: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

11

Из уравнения (2.8) можно получить уравнение для слоя n+1

(

)

(2.9)

Если известны значения

, в соседних узлах в одном

слое сетки n, то возможно вычисление значения в следующем слое n+1.

Если начинать процесс вычисления для первого слоя n=1, то, поскольку

значения для n=0 заданы начальным условием = g(mh), мы полностью

заполним узлы первого слоя.

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

внутренних узлах сетки и на границе t=T.

Отсюда следует, что мы можем продолжить вычисления и за пределы

области 0 ≤ t ≤ T в сторону увеличения t > T, если нам известны значения на

границах x=0 и x=L.

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

разбиения так, чтобы

. (2.10)

Тем самым накладываются серьезные ограничения на шаг по времени.

Например, в простейшем случае для a = 1, если шаг по x выбрать равным

h=0.1, то шаг сетки по времени не дожжен быть больше, чем τ = 0.5(0.1)2 =

0.005.

Page 12: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

12

Особенно просто уравнение (2.9) записывается, если принять

.

В этом случае

. (2.11)

Уже упоминалось, что точность решения зависит от метода

аппроксимации и густоты сетки. В данном случае точность решения ~ h2.

Уравнения (2.9) и (2.11) легко решаются в EXCEL, поэтому

предлагаются следующие задачи для лабораторной работы.

2.2. Варианты заданий для выполнения лабораторной работы.

Пользуясь явной схемой, найти приближенное решение первой

начально-краевой задачи

, (0 ≤ x ≤ 1, 0 ≤ t ≤ 0.01)

1. u(x,0) = 4x(1-x), u(0,t) = 0 , u(L,t) =0

2. u(x,0) = 2x(1-x), u(0,t) = 0 , u(L,t) =0

3. u(x,0) = 2Sin(πx), u(0,t) = 0 , u(L,t) =0

4. u(x,0) = 0.5Sin(πx), u(0,t) = 0 , u(L,t) =0

5. u(x,0) = Cos(πx), u(0,t) = 1 , u(L,t) =-1

6. u(x,0) = 2Cos(πx), u(0,t) = 2 , u(L,t) =-2

7. u(x,0) = tg(πx/4), u(0,t) = 0 , u(L,t) =1

8. u(x,0) = ex , u(0,t) = 1 , u(L,t) =2.718

9. u(x,0) = e-2x

, u(0,t) = 1 , u(L,t) =0.135

10. u(x,0) = x3 , u(0,t) = 0 , u(L,t) =1

2.3. Решения параболического уравнения в пакете Scilab

Более сложные задачи можно решать, используя некоммерческий пакет

Scilab (аналог Matlab).

Рассмотрим уравнение, описывающее распределение температуры в

стержне длиной L , начальная температура стержня задается произвольной

функцией

, (0 ≤ x ≤ L, 0 ≤ t ≤ T)

u(x,0) = , u(0,t) = U1 = 1 , u(L,t) = U2 =2.117

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

Page 13: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

13

в Scilab представлена на листинге

//Правая часть дифференциального уравнения. function y=f(x,t) y=sin(x*t) endfunction //Начальное условие function y=fi(x) y=exp(0.15*x) endfunction //Условие на левой границе function y=myu(t) y=1 endfunction //Условие на правой границе function y=nyu(x) y=2.117 endfunction function [u,x,t]=parabol(N,K,L,T,a) //Функция решения параболического уравнения методом сеток с //помощью явной разностной схемы. N - количество участков, // на которые разбивается интервал по х (0,L); K – количество // участков, на которые разбивается интервал по t (0,T); a - // параметр дифференциального уравнения теплопроводности, // Функция возвращает матрицу решений u и вектора x, t // Вычисляем шаг по х h=L/N; // Вычисляем шаг по t delta=T/K; // Формируем массив x и первый столбец матрицы решений U // из начального условия for i=1:N+1 x(i)=(i-1)*h; u(i,1)=fi(x(i)); end //Формируем массив t, первую и последнюю строку матрицы решений // U из граничных условий for j=1:K+1 t(j)=(j-1)*delta; u(1,j)=myu(t(j)); u(N+1,j)=nyu(t(j)); end gam=a^2*delta/h^2; // Формируем матрицу решений u с помощью явной разностной схемы for j=1:K for i=2:N u(i,j+1)=gam*u(i-1,j)+(1-2*gam)*u(i,j)+gam*u(i+1,j)+delta*... f(x(i),t(j)); end end end

Page 14: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

14

Входными данными подпрограммы parabol являются: N - количество

интервалов, на которые разбивается отрезок (0, L); K - количество

интервалов, на которые разбивается отрезок (0, T); L - длина стержня, T -

интервал времени, a – параметр дифференциального уравнения. Функция

возвращает три параметра: сеточную функцию u, определенную на сетке,

массивы x и t.

На следующем листинге представлено обращение к функции parabol с

построением графика найденного решения, который изображен на рисунке.

[U,X,T]=parabol(50,200,5,3,0.4); surf(X,T,U'); title('PARABOLIC EQUATION'); xlabel('X'); ylabel('T');

2.4. Эллиптическое уравнение

Несколько сложнее обстоит дело с реализацией метода сеток для

уравнения Лапласа.

Рассмотрим процесс приближенного решения этого уравнения для

случая двух переменных. Пусть задано уравнение Лапласа

в прямоугольной области.

При заданных значениях искомой функции на граничной области

данная задача называется задачей Дирихле.

Page 15: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

15

Разобьем область D : 0≤х≤1; 0≤у≤1 двумя семействами прямых: хi= ihх и

уj=jhу, где hх, hу – заданные шаги разбиении, j и i – последовательные

целочисленные значения. Будем говорить, что область D покрыта сеткой.

Приближенные значения искомой функции будем обозначать ui,j.

Часть данных в табличном виде имеет вид:

xi-2 xi-1 xi xi+1 xi+2

yj-2 ui-2, j-2 ui-1, j-2 ui, j-2 ui+1, j-2 ui+2, j-2

yj-1 ui-2, j-1 ui-1, j-1 ui, j-1 ui+1, j-1 ui+2, j-1

yj ui-2, j ui-1, j ui, j ui+1, j ui+2, j

yj+1 ui-2, j+1 ui-1, j+1 ui, j+1 ui+1, j+1 ui+2, j+1

yj+2 ui-2, j+2 ui-1, j+2 ui, j+2 ui+1, j+2 ui+2, j+2

По аналогии с (2.7) запишем частные производные

,

(2.12)

Примем для простоты hх = hу = h, тогда исходное уравнение в конечно-

разностном виде примет вид

(2.13)

Page 16: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

16

Общее число узлов сетки N, следовательно, имеем N уравнений с N

неизвестными, тогда система имеет единственное решение. Схема имеет

второй порядок аппроксимации по h, является устойчивой и сходится.

Значения сеточной функции в узлах, расположенных на границе

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

u0,j = g(x0yj), uI,j = g(xIyj), ui,0 = g(xiy0), ui,J = g(xiyJ),

j=0,1,2….J, i=0,1,2…..I.

Рассмотрим несложный пример. Решить уравнение Лапласа

области 0 ≤ x ≤ 3, 0 ≤ y ≤ 3 с граничными условиями u(0,y) = 0,

u(3,y) = y, u(x,0) =0, u(x,3) = x.

Выберем шаг h =1. Используем уравнение (2.13)

Используя граничные условия получаем

j i 0 1 2 3

0 0 0 0 0

1 0 1

2 0 2

3 0 1 2 3

Составляем уравнения для внутренних узлов сетки

( )

Page 17: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

17

( )

( )

( )

Получаем систему уравнений:

Решая эту систему, заполняем сетку

j i 0 1 2 3

0 0 0 0 0

1 0 1/3 2/3 1

2 0 2/3 4/3 2

3 0 1 2 3

Практически нахождение решений в узлах сетки можно осуществить

итерационным способом.

2.5. Решение эллиптического уравнения в пакете Scilab

Рассмотрим разностную схему для эллиптического уравнения в

прямоугольной области D (R−b ≤ x ≤ R+b , −a ≤ y ≤a)

с граничными условиями Дирихле на границе Г.

Page 18: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

18

Разобьем область D двумя семействами прямых : хi= R-b+ihх, hx =

и

уj=-a + jhу, hу =

где hх ,hу – заданные шаги разбиении, j и i –

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

С помощью соотношений (2.12) преобразуем эллиптическую краевую задачу

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

( )

где

,

,

,

.

u0,j = 0, uI,j = 0, ui,0 = 0, ui,J = 0.

Эту систему можно решать итерационными методами (например,

методом Зейделя). В случае медленной сходимости итерационных процессов

при решении сеточных уравнений, получаемых при аппроксимации

гиперболических и эллиптических задач, имеет смысл попробовать заменить

метод Зейделя градиентными методами (или методами релаксации).

На листинге представлено решение уравнения сеточным методом, а на

рисунке - график найденного решения.

function [psi,x,y,k]=ellip(R,a,b,Nx,Ny,eps) // Функция ellip решения задачи // Входные данные: // R, a, b - значения, определяющие область решения задачи, //Nx - количество участков, на которые разбивается интервал по х(R-b,R+b); // Ny - количество участков, на которые разбивается интервал по y (-a,a); // eps - точность решения уравнения методом Зейделя. // Выходные данные: // psi - матрица решений в узлах сетки, массив x, массив y, //k - количество итерация при решении разностного уравнения // методом Зейделя. // Вычисляем шаг по y hy=2*a/Ny; // Вычисляем шаг по x hx=2*b/Nx; // Формируем массив x, первый и последний столбцы матрицы // решений psi из граничного условия for i=1:Nx+1 x(i)=R-b+(i-1)*hx; psi(i,1)=0; psi(i,Ny+1)=0; end; // Формируем массив y, первую и последнюю строки матрицы // решений psi из граничного условия for j=1:Ny+1

Page 19: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

19

y(j)=-a+(j-1)*hy; psi(1,j)=0; psi(Nx+1,1)=0; end; // Вычисляем коэффициенты разностного уравнения A=2/hy^2+2/hx^2; D=1/hy^2; for i=2:Nx+1 B(i)=1/hx^2+5/(2*hx*x(i)); C(i)=1/hx^2-5/(2*hx*x(i)); end //Решение разностного уравнения методом Зейделя с точностью eps p=1; k=0; while p>eps for i=2:Nx for j=2:Ny V=1/A*(B(i)*psi(i-1,j)+C(i)*psi(i+1,j)+D*(psi(i,j-1)... +psi(i,j+1))+2); R(i,j)=abs(V-psi(i,j)); psi(i,j)=V; end end p=R(2,2); for i=2:Nx for j=2:Ny if R(i,j)>p p=R(i,j); end end end k=k+1; end endfunction //Вызов функции решения задачи [PSI,X,Y,K]=ellip(18,3,6,32,16,0.01); //Построение графика функции surf(X,Y,PSI'); title('Example ); xlabel('X'); ylabel('Y');

Page 20: СЕТОЧНЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ ...old.kpfu.ru/f3/bin_files/_!314.pdfоператоров теории поля. Во второй части рассматриваются

20

ЛИТЕРАТУРА

1. В.А. Мироненко Динамика подземных вод, М., МГГУ, 2001, - 519 с.

2. В.И. Киреев, А.В. Пантелеев. Численные методы в примерах и задачах.

М., ВЫСШАЯ ШКОЛА, 2008, - 481 с.

3. Е.Р. Алексеев, О.В. Чеснокова, Е.А. Рудченко. Scilab: Решение

инженерных и математических задач, М., ALT Linux, 2008, - 209 с.

4. Электронный ресурс: http://teacher.dn-ua.com/Math/Scilab/Scilab.html