шпоры мо

advertisement
1. Оптимизация. Критерии оптимальности; целевая функция. Классификация.
Модели оптимизационных задач. Примеры.
2. Решение краевых задач для обыкновенных дифференциальных уравнений и
систем. Основные положения.
3. Метод стрельбы. Схемы дихотомии и секущих.
4. Метод стрельбы для линейной краевой задачи.
5. Метод конечных разностей, или метод сеток.
6. Полуаналитические методы решения краевой задачи. Метод коллокации.
7. Полуаналитические методы решения краевой задачи. Метод Галеркина.
8. Разностные схемы для уравнений в частных производных. Основные понятия.
9. Сходимость, аппроксимация и устойчивость разностных схем
10.Разностные схемы для уравнений параболического типа. Решение задачи Коши.
11.Устойчивость двухслойных разностных схем для уравнений параболического типа.
12.Построение разностной аппроксимации для уравнения Пуассона.
13.Различные краевые задачи и аппроксимация граничных условий.
14.Построение разностной схемы в случае задачи Дирихле для уравнения Пуассона.
15.Метод матричной прогонки. Итерационный метод решения разностной схемы для
задачи Дирихле.
16.Разностные схемы для уравнений гиперболического типа. Решение задачи Коши.
17.Разностные схемы для уравнений гиперболического типа. Решение смешанной
задачи.
18.Общие понятия метода конечных элементов.
19.Дискретизация области и нумерация узлов.
20.Линейные интерполяционные полиномы.
21.Одномерный симплекс-элемент.
22.Двумерный симплекс-элемент.
23.Местная система координат.
24.Двумерные L-координаты.
25.Объединение элементов в ансамбль.
26.Вывод уравнений для элементов с помощью метода Галеркина.
27.Пример расчета одномерного температурного поля в однородном стержне.
1
1. Оптимизация. Критерии оптимальности; целевая функция. Классификация.
Модели оптимизационных задач. Примеры.
Оптимизация - целенаправленная деятельность, заключающаяся в получении
наилучших результатов при соответствующих условиях.
Критерий оптимальности — характерный показатель решения задачи, по значению
которого оценивается оптимальность найденного решения, то есть максимальное
удовлетворение поставленным требованиям. В одной задаче может быть установлено
несколько критериев оптимальности.
Функция, связывающая цель (оптимизируемую переменную) с управляемыми
переменными в задаче оптимизации.
В широком смысле целевая функция есть математическое выражение некоторого
критерия качества одного объекта (решения, процесса и т.д.) в сравнении с другим.
Методы оптимизации классифицируют в соответствии с задачами оптимизации:
 Локальные методы: сходятся к какому-нибудь локальному экстремуму целевой
функции. В случае унимодальной целевой функции, этот экстремум единственен, и
будет глобальным максимумом/минимумом.
 Глобальные методы: имеют дело с многоэкстремальными целевыми функциями. При
глобальном поиске основной задачей является выявление тенденций глобального
поведения целевой функции.
Модели, способные воспроизводить только качественную сторону изучаемого процесса,
называются качественными. Более сложными моделями являются количественные,
или математические, модели, с помощью которых можно предсказывать конкретные
численные значения характеристик явления. Так, например, модель погоды, основанная
на народных приметах, будет качественной. Модели же, используемые
в гидрометцентрах и позволяющие предсказывать численные значения характеристик
погоды (температура, скорость ветра и т.п.), относятся к количественным моделям.
Математическая модель – это совокупность уравнений (алгебраических,
дифференциальных, интегральных), описывающих процессы, происходящие в
моделируемом явлении. Каждое такое уравнение само по себе есть модель процесса
более низкого уровня. Модели же сложных явлений часто строятся, как из кирпичиков,
из моделей более простых. Результатом математического моделирования являются
формулы (если удается получить аналитическое решение уравнений модели), которые
позволяют рассчитать характеристики моделируемого процесса или таблицы значений
этих характеристик (если аналитическое решение получить не удается, либо оно не
удобно). Чаще всего встречается именно последний случай, когда решение можно
получить лишь в виде таблицы с помощью каких-либо вычислительных процедур.
Такого рода модели носят специальное название численных моделей. Специфика этих
моделей состоит в том, что они позволяют получить принципиально приближенное
решение, что связано с дискретностью вычислительных устройств, ограниченным
объемом памяти, конечным быстродействием и т.п.
2
2. Решение краевых задач для обыкновенных дифференциальных уравнений и
систем. Основные положения.
Краевая задача – это задача отыскания частного решения системы
d
U k (x)  f k (x,U1 ,U 2 ,...,U p ) , 1  k  p
(2.1)
dx
на отрезке a  x  b , причем дополнительные условия налагаются на значения функций
U k ( x ) более чем в одной точке этого отрезка.
Заметим, что дифференциальное уравнение порядка р
(2.3)
y ( p) ( x)  F ( x, y( x), y( x),..., y ( p1) ( x)),
где y ( k ) ( x ) − производная порядка k , k  0,1,..., p, y (0) ( x)  y( x),
может быть сведено к системе дифференциальных уравнений вида (2.1) заменой
переменных
U 0 ( x )  y ( x ),
U1 ( x )  y( x ),
. . .
(2.4)
U p2 ( x )  y ( p2) ( x ),
U p1 ( x )  y ( p1) ( x ).
Действительно, по замене (2.4)
U 0 ( x )  y( x )  U1 ( x ),
U1( x )  y( x )  U 2 ( x ),
. . .
U p2 ( x )  y ( p1) ( x )  U ( p1) ( x )
и уравнение (2.3) сведется к следующей системе вида (2.1):
U k ( x )  U k 1 ( x ), k  0,1,..., p  2,
U p1 ( x )  F ( x, U 0 ( x ),..., U ( p1) ( x )).
Здесь последнее уравнение получено подстановкой (2.4) в (2.3).
Заметим, что общая краевая задача (2.1) может:
 не иметь решений;
 иметь единственное решение;
 иметь несколько и даже бесконечно много решений.
Рассмотрим более подробно важный частный случай, когда дифференциальное
уравнение и краевые условия линейны. Такая краевая задача называется линейной
краевой задачей.
Линейное дифференциальное уравнение n-го порядка сокращенно можно записать
в виде
(2.6)
L[ y]  f ( x),
Где L[ y ]  p0 ( x ) y
( n)
 p1 ( x ) y ( n1)  ...  pn ( x ) y,
3
причем обычно предполагается, что pi ( x ) (i  0,1,..., n) и f ( x ) − известные
непрерывные функции на данном отрезке [a , b] .
Для простоты будем предполагать, что в краевые условия входят две абсциссы
x1  a и x2  b (a  b) − концы отрезка [a , b] . Такие краевые условия называются
двухточечными. Краевые условия называются линейными, если они имеют вид
R [ y ]    ,   1, 2,..., n,
(2.7)
Где R [ y ] 
n1
[ k( ) y (k ) (a

k 0
)  k( y) k ( b)( )]и  k( ) ,  k( ) ,   − заданные постоянные,
причем
n1
(  k( )

k 0
  k( ) )  0 при   1,2,..., n.
Например, краевые условия, приведенные в предыдущих примерах, линейны.
Линейными краевыми условиями являются также условия периодичности, которые
в случае дифференциального уравнения второго порядка имеют вид
y(a)  y(b), y(a)  y(b).
Линейная краевая задача называется однородной, если:
 во-первых, f ( x)  0 при a  x  b, то есть дифференциальное уравнение
(2.6) однородно, и,
 во-вторых,    0,   1, 2,..., n, то есть имеют место однородные краевые
условия.
В противном случае краевая задача (2.6)-(2.7) называется неоднородной.
4
3. Метод стрельбы. Схемы дихотомии и секущих.
Это численный метод, заключающийся в сведении краевой задачи к решению
последовательности задач Коши для той же системы дифференциальных уравнений.
Рассмотрим его на примере простейшей задачи для системы двух уравнений первого
порядка с краевыми условиями достаточно общего вида
U ( x )  f(x,U,V), 

(2.15а)
V ( x )  g ( x , U ,V ), 

a  x  b,

(2.15б)
 (U (a), V (a))  0 ;  (U (b), V (b))  0 .
Выберем произвольно значение U (a)   , рассмотрим левое краевое условие как
алгебраическое уравнение
 (, V (a))  0
и найдем из него V (a)   ( ) . Возьмем значения U (a)   , V (a)   в качестве
начальных условий задачи Коши для системы (2.15а) и проинтегрируем эту задачу Коши
любым численным методом. При этом получим решение U ( x, ), V ( x, ) , зависящее
от  , как от параметра.
Значение  выбрано так, что найденное решение удовлетворяет левому краевому
условию (2.15б). Однако правому краевому условию это решение, скорее всего, не
удовлетворяет: при его подстановке левая часть краевого условия в точке b,
рассматриваемая как функция параметра 
(2.16)
 ( )   (U (b, ),V (b, )) ,
не обратится в нуль.
Необходимо каким-либо способом менять параметр  , пока не подберем такое
значение, для которого  ( )  0 с требуемой точностью. Таким образом, решение
краевой задачи (2.15) сводится к нахождению корня уравнения
(2.17)
 ( )  0 .
Простейшим методом его решения является метод дихотомии (деления отрезка
пополам).
Делают пробные "выстрелы" – расчеты с наудачу выбранными значениями  i до
тех пор, пока среди величин  ( i ) не окажется разных по знаку. Пара таких значений
 i , i  1 образует "вилку". Деля ее последовательно пополам до получения нужной
точности, производим "пристрелку" параметра  . Благодаря этому процессу весь метод
получил название стрельбы.
Однако нахождение каждого нового значения функции  ( ) требует численного
интегрирования системы (2.15а), то есть достаточно трудоемко.
Поэтому корень уравнения (2.17) желательно находить более быстрым методом.
Попробуем сделать это методом Ньютона:
i 1  i 
 (i )
.
 (i )
(2.18)
5
Однако вычисление производной  ( i ) затруднительно и лучше ее заменить
разностным отношением
 (i ) 
 (i )   (i 1 )
.
i  i 1
(2.19)
Подставляя (2.19) в (2.18), получим итерационную формулу метода секущих:
i 1  i 
(i  i 1 ) (i )
.
 (i )  (i 1 )
(2.20)
В методе секущих первые два расчета делают с наудачу выбранными близкими
значениями  0 и 1 , а следующие значения параметра вычисляют по формуле (2.20).
Заметим, что этот метод быстро сходится вблизи корня. Сходимость вдали от
корня зависит от того, насколько удачно выбрано нулевое приближение.
6
4. Метод стрельбы для линейной краевой задачи.
Рассмотрим теперь линейную краевую задачу, решение которой методом стрельбы
особенно просто:
U ( x )  1 ( x )  U  1 ( x ) V   1 ( x ), 

V ( x )   2 ( x )  U   2 ( x ) V   2 ( x ), 

a  x  b,

p1  U (a )  q1 V (a )  t1 , p2  U (b)  q2 V (b)  t 2 .
(2.21а)
(2.21б)
Воспользуемся известным результатом из теории дифференциальных уравнений:
общее решение линейной неоднородной системы равно сумме ее какого-нибудь
частного решения и общего решения соответствующей однородной системы.
Найдем частное решение неоднородной системы (2.21а), положив в левом условии
(2.21б) U (a )  0  0 . Обозначим это частное решение через U 0 ( x ), V0 ( x ) и заметим,
что V0 (a ) 
t1
.
q1
Рассмотрим теперь соответствующую однородную систему
U ( x )  1 ( x )  U  1 ( x ) V , 

V ( x )   2 ( x )  U   2 ( x ) V 
с однородными начальными условиями
U (a )  1  1,
V (a )  
p1
.
q1
Вычислим решение этой задачи Коши и обозначим его через U1 ( x ), V1 ( x ) .
Рассмотрим функции U ( x )  U 0 ( x )  CU1 ( x ) и V ( x )  V0 ( x )  CV1 ( x ) . Очевидно,
что в точке a эти функции удовлетворяют краевому условию:
p1  U (a )  q1 V (a ) 
p1  (U 0 (a )  C  U1 (a ))  q1  (V0 (a )  C V1 (a )) 
p1 (0  C 1)  q1 (
t1
p
 C ( 1 ))  C  p1  t1  C  1 p1  t1.
q1
q1
Поэтому общее решение неоднородной задачи Коши, удовлетворяющее левому
краевому условию (2.21б) дается следующим однопараметрическим семейством
U ( x )  U 0 ( x )  C  U1 ( x ), V ( x )  V0 ( x )  C V1 ( x ).
(2.22)
Значение параметра C выбираем так, чтобы удовлетворить правому краевому
условию (2.21б):
C 
p2  U 0 (b)  q2 V0 (b)  2
.
p2  U1 (b)  q2 V1 (b)
(2.23)
Искомое решение краевой задачи (2.21) тогда находится по формуле (2.23).
Итак, решение линейной краевой задачи требует только двух “выстрелов” –
вспомогательные задачи Коши решаются дважды.
7
5. Метод конечных разностей, или метод сеток.
Рассмотрим линейную краевую задачу
y  p( x )  y  q( x )  y  f ( x ),
a  x  b,
 0  y (a )  1  y(a )  A, 

 0  y (b)  1  y(b)  B, 
(2.24)
(2.25)
(  0  1  0,  0  1  0) ,
где p( x ) , q( x ) , и f ( x) непрерывны на [a, b].
Разобьем отрезок [a, b] на n равных частей длины, или шага
h
(b  a )
.
n
Точки разбиения xi  x0  i  h, i  0, 1,..., n , x0  a , xn  b
называются
узлами, а их совокупность – сеткой на отрезке [a, b]. Значения в узлах искомой функции
y  y( x) и ее производных y  y( x), y  y( x) обозначим соответственно через
yi  yi ( xi ), yi  y( xi ), yi  y( xi ) .
Введем обозначения
pi  p( xi ), qi  q ( xi ), f i  f ( xi ).
Заменим
производные
разностными отношениями:
yi 
так
называемыми
yi 1  yi
,
h
yi 2  yi 1 yi 1  yi

yi1  yi
y  2  yi 1
h
h
yi 

 i 2
h
h
h2
односторонними
конечно-


(2.26)

y
.

i
Формулы (2.26) приближенно выражают значения производных во внутренних
точках интервала [a, b].
Для граничных точек положим
y0 
y1  y0
y  yn
, yn  n1
.
h
h
(2.27)
Используя формулы (2.26), дифференциальное уравнение (2.24) при x  xi , (i=1,
2,..., n–1) приближенно можно заменить линейной системой уравнений
yi 2  2  yi 1  yi
2
h
i  0, 1,..., n  2.
 pi 
yi 1  yi
 qi  y i  f i ,
h
(2.28)
Кроме того, в силу формул (2.27) краевые условия (2.25) дополнительно дают еще
два уравнения:
8
 0 y0   1
y1  y0
 A,
h
 0 yn  1
yn  yn1
 B.
h
(2.29)
Таким образом, получена линейная система n+1 уравнений с n+1 неизвестными
y0 , y1 ,..., yn , представляющими собой значения искомой функции y( x) в узлах сетки.
Система уравнений (2.28), (2.29), заменяющая приближенно дифференциальную краевую
задачу (2.24), (2.25) обычно называется разностной схемой. Решить эту систему можно
каким-либо общим численным методом. Однако схема (2.28), (2.29) имеет
специфический вид и ее можно эффективно решить специальным методом, называемым
методом прогонки. Специфичность системы заключается в том, что уравнения ее
содержат три соседних неизвестных и матрица этой системы является трехдиагональной.
Преобразуем уравнения (2.28):
yi 2  (2  h  pi ) yi 1  (1  h  pi  h2qi ) yi  f i  h2 .
(2.30)
Введя обозначения
2  h  pi  mi ,
1  h  pi  h2  qi  ni ,
2
Получим yi 2  mi  yi 1  ni  yi  f i  h , (i=0, 1,..., n-2).
(2.31)
Краевые условия по-прежнему запишем в виде
 0  y0  1 
y1  y0
 A,
h
 0  yn  1
Метод прогонки состоит в следующем.
Разрешим уравнение (2.31) относительно yi
yi  1 
yn  yn1
 B . (2.32)
h
 1:
f i 2 ni
1
h 
yi 
 yi  2 .
mi
mi
mi
(2.33)
Предположим, что с помощью полной системы (2.31) из уравнения исключен член,
содержащий yi . Тогда уравнение (2.33) может быть записано в виде
yi 1  ci  (d i  yi 2 ) ,
(2.34)
где c i и d i должны быть определены. Найдем формулы для этих коэффициентов. При
i=0 из формулы (2.33) и краевых условий (2.32) следует, что
n
h2
1
y1 
 f 0  0  y0 
y2 ,
m0
m0
m0
y0 
1 y1  A  h
.
1   0  h
Исключая из этих двух уравнений y0 , найдем
f 0 2 n0 1  y1  A  h 1
h 


 y2 .
m0
m0 1   0  h
m0
Выразим теперь отсюда y1 :
y1 
9
n0
f
Ah
1

 0  h2 
 y2
m0  1   0  h m0
m0
y1 

n0
1
1

m0  1   0  h
(2.35)

1   0  h
( n0  A  h  f0  h2  y2 ).
m0  (1   0  h)  n0  1 1   0  h
Но, согласно формуле (2.34),
y1  c0 (d 0  y2 ).
(2.36)
Сравнивая теперь (2.35) и (2.36), найдем, что
c0 
1   0  h
,
m0  (1   0  h)  n0  1 
n  Ah
2
d0  0
 f0 h .
1   0 h



(2.37)
Пусть теперь i >0, то есть i=1, 2,..., n–2. Выражая yi по формуле (2.34), получим:
yi  ci 1  d i 1  ci 1  yi 1 .
Подставляя это в формулу (2.33), будем иметь
f i 2 ni
1
h 
(ci  1  d i  1  ci  1  yi  1 ) 
yi  2 .
mi
mi
mi
Разрешая полученное уравнение относительно yi 1 , находим
f i 2 ni
1
h 
 ci  1  d i  1 
 yi  2
mi
mi
mi
, или
yi  1 
ni
1
 ci  1
mi
1
(2.38)
yi  1 
( f i h2  ni ci 1d i 1  yi 2 ) .
mi  ni ci 1
yi  1 
Отсюда, сравнивая формулы (2.34) и (2.38), получаем для коэффициентов c i и d i
рекуррентные формулы:
ci 
1
,
mi  ni  ci 1
d i  f i h2  ni ci 1d i 1
i  1, 2 ,..., n  2.


,


(2.39)
10
Так как c0 и d 0 уже определены по формулам (2.37), то, используя формулы
(2.39), можно последовательно определить коэффициенты c i и d i до cn2 и d n2
включительно. Эти вычисления называются прямым ходом метода прогонки.
Из формулы (2.33) при i=n–2 и второго краевого условия (2.32) получаем
yn1  cn2 (d n2  yn ), 


yn  yn1
 0 yn  1
 B.
h

Разрешая эту систему относительно yn , будем иметь
yn 
 1  cn  2  d n  2  B  h
.
1  (1  cn2 )   0  h
(2.40)
Теперь, используя (2.34) и первое краевое условие (2.32), мы можем
последовательно найти yn1 , yn2 ,..., y0 . Это − обратный ход метода прогонки.
Итак, получаем следующую цепочку:

yn1  cn2 (d n2  yn ), 

yn2  cn3 (d n3  yn1 ), 

...


y1  c0 (d 0  y2 ),

 y  Ah

y0  1 1
.

1   0 h

(2.41)
Для простейших краевых условий y(a)  A, y(b)  B формулы для c0 , d 0 , y0
и y n упрощаются. Полагая в этом случае
 0  1, 1  0,  0  1, 1  0,
из формул (2.37), (2.40), (2.41) будем иметь
c0 
1
, d 0  n0 A  f 0 h2 ,
m0
yn  B, y0  A .
Рассмотренный нами подход сводит линейную краевую задачу к системе линейных
алгебраических уравнений
Более точную разностную схему можно получить, если при переходе от линейной
краевой задачи к конечно-разностным уравнениям воспользоваться центральными
формулами для производных:
yi 1  yi 1
,
2h
y  2 yi  yi 1
yi  i 1
,
h2
yi 
(2.42)
(2.43)
11
i=1, 2,..., n.
то есть формула (2.42) имеет второй порядок точности относительно шага сетки h.
Подставляя выражения (2.42), (2.43) в задачу (2.24), (2.25) и выполняя некоторые
преобразования, получим следующую систему:
y





2  h2
 f i , i  1, 2,..., n.
i  1  mi  yi  ni  yi  1 
2  h  pi
y1  y0
 A,
h
yn  1  yn  1

y



 B,
0
n
1
2h
0  y0  1 
где
(2.44)
2  qi  h 2  4
2  h  pi
mi 
, n 
.
i 2  h  pi
2  h  pi
Система (2.44) снова трехдиагональная и ее решение также можно получить
методом прогонки. Его алгоритм здесь будет выглядеть так. Сначала находят
коэффициенты
c1 
1   0  h
,
m1  (1   0  h)  n1  1 
2  f1h
A h 
d 1
 n1
.
2  p1  h
1   0  h 

2
(2.45)
Затем определяют коэффициенты ci , d i по следующим рекуррентным формулам:
ci 
1
,
mi  ni  ci 1
2 fi  h2
d i
 ni  ci 1  d i 1
2  h  pi
i  2,3,..., n.



,


(2.46)
Обратный ход начинается с нахождения yn :
2  B  h  1  ( d n  cn1  d n1 )
.
1
2   0  h  1  ( cn1  )
cn
После этого находим yn ,..., y1 , y0 по формулам:
yi  ci  (d i  yi 1 ),
i  n  1, n  2,...,1 ,
A  h  1  y1
.
y0 
 0  h  1
yn 
(2.47)
(2.48)
(2.49)
12
6. Полуаналитические методы решения краевой задачи. Метод коллокации.
Пусть необходимо определить функцию y  y( x) , удовлетворяющую линейному
дифференциальному уравнению
(2.50)
L( y( x))  y  p( x) y  q( x) y  f ( x)
и линейными краевыми условиями
 a   0 y(a )  1 y(a )  A
,

 b   0 y ( b )  1 y ( b )  B 
(2.51)
причем  0  1  0,  0  1  0.
Выберем некоторую совокупность линейно независимых функций
(2.52)
U 0 ( x ), U1 ( x ),..., U n ( x ),
которую назовем системой базисных функций.
Пусть функция U 0 ( x ) удовлетворяет неоднородным краевым условиям
 a (U 0 )  A,  b (U 0 )  B,
(2.53)
а остальные функции удовлетворяют соответствующим однородным краевым условиям:
 a (U i )  0,  b (U i )  0, i  1, 2,..., n .
(2.54)
Если краевые условия (2.51) однородны (A=B=0), то можно положить U 0 ( x )  0
и рассматривать лишь систему функций U i ( x ), i  1, 2,..., n .
Будем искать приближенное решение краевой задачи (2.50), (2.51) в виде линейной
комбинации базисных функций
n
y  U 0 ( x )   ci U i ( x ) .
(2.55)
i 1
Тогда функция y удовлетворяет краевым условиям (2.51). В самом деле, в силу
линейности краевых условий имеем
n
n
i 1
i 1
 a ( y)   a (U 0 )   ci  a (U i )  A   ci  0  A,
и аналогично  b ( y )  B.
Составим функцию R  L( y)  f ( x) . Подставляя сюда вместо y выражение
(2.55), будем иметь
n
R( x, c1 ,..., cn )  L( y)  f ( x )  L(U 0 )  f ( x )   ci L(U i ) .(2.56)
i 1
Если при некотором выборе коэффициентов ci выполнено равенство
R( x , c1 ,..., cn )  0 при a  x  b,
то функция y является точным решением краевой задачи (2.50), (2.51). Однако
подобрать так удачно функции U i и коэффициенты ci в общем случае не удается.
Поэтому ограничиваются тем, что требуют, чтобы функция R( x , c1 ,..., cn ) обращалась в
нуль в заданной системе точек x1 , x2 ,..., xn из интервала [a, b], которые называются
точками коллокации. Сама функция R называется невязкой уравнения (2.50). Очевидно,
13
что в точках коллокации дифференциальное уравнение (2.50) будет удовлетворено
точно, и невязка в этих точках равна нулю.
Итак, метод коллокации приводит к системе линейных уравнений
R( x1 , c1 ,..., cn )  0
...
R( xn , c1 ,..., cn

.
)  0
(2.57)
Из системы (2.57) в случае ее совместности можно определить коэффициенты
c1 ,..., cn , после чего приближенное решение краевой задачи дается формулой (2.55).
14
7. Полуаналитические методы решения краевой задачи. Метод Галеркина.
Пусть дано дифференциальное уравнение с линейными краевыми условиями
(2.62)
L( y( x))  f ( x) ,
 a ( y )   0 y (a )  1 y(a )  A, 

 b ( y )   0 y (b)  1 y(b)  B. 
(2.63)
Будем искать приближенное решение этой краевой задачи в виде суммы
n
yn ( x )   0 ( x )   ak k ( x ),
(2.64)
k 1
 0 ( x ) – некоторая непрерывная функция, удовлетворяющая неоднородным
краевым условиям (2.63), а  k ( x ), k  1, 2,... (1  k  ) – какая-то система линейно
где
независимых функций, удовлетворяющих однородным краевым условиям
 a ( k )  0,  b ( k )  0,
(2.65)
и, кроме того функции  k (x) при 1  k   образуют в классе функций c2[a, b],
удовлетворяющих условиям (2.65), полную систему.
Заметим, что свойство полноты понимается следующим образом.
Обозначим через G класс функций y(x), принадлежащих c2[a, b] (то есть дважды
непрерывно дифференцируемых на [a, b]) и удовлетворяющих граничным условиям
(2.65). Говорят, что система функций { k ( x )} полна в классе G, если для любого   0
и любой функции y( x)  G можно указать такое n и такие параметры a1 , a2 ,..., an ,
что имеет место неравенство
y ( i ) ( x )  gn( i ) ( x )   , i  0, 1, 2, a  x  b,
где gn 
n
ak k ( x ).

k 1
Это означает, что для любой допустимой функции y( x)  G найдется такая
функция g n ( x ) , которая на [a, b] будет сколь угодно точно приближать функцию y(x)
вместе с ее производными y( x ) и y( x) .
Возвращаясь теперь к задаче (2.62), (2.63), видим, что если бы мы нашли такую
функцию y(x), удовлетворяющую условиям (2.63), и чтобы L( y( x))  f ( x) было
ортогонально  k ( x ) при любых k  1, то это означало бы, что L( y( x))  f ( x) , и
задача (2.62), (2.63) была бы решена. Если же ортогональность есть только при k  n , то
в разложении L( y( x))  f ( x) по системе  k ( x ) входят d n1 и более старшие
коэффициенты, то есть L( y( x))  f ( x).
Метод Галеркина состоит в том, что решение задачи (2.62), (2.63) ищется в виде
(2.64), причем требуют ортогональности L( y( x))  f ( x) к функциям полной системы
 k ( x ) для k  1,2..., n , то есть
15
b
a  L( yn ( x))  f ( x) k ( x)dx  0,
где
1  k  n,
(2.68)
n
yn ( x )   0 ( x )   ak k ( x ).
k 1
Это дает алгебраическую систему уравнений для определения коэффициентов ak.
Найдя из нее коэффициенты, получим приближенное решение. В методе Галеркина
функция  0 ( x ) должна удовлетворять краевым условиям (2.63). Поэтому  0 ( x ) можно
выбрать в виде
0 ( x)      x ,
и коэффициенты  ,  найти как решение системы уравнений
 0 (    a )  1  A, 

 0 (    b)  1  B.
Таким же образом отыскиваются функции  k ( x ) . Выберем, например, полную
систему  k ( x ) в виде многочленов последовательных степеней:
k 1
 k ( x )   cik  x i , k  1, , n .
i 0
Коэффициенты cik найдем из однородных краевых условий (2.65)
 0 k (a )  1 k (a )  0, 
(2.65а)

 0 k (b)  1 k (b)  0, 
при всех k  1,2, , n .
2
Так, для k  1 1 ( x )  c01  c02  x  c03  x и условия (2.65а) принимают вид:
 0 (c01  c02a  c03a 2 )  1 (c02  2c03a )  0,
 0 (c01  c02b  c03b2 )  1 (c02  2c03b)  0.
В этой системе из двух уравнений три неизвестных: c01 , c02 , и c03 . Одну из них
можно выбрать произвольно, положив, например,
c01  1 . Аналогично отыскивают
коэффициенты c0k для k  2, , n .
Для
простых
условий
вида
y(a)  A, y(b)  B,
 0   0  1, 1  1  0, функции  k ( x ) можно вычислять по правилу
то
есть
 k ( x )  ( x  a )k ( x  b), k  1, 2,..., n
k
Или  k ( x )  ( x  a )( x  b) , k  1, 2,..., n.
Отметим, что при нелинейном краевом условии вида, например, y(a)  g(U (a))
линейная комбинация (2.64) с произвольными коэффициентами ak уже не будет
удовлетворять этому краевому условию. Поэтому метод Галеркина применим только к
задачам с линейными краевыми условиями, хотя допустим и нелинейный оператор L.
16
8. Разностные схемы для уравнений в частных производных. Основные понятия.
Пусть D − некоторая область изменения независимых переменных x, y, ограниченная
контуром Г. Говорят, что в области D задано линейное дифференциальное уравнение
второго порядка для функции u( x, y) , если для любой точки из области D имеет место
соотношение
 2u
 2u
 2u
L(u)  a ( x , y )
 2b( x , y )
 с ( x, y )

 x y
 x2
 x2
 u
 u
2d ( x, y )
 2e ( x , y )
 g ( x, y ) u  f ( x, y ),
x
 x
(3.1)
где a( x, y), b( x, y) , ... − коэффициенты, f ( x, y) − свободный член уравнения. Эти
функции известны и их обычно считают определенными в замкнутой области
 ( x, y)  b  ac.Уравнение
L(u)  f называется
Обозначим
эллиптическим, параболическим или гиперболическим в D, если соответственно
D D  .
2
выполняются условия  ( x, y)  0,  ( x, y)  0,  ( x, y)  0 для всех ( x, y) D.
В зависимости от типа дифференциального уравнения по разному ставятся
граничные и начальные условия, связанные с этим уравнением. Далее мы будем
рассматривать частные случаи уравнения (3.1):
 уравнение Пуассона (эллиптическое уравнение)
 2u  2u

 f(x, y)
 x2  y2
;
 уравнение теплопроводности
(параболическое уравнение)
 u  2u

 f ( x, t )
 t  x2
;
 волновое уравнение (гиперболическое уравнение)
 2u  2u

 f ( x, y )
 x2  y2
.
17
9. Сходимость, аппроксимация и устойчивость разностных схем
Пусть u есть решение дифференциального уравнения
L(u)  f ,
(3.2)
заданного в области D. Рассмотрим некоторое множество Dh   M h  , состоящее из
изолированных точек M h , принадлежащих замкнутой области D  D   . Число точек
в Dh будем характеризовать величиной h; чем меньше h, тем большим будет число
точек в Dh. Множество Dh называется сеткой, а точки M h Dh − узлами сетки.
Функция, определенная в узлах, называется сеточной функцией.
Обозначим через U пространство непрерывных в D функций u( x, y) . Через Uh
обозначим пространство, образованное совокупностью сеточных функций uh ( x , y ) ,
определенных на Dh. В методе сеток осуществляется замена пространства U на
пространство Uh.
Пусть u( x, y) − точное решение уравнения (3.2) и u( x, y) принадлежит U.
Поставим задачу отыскания значений uh ( x , y ) . Эти значения в совокупности образуют
таблицу, в которой число значений равно числу точек в Dh. Точно поставленную задачу
удается решить редко. Как правило, можно вычислить некоторые сеточные значения
u( h) , относительно которых можно думать, что
u( h)  uh ( x, y ).
Величины u( h) называются приближенными сеточными значениями решения
u( x, y) . Для их вычисления строят систему численных уравнений, которую мы будем
записывать в виде
Lh (u( h) )  f h ,
(3.3)
где Lh есть разностный оператор, соответствующий оператору L, f
( h)
 Fh.Если
f ( x, y)  F , то Fh образуется по F аналогично тому, как Uh образовывалось по U.
Формулу (3) будем называть разностной схемой.
Пусть в линейных пространствах Uh и Fh введены соответственно нормы
 U и
 F , которые являются сеточными аналогами норм
 U и
 F в
h
h
исходных пространствах.
Будем говорить, что разностная схема (3.3) является сходящейся, если при h  0
выполняется условие
uh ( x, y )  u( h)
 0.
Uh
Если выполняется условие
uh ( x, y )  u( h)
 chs ,
Uh
где c − постоянная, не зависящая от h и s>0, то говорят, что имеет место сходимость со
скоростью порядка s относительно шага h.
18
Говорят, что разностная схема (3.3) аппроксимирует задачу (3.2) на решении
u( x, y) , если
Lh (uh ( x, y ))  f ( h)   f ( h) и
Величина
 f ( h)
Fh
 0 при h  0.
 f ( h) называется погрешностью аппроксимации или невязкой
разностной схемы. Если
f
 Mh , где M − константа, не зависящая от h и
( h)
Fh
  0 , то говорят, что разностная схема (3.3) аппроксимирует задачу (3.2) на решении
u( x, y) с погрешностью порядка  относительно шага h.
Разностная схема (3.3) называется устойчивой, если существует такое h0  0 , что
для всех h  h0 и любых f  Fh выполняются условия:
1) разностная схема (3.3) имеет единственное решение;
( h)
2) u
( h)
M f
Uh
( h)
, где M − постоянная, не зависящая от h и f ( h) .
Fh
Иначе говоря, разностная схема является устойчивой, если ее решение непрерывно
зависит от входных данных. Устойчивость характеризует чувствительность схемы к
различного рода погрешностям, она является внутренним свойством разностной задачи,
и это свойство не связывается непосредственно с исходной дифференциальной задачей, в
отличие от сходимости и аппроксимации. Между понятиями сходимости,
аппроксимации и устойчивости существует связь. Она состоит в том, что из
аппроксимации и устойчивости следует сходимость, что отражается в следующей
теореме.
Обычно применение метода сеток заключается в следующем:
1. Вначале указывается правило выбора сетки, то есть указывается метод
замены области Д и контура Г некоторой сеточной областью. Чаще всего сетка
выбирается прямоугольной и равномерной.
2. Затем указывается и строится конкретно одна или несколько разностных
схем. Проверяется условие аппроксимации и устанавливается ее порядок.
3. Доказывается устойчивость построенных разностных схем. Это один из
наиболее важных и сложных вопросов. Если разностная схема обладает аппроксимацией
и устойчивостью, то о сходимости судят по доказанной теореме.
4. Рассматривается вопрос численного решения разностных схем.
В случае линейных разностных схем это будет система линейных алгебраических
уравнений. Порядок таких систем может быть очень большим.
19
10.Разностные схемы для уравнений параболического типа. Решение задачи
Коши.
Рассмотрим задачу Коши для уравнения теплопроводности
 u  2u

  ( x, t ) ,   x   ,
2
t x
t  0,
(3.5)
с условием на прямой t=0
(3.6)
u( x,0)   ( x) ,   x   .
t  0 и   x  
Требуется найти функцию u( x, t ) , которая при
удовлетворяла бы уравнению (3.5), а при t  0 выполняла бы условие (3.6).
Будем считать, что задача (3.5), (3.6) имеет в верхней полуплоскости единственное
решение u( x, t ) , непрерывное вместе со своими производными
 (i )u
 (k )u
, i=1, 2 и
, k=1, 2, 3, 4.
 ti
 xk
Запишем задачу (3.5), (3.6) в виде L(u)  f . Для этого достаточно положить
 u  2u

,    x  , t  0,

L(u)    t  x 2
u( x ,0),    x  , t  0,

 ( x, t ),    x  , t  0,
f 
 ( x ),    x  , t  0.
Будем далее считать, что
рассматриваемом случае
t
изменяется в пределах
0  t  T  .
В
D    x  , 0  t  T  , Г − объединение прямых t=0 и t=T.
Выберем прямоугольную сетку и заменим область D  D  Г сеточной областью
D h . К области D h отнесем совокупность узлов ( xm , t n ) , где
xm  mh , m  0 ,  1,  2,... , h  0 ,
t n  n , n  0, 1,..., N ,   0 , N  T  ( N  1) .
( h)
( h)
Заменим задачу L(u)  f разностной схемой вида Lh (u )  f . Обозначим
n
через u( xm , t n ) точное значение решения задачи L(u)  f в узле ( xm , t n ) , а через um –
соответствующее приближенное решение. Имеем
L(u) ( x
m , tn )
 u
 2u

,

2

t

x
( xm , t n )

( xm , t n )

 m  0,  1,  2,...., n  1, 2,..., N ,
u( x , 0)
.
( xm , t n )



20
 ( x, t ) ( x , t ),
m n


f ( x , t )  m  0,  1,...., n  1, 2,..., N ,
m n
 ( x )
.
( xm , t n )


u
 2u
Для замены выражений
и
 t ( xm , t n )
 x2
воспользуемся формулами
( xm , t n )
численного дифференцирования. Имеем:
u( xm , t n1 )  u( xm , t n )   2 u
u

  2
 t ( xm , t n )

2  t (x
,
(3.7)
(1)
m ,t n )
u( xm , t n )  u( xm , t n1 )   2 u
u

  2
 t ( xm ,tn )

2  t (x
,
(3.8)
(2)
m ,t n )
u( xm , t n1 )  u( xm , t n1 )  2  3u
u

 
 t ( xm , t n )
2
6  t3
 2u
 x2
,
(3.9)
(3) )
( xm , t n

( xm , t n )
u( xm 1 , t n )  2u( xm , t n )  u( xm 1 , t n ) h  u

.
12  x 4 ( x(1) ,t )
h2
2
4
m
(3.10)
n
Назовем некоторую совокупность узлов, привлекаемых для замены задачи
L(u)  f в узле ( xm , t n ) , разностной схемой Lh (u( h) )  f ( h) , шаблоном. Наиболее
употребительные шаблоны изображены на рис. 3:
(m, n+1)
(m-1, n)
(m, n)
(m+1, n)
(m-1, n+1) (m, n+1) (m+1, n+1)
– явный
двухслойный
шаблон
– неявный
двухслойный
шаблон
(m, n)
Рис. 3. Явный и неявный шаблоны
Рассмотрим явный двухслойный шаблон. Для него
21
L(u) ( x
m ,t n )

 u( xm , t n1 )  u( xm , t n ) u( xm 1 , t n )  2u( xm , t n )  u( xm 1 , t n ) (1) (3.11)

 rmn ,

2

h

u( xm ,0)  0.
Здесь мы воспользовались формулами (3.7) и (3.10) и обозначили
(1)
mn
r
  2u

2  t2 (x
h2  4 u
 
12  x 4
(1)
,t )
m n
.
(1) ,t )
( xm
n
Введем обозначение
 ( xm , t n ),
f ( h)  
 ( xm ).
(3.12)
Теперь на основании формул (3.11), (3.12) можно записать разностную схему для
задачи L(u)  f :
( h)
L(1)
)  f ( h) ,
h (u
(3.13)
(1)
где разностный оператор Lh определяется по правилу
 umn1  umn umn 1  2umn  umn 1

,

2

h

(1)
( h)
Lh (u )  umo ,
m  0,  1,...,

n  0, 1, 2,..., N  1.
Аналогично, если использовать неявный двухслойный шаблон, можно получить
такую разностную схему:
( h)
L(2)
)  f ( h) ,
(3.14)
h (u
Где
 umn1  umn umn11  2umn1  umn11

,

2

h

(2)
( h)
Lh (u )  umo ,
m  0,  1,....,

n  0, 1, 2,..., N  1,
 ( xm , t n ),
f ( h)  
 ( xm ).
На основании формул (3.11) и (3.13) можно записать
( h)
L(1)
  (1) f ( h) ,
h (uh ( x, y ))  f
22
где

(1)
f
( h)
(1)
rmn
(h),

0.
Аналогично, используя (3.11), (3.10), (3.14), получим
( h)
L(2)
  (2) f ( h) ,
h (uh ( x , y ))  f
 (2) f ( h)
по
 (2)
  2u
h2  4 u
 
rmn (h) 
2  t 2 ( x ,t (2) ) 12  x 4

m n

0
(1) ,t
( xm
n1 )
.
Разностная схема (3.13) позволяет по значениям решения на нулевом слое, то есть
0
значениям um , m  0,  1,...
вычислить значения на первом слое
u1m , m  0,  1,... . Для этого достаточно в (3.13) положить n = 0 и произвести
1
вычисления, носящие рекурсионный характер. Потом по значениям um можно
2
аналогично при n = 1 вычислить значения um и т.д. В силу этого разностную схему
(3.13) называют явной.
Разностная схема (3.14) такими свойствами не обладает. Действительно, если мы в
(3.14) положим n = 0, то в левой части полученной формулы будет линейная комбинация
1
1
1
0
из значений um1 , um , um 1 , um , в правой части будут значения известной функции
 ( xm ,0) и
 ( xm ) . Для вычисления значений на первом слое
..., u12 , u11 , u10 , u11 , u12 ,... в этом случае необходимо решать бесконечную систему
линейных уравнений. По этой причине схему (3.14) называют неявной.
23
11.Устойчивость двухслойных разностных схем для уравнений параболического
типа
Определим норму в пространстве uh по правилу
u( h )
uh
 max umn .
m ,n
Рассмотрим явную разностную схему (3.13). Выясним, при каких значениях r,
  rh2 возможна устойчивость этой схемы.
Для доказательства устойчивости надо показать, что разностная схема однозначно
разрешима и при любых
g
( h)
 mn
  , g ( h)  Fh
 m
имеет место оценка
z ( h)
Uh
 M g ( h)
Fh
,
где М – постоянная, не зависящая от h и g ( h) и Lh ( z )  g .
Разностная схема (3.13) – явная, и поэтому ее однозначная разрешимость очевидна.
(1)
( h)
( h)
Перепишем формулу Lh ( z )  g
в виде
(1)
( h)
( h)
zmn1  r ( zmn 1  zmn 1 )  (1  2r ) zmn   mn , zm0   m ,
m  0,  1,  2,..., n  0, 1, 2,..., N  1.
(3.17)
Пусть выполнено условие
1  2r  0 или r 

1

.
h2 2
(3.18)
Тогда из (3.17) получим:
max zmn1  r (max zmn  max zmn )  (1  2r ) max zmn   max  mn ,
m
m
m
m
m
или
max zmn1  r (max zmn   max  mn .
m
m
(3.19)
m
n1
n
Неравенство (3.19) означает, что при  m  0 , max zm не превосходит max zm ,
n
m
то есть max z
m
n
m
m
не возрастает с увеличением n.
Это свойство однородной разностной схемы принято называть
максимума. Положим в (3.19) n  0, 1,..., N  1. Это даст
принципом
max z1m  max zm0   max  mn ,
m
m
m ,n
max z  max z   max  mn ,
m
2
m
m
1
m
m ,n
. . .
max z
m
N
m
 max zmN 1   max  mn .
m
m ,n
24
Заметим, что max  mn
есть число, независящее от
m и
n. Просуммировав
m ,n
последние неравенства и, учитывая, что zm   m , получим
0
max zmN  max  m  N max  mn 
m
m
m ,n
 max  m  T max  mn 
m
(3.20)
m ,n
 max(1, T )(max  mn  max  m )  M g ( h)
m ,n
m
Fh
,
где обозначено
1, если  1,
M  max(1, T )  
T , если  1.
На основании (3.20) можно записать
или z ( h)
max zmn  M g ( h)
 M g ( h)
Fh
m ,n
Uh
Fh
.
Таким образом, разностная схема (3.13) при выполнении условия (3.18),
налагаемого на  и h, устойчива. Условие (3.18) весьма жестко, ибо из него следует,
что  
1 2
h .
2
(3.21)
Это приводит к тому, что если мы желаем сохранить устойчивость, то при
вычислениях по схеме (3.13) шаг по времени  приходится выбирать очень малым.
Обратимся теперь к разностной схеме (3.14), соответствующей шаблону,
изображенному на рис. 4,
(m-1, n+1)
(m, n+1)
(m+1, n+1)
(m, n)
Рис. 4. Неявный двухслойный шаблон
и перепишем ее в виде

r (umn11  umn11 )  (1  2r )umn1  umn   ( xm , t n ), 

um0   ( xm ),

 
m  0,  1,  2,..., n  0, 1, 2,..., N  1, r  2 .
h 
(3.22)
Посмотрим, какие надо проделать вычисления, чтобы, используя формулы (3.22),
1
можно было вычислить, например, значения um на первом временном слое со
0
значениями um на нулевом временном слое. Положив в формулах (3.22) n=0, получим:
25
 r (u1m 1  u1m 1 )  (1  2r )u1m  um0   ( xm ,0), 

um0   ( xm ),


m  0,  1,  2,... .

(3.23)
Формулы (3.23) представляют собой бесконечную систему линейных уравнений
1
1
1
1
1
относительно неизвестных ..., u2 , u1 , u0 , u1 , u2 ,... .
Решение таких систем является сложной и трудоемкой задачей, поэтому
разностные схемы (3.14) неудобны для задач Коши на бесконечных отрезках и
применяется редко. Однако если отрезок оси x, на котором рассматривается задача
Коши, конечен, то есть a  x  b, b  a  K , а на прямых x=a и x=b дополнительно
заданы некоторые ограничения на решение u( x, t ) , то разностные схемы вида (3.14)
оказываются весьма эффективными. В частности, можно показать, что такие схемы
являются абсолютно устойчивыми, то есть устойчивыми при любых значениях
r   h2  0 .
Если, например, на отрезках прямых x=a и x=b, заданы условия u(a , t )   0 (t ) ,
u(b, t )   1 (t ) , то вид системы (3.23) существенно изменится:

r (u1m 1  u1m 1 )  (1  2r )u1m   ( xm )   ( xm ,0), 

u1m   0 (t1 ), u1M   1 (t1 ),


ba

m  1, 2,..., M  1, h 
.
M

(3.24)
Формулы (3.24) представляют собой систему M+1 алгебраических уравнений
1
1
1
относительно u0 , u1 ,..., uM . Матрица этой системы трехдиагональна и ее можно
решить методом прогонки. Отсюда ясно, что реализация неявных разностных схем
требует больших вычислительных затрат для вычисления решения на одном временном
слое, но таких слоев может быть немного из-за того, что в этом случае отсутствуют
ограничения на соотношение  / h2 . Если пользоваться явной разностной схемой, то
вычисление решения на следующем слое осуществляется по рекурсионному правилу и
связано с минимальными вычислительными затратами, однако из-за ограничения

h
2

1
число временных слоев в случае явных схем может быть существенно большим
2
по сравнению с числом временных слоев для неявных схем.
Рассмотрим теперь вопрос о сходимости схемы (3.13). Эта схема аппроксимирует
задачу (3.5), (3.6) с погрешностью порядка O(r  h2 ) и устойчива при r  1/ 2 . Поэтому
схема (3.13), по теореме об аппроксимации и устойчивости, будет сходящейся. При этом
погрешность для приближенного решения будет величиной порядка O(r  h2 ) .
26
12.Построение разностной аппроксимации для уравнения Пуассона.
Рассмотрим в некоторой области D с границей Г уравнение Пуассона
 2u  2u

 f ( x, y ) .
 x2  y2
(3.25)
Выберем прямоугольную сетку по правилу
( m , n)  Г h .
К сеточной области Д h отнесем все узлы, принадлежащие области Д  Д  Г
(рис. 5).
Рис. 5. К построению разностной аппроксимации
Возьмем пятиточечный шаблон
(m, n)
(m-1, n)
(m+1, n)
(m, n-1)
Пользуясь расположением точек в этом шаблоне, разобьем узлы области на две
категории: внутренние и граничные. Узел (m, n) будем считать внутренним, если он
сам и четыре соседних точки шаблона принадлежат области Д h (эти узлы обозначены
символом ). Обозначим множество внутренних узлов через Д h . Остальные узлы
0
назовем граничными (помечены  ) и их множество обозначим через Г h .
Таким образом, Д h  Д h  Г h .
0
Очевидно, что разбиение узлов из Д h на внутренние и граничные зависит от
выбранного шаблона.
0
Пусть узел (m, n) Д h . Замену дифференциального уравнения (3.25) разностным
будем осуществлять только во внутренних узлах.
Имеем
27
 2u
 x2
( xm , yn
 2u

 y2
)
 f ( x m , yn ) .
(3.26)
( xm , yn )
Воспользовавшись аппроксимацией вторых производных, получим
u( xm1 , yn )  2u( xm , yn )  u( xm 1 , yn ) h2  4 u

12  x 4
h2
u( xm , yn1 )  2u( xm , yn )  u( xm , yn1 ) l 2  4 u

2
12  y 4
l

(1) , y )
( xm
n
 f ( x m , yn ) ,
(1) )
( xm , yn
(3.27)
(m, n) Д
xm1  xm(1)  xm1 ,
yn1  yn(1)  yn1 .
 4u
 4u
Пусть
и
ограничены по абсолютной величине в Д . Тогда в формуле
 x4  y4
0
h,
(3.27) при достаточно малых h и l можно пренебречь членами, содержащими в качестве
множителей h2 и l 2 , и мы получим искомое разностное уравнение
( h)
L(1)
)  f ( h) ,
(3.28)
h (u
где
( h)
L(1)
)
h (u
um 1,n  2um ,n  um 1,n
h2
 f ( x m , yn ) .
(m, n) Д h0 , f ( h)

um ,n1  2um ,n  um ,n1
l2
В силу определения невязки уравнения можно получить
( h)
L(1)
   f ( h) ,
h (uh ( x, y ))  f
,
(3.29)
где uh ( x , y ) – точное решение в узлах,
f
( h)
h2  4 u

12  x 4
(1) , y
( xm
n
l 2  4u

12  y 4
)
, (m, n) Д h .
0
(3.30)
(1) )
( xm , yn
 4u  4u
При сделанных предположениях относительно
и
, как видно из (3.30),
 x4  y4
имеет место оценка
  f ( h)
Fh
 Mh2 .
(3.31)
Здесь М – постоянная, не зависит от h и l    h .
Оценка (3.31) означает, что разностное уравнение (3.28) аппроксимирует
2
уравнение (3.25) на решение u(x, y) с погрешностью порядка O(h ) .
28
13.Различные краевые задачи и аппроксимация граничных условий.
К уравнениям эллиптического типа, в частности, к уравнению Пуассона (3.25), на
границе Г области D присоединяются граничные условия трех видов:
1) граничные условия 1-го рода:
u   ( М ) ;
(3.32)
2)
граничные условия 2-го рода:
u
  (M ) ,
n
u
– производная по внешней нормали;
n
3) граничные условия 3-го рода:
u



(
x
,
y
)
  ( x, y )u    ( М ) ,

n

 ,  , – известные функции.
(3.33)
(3.34)
Если требуется определить функцию u( x, y) , которая в области D удовлетворяет
уравнению (3.25), а на границе Г – одному из краевых условий, то говорят, что
поставлена граничная задача для эллиптического уравнения.
Задача (3.25), (3.32) называется задачей Дирихле,
задача (3.25), (3.33) – задачей Неймана,
а задача (3.25), (3.34) – смешанной граничной задачей.
Рассмотрим, как можно заменить граничные условия первого рода разностными
условиями (рис. 6). Отметим, что граничные условия заменяются условиями на
множестве граничных узлов Г h .
Пусть (m, n) – некоторый узел из Г h ; обозначим его буквой В; (m  1, n) –
внутренний узел, ближайший к В по направлению x; обозначим его буквой А. Буквой
М обозначим точку контура Г, ближайшую к В по направлению x.
Рис. 6. Замена граничных условий первого рода
разностными условиями
Координаты этих точек такие:
M ( xm   , yn ), 0< <h, B(xm , yn ), A( xm 1 , yn ) .
29
По условию (3.32) имеем u Г   ( М ) .
Значит, можно положить
umn   ( M )   ( xm   , yn )
для узлов (m , n)  Г h .
Найдем погрешность формулы (3.35).
Имеем
 ( M )  u( x m   , y n )  u( x m , y n )  
(3.35)
u
,
 x ( xm(1) , yn )
xm    xm(1)  xm .
Значит, u( xm , yn )   ( M )  u( xm , yn )  umn  
u
.
 x ( xm(1) , yn )
Отсюда следует, что погрешность формулы (3.35) будет иметь первый порядок
относительно h в предположении, что    h . Если точки М и В совпадают, то
формула (3.35) будет точной.
umn при (m, n)  Г h можно повысить, если
Точность вычисления
воспользоваться еще значением u( x, y) в точке А.
Имеем:
u
(3.36)
 O ( 2 ) ,
xB
u
u( А)  u( xm  h, yn )  u( B)  h
 O (h2 ) .
(3.37)
xB
u
Исключив из (3.36)
с помощью (3.37), получим
xB
h ( M )  u( A)
u( B ) 
 O ( h2 ) .
h
2
Отбросив здесь величину O(h ) , найдем разностное граничное условие,
2
аппроксимирующее граничное условие (3.32) в узле (m , n)   h с погрешностью O(h )
h ( M )  um 1,n
: umn 
.
(3.38)
h
u( M )  u( xm   , yn )  u( B)  
Обратимся теперь к замене граничного условия 2-го рода разностным уравнением
(рис. 7).
30
Рис. 7. Замена граничных условий второго рода
разностными условиями
Пусть В – граничный узел с координатами ( xm , yn ) , М – ближайшая к В точка
контура Г, А – внутренний узел с координатами ( xm 1 , yn ) , С – граничный узел с
координатами ( xm , yn1 ), n – внешняя нормаль к Г в точке М. Обозначим угол между
n и осью Ox через , между n и осью Oy – через . Очевидно, что  
По определению имеем
3
 .
2
u u
u
u
u

cos 
cos  
cos 
sin  .
n x
y
x
y
Предположим, что в точке В направление нормали такое же, как и в точке М.
Поскольку расстояние между
В и
М есть величина порядка O(h) , то это
предположение связано с внесением погрешности того же порядка O(h) . Значит,
u
u

.
 nM  nB
Поэтому окончательно получим
u( xm , yn )  u( xm 1 , yn )
cos 
h
u( xm , yn )  u( xm , yn1 )

sin   O (h  l )   ( M ).
l
Используя приблизительные сеточные значения, найдем
um ,n  um 1,n
h
cos 
um ,n  um ,n1
l
sin    ( M ) .
(3.39)
Эта формула является разностной аппроксимацией в узле (m , n)  Г h граничного
условия второго рода с погрешностью O(h  l ) .
Выражения вида (3.39) должны быть записаны для всех граничных узлов
u Г   ( М ) , после чего будут получены разностные граничные условия,
аппроксимирующие граничные условия (3.33). Процедура замены граничных условий
разностными может оказаться весьма громоздкой и сложной, особенно если контур Г
имеет непростую форму. Замена граничных условий третьего рода может быть
осуществлена с помощью формул вида (3.35), (3.37), (3.38).
31
14.Построение разностной схемы в случае задачи Дирихле для уравнения
Пуассона.
Пусть в прямоугольной области D  {0  x  a , 0  y  b} задано уравнение
 2u  2u

 f ( x , y ) , (3.40)
Пуассона
 x2  y2
а на границе Г области D – условие Дирихле u Г   ( М ) .
(3.41)
Будем считать, что задача (3.40), (3.41) имеет единственное решение u( x, y) в
 4u
 4u
области Д  Д  Г и это решение имеет непрерывные в D производные
и
 y4
 x4
.Возьмем прямоугольную сетку
xm  mh,
m  0, 1, 2,..., M ,
yn  nl ,
n  0, 1, 2,..., N ,
a
,
M
b
l .
N
h
Используя формулы (3.28) и (3.35), запишем разностную
2
2
аппроксимирующую задачу (3.40)–(3.41) с погрешностью порядка O(h  l ) :
схему,
Lh (u( h) )  f ( h) ,
(3.42)
 um 1,n  2um ,n  um 1,n um ,n1  2um ,n  um ,n1

,

2
2
h
l

( h)
где Lh (u )  m  1, 2,..., M  1, n  1, 2,..., N  1,
u , (mh, nl )   .
h
 mn

 f ( xm , yn ), m  1, 2,..., M  1, n  1, 2,..., N  1,
f ( h)  
 (xm ,yn ), (mh, nl )   h .
Разностная схема (3.42) представляет собой систему линейных алгебраических
уравнений. Число уравнений этой системы равно ( M  1)  ( N  1) .
Столько же и неизвестных: umn при m  1, 2,..., M  1; n  1, 2,..., N  1.
Доказательство устойчивости схемы (3.42) сводится к выявлению двух свойств.
1.
Разностная схема Lh ( z
( h)
 mn
,
)  g ( h) , где g (h)  

 mn
g ( h) – произвольный элемент из Fh , однозначно разрешима.
2. Имеет место оценка z ( h)
 C g ( h) ,
Uh
Fh
где С – постоянная, не зависящая от h и g
правилу z
( h)
Uh
 max zm ,n ,
m ,n
g ( h)
Fh
( h)
.Здесь нормы, как и прежде, определим по
 max  mn  max  mn .
m ,n
m ,n
32
15.Метод матричной прогонки. Итерационный метод решения разностной схемы
для задачи Дирихле.
Перепишем разностную схему (3.42) так:
um1,n  2umn  um 1,n   (um ,n1  2umn  um ,n1 ) 
(3.55)
h2 f ( xm , yn ),
m  1, 2,..., M  1; n  1, 2,..., N  1;
u0 n   (0, yn ),
uMn   (a, yn ), n  1, 2, ... , N  1,
um 0   ( xm , 0),
umN   ( xm , b), m  1, 2, ... , M  1,
h2
   0.
l2
Пусть M>N. Введем обозначение
um ,1
um 
, m  0,..., M .
(3.56)
um , N 1
Положим в формулах (3.55) n=1, ... , N–1 и, используя (3.56), запишем систему
уравнений (3.55) в векторной форме:
um1  Aum  um 1  f m ,
u0   0 , uM   a ,
m  1, ..., M  1, 


(3.57)
где A – трехдиагональная матрица порядка N – 1 вида
(2  2 )

А
.
0
0

0 ...
(2  2 )  ...
.
. .
0
0 ...
0
0 ...
0
0
.

0
0
.
(2  2 )
0
0
.

0

(2  2 )
,
h2 f ( xm , y1 )   ( xm ,0)
h2 f ( x m , y2 )
fm 
,
h2 f ( x m , y N  2 )
h2 f ( xm , y N 1 )   ( xm , b)
 (0, y1 )
 (а, y1 )
0 
 (0, y2 )
 (0, y N 1 )
,
a 
 (а , y2 )
.
 (а, y N 1 )
33
Задача (3.57) аналогична задаче, которая решалась нами методом прогонки. Ее
отличие лишь в том, что она имеет векторную форму.
Приведем здесь алгоритм решения задачи (3.57), который называется матричной
прогонкой.
1
1. По формуле Rm 1  ( A  Rm ) , m  1 ,...., M  1, полагая R1  0 ,
Rm  ( Rij( m ) ), m  1, 2,..., M . Порядок этих
 Ν  1   Ν  1 . После этого положим вектор S1   0 , а затем по формуле
Sm 1  Rm 1 ( Sm  f m ), m  1, 2,..., M  1, вычислим векторы
вычисляем
Sm 
матрицы
S1( m )
S2( m )
матриц
, m  1 ,2,..., M .
S N( m1)
2. Положим uM   a . По формуле um 1  Rm um  S M , m  M , M  1, ... , 1,
вычислим последовательно искомые значения решения задачи (3.57):
uM , uM 1 , ... , u1 , u0 .
Итерационный метод решения разностной схемы для задачи Дирихле
Выразим из схемы (3.42) значения umn :
1
 um 1,n  um 1,n   (um ,n1  um ,n1 )  h2 f m ,n  , 
2(1   )

m  1, 2,..., M  1; n  1, 2,..., N  1;


h2

  2 , f m ,n  f ( xm , yn ).

l
umn 
(3.58)
Значения на границах известны:
u0 n   (0, yn ),
uMn   (a, yn ), n  1, 2,..., N  1; 
(3.59)

um 0   ( xm ,0), umN   ( xm , b), m  1, 2,..., M  1.
В равенстве (3.58) значение umn выражается через четыре соседних значения uij
по пятиточечному шаблону.
В итерационном методе решения полагают значения umn во всех внутренних
точках области Д h равным некоторым произвольным начальным значениям.
Часто полагают umn  0, m  1, 2, ... , M  1; n  1, 2, ... , N  1.
(0)
(1)
(2)
Затем с помощью формул (3.58), (3.59) вычисляют новые значения umn , затем umn
и так далее, до тех пор, пока максимальное отклонение значений сеточных функций на
предыдущей и текущей итерациях не станет меньше по модулю, чем некоторая заранее
заданная точность  . Итак, итерации прекращают, когда выполнится условие
(l )
( l 1)
(3.60)
MAX  max umn
 umn
.
m ,n
34
16.Разностные схемы для уравнений гиперболического типа. Решение задачи
Коши
Разностные схемы для уравнений гиперболического типа
Типичное и наиболее простое уравнение гиперболического типа – это волновое
уравнение:
 2u  2u

 f ( x, y ) .
2
2
x y
(3.61)
В связи с этим уравнением будем рассматривать следующие задачи.
1. Задача Коши. В области D  { y  0,    x  } найти функцию
U ( x, y) , удовлетворяющую уравнению (3.61), а на прямой y=0 – начальным условиям
u( x,0)   ( x ),
u
y
  ( x) .
(3.62)
y 0
Смешанная граничная задача. В области D  { y  0,   x   } найти
функцию u( x, y) , которая в этой области удовлетворяет уравнению (3.61), а на границе
Г области D при y=0 – начальным условиям (3.62), а при x   , x   – одному из
трех граничных условий:
а) условиям первого рода
u( , y )  1 ( y ), u(  , y )   2 ( y ) ;
(3.63)
б) условиям второго рода
2.
u
x
 1 ( y),
u
x
  2 ( y) ;
(3.64)

u



(
y
)


(
y
)
u


(
y
),
1
2
1



x

x 

u


  2 ( y ).
 1 ( y )  x   2 ( y )u 

x
(3.65)
x 
x
в) условиям третьего рода
Решение задачи Коши
Выберем прямоугольную сетку, положив
xm  mh,
m  0,  1,
yn  nl ,
n  0, 1, .
;
Рассмотрим трехслойный шаблон
(m, n+1)
(m-1,n)
(m,n)
(m+1,n)
(m, n-1)
35
Используя взятый шаблон, можно получить разностную схему
Lh (u( h) )  f ( h) ,
(3.66)
где
 umn 1  2umn  umn 1 umn1  2umn  umn1

,

2
2
h
l

um0 ,
( h)
Lh (u )  
1
0
 um  um
,

l

; n  1, 2,
,
m  0,  1,
 f ( xm , yn ),
 ( x ),

m
( h)
f 
 ( xm ),
m  0,  1, ... ; n  1, 2,
.
Разностная схема, аппроксимирующая задачу (3.61), (3.62) с погрешностью
( h)
( h)
2
2
порядка O(h  l ) : Lh (u )  f ,
(3.70)
где оператор Lh вычисляется так же, как и в (3.66), а
 f ( xm , yn ),
 ( x ),
m

( h)
f 
l

(
x
)

( xx (um0 )  f ( xm ,0)),
m

2

.
m  0,  1, ; n  1, 2,
0
1
2
Покажем теперь, как по значениям um и um вычислить значения um . В силу
(3.66) и (3.70) имеем
um0   ( xm ),
1
1
u1m   ( xm )  l ( ( xm )  l  xx ( ( xm ))  lf ( xm ,0)),
2
2
m  0,  1,
.
(3.71)
Разностное уравнение в схеме (3.70) перепишем в виде
umn1  2umn  l 2  xx (umn )  umn1  l 2 f ( xm , yn ),
m  0,  1,
; n  1, 2,
(3.72)
.
2
При n=1 по формуле (3.72) вычислим значения um ,
m  0,  1,
; значения
um0 и u1m известны в силу (3.71). Затем по (3.72) при n=2 вычисляем значения um3
1
2
через уже известные значения um , um и так далее.
36
17.Разностные схемы для уравнений гиперболического типа. Решение смешанной
задачи.
Пусть уравнение
 2u  2u

 f ( x, y )
 x2  y2
D  {0  y  Y  ,   x   } .
(3.73)задано в области
Будем считать, что к уравнению (3.73) присоединены начальные условия
u( x,0)   ( x ),
u
y
  ( x ),   x   (3.74) и граничные условия третьего рода
y 0
u



(
y
)


(
y
)
u
 1 ( y ),
 1

x 2
x 
u



(
y
)


(
y
)
u
  2 ( y ).
 1

x 2
x
(3.75)
Выберем равномерную прямоугольную сетку, положив
b 
;
M
, N , Nl  Y  ( N  1)  l , l  0.
xm  mh, m  0, 1,..., M , h 
yn  nl ,
n  0, 1,
Для замены уравнения (3.73) разностным воспользуемся, как и в случае задачи
Коши, явным пятиточечным трехслойным шаблоном. Сеточную область Dh разобьем на
множество Д h внутренних узлов Д h  {( xm , yn ), m  1, ... , M - 1; n  1,
и множество Гh граничных узлов
0
0
, N - 1}
Г h  {( xm , yn ), m  0, ... , M , n  0;
m  0, n  0, ..., N ; m  M , n  0, ..., N }.
0
На множестве Д h уравнение (3.73) и начальные условия (3.74) аппроксимируются
разностной схемой вида (3.70). Для замены граничных условий на прямых x= и x=
воспользуемся формулами типа (3.68):

u1n  u0n
 1n
  2 n u0n  1n ,

h
(3.76)

n
n
u  uM 1
n
 1n M
  2 n uM
  2n ,

h
n  0, 1, , N , где 1n=1(y), 2n=2(yn) и так далее. В заключение заметим, что
( h)
 fh
достаточным для устойчивости по начальным данным разностной схемы Lh u


является условие
l2
1

,  >0 .
h2 1  
37
18.Общие понятия метода конечных элементов.
Основная идея метода конечных элементов состоит в том, что любую
непрерывную величину, такую как температура, давление и тому подобное, можно
аппроксимировать дискретной моделью, которая строится на множестве кусочнонепрерывных функций, определенных на конечном числе подобластей. Кусочнонепрерывные функции определяются с помощью значений непрерывной величины в
конечном числе точек рассматриваемой области.
В общем случае непрерывная величина заранее неизвестна и нужно определить
значения этой величины в некоторых внутренних точках области.
При построении дискретной модели поступают следующим образом.
1. В рассматриваемой области фиксируется конечное число точек. Эти точки
называются узловыми точками или узлами.
2. Значения непрерывной величины в каждой узловой точке считается
переменной, которая должна быть определена.
3. Область определения непрерывной величины разбивается на конечное число
подобластей, называемых элементами. Эти элементы имеют общие узловые точки и в
совокупности аппроксимируют форму области.
4.
Непрерывная величина аппроксимируется на каждом элементе
многочленом, который определяется с помощью узловых значений этой величины. Для
каждого элемента определяется свой многочлен, но многочлены подбираются таким
образом, чтобы сохранилась непрерывность величины вдоль границ элементов.
Полином, связанный с каждым элементом, называют функцией элемента.
5.
Объединение конечных элементов в ансамбль. В этом ансамбле узловые
значения неизвестной функции должны быть отрегулированы таким образом, чтобы
обеспечить наилучшее приближение к истинному непрерывному распределению. Этот
этап приводит к алгебраической системе линейных уравнений относительно узловых
значений. Эта система и является моделью искомой непрерывной функции.
6.
Решение полученной системы, то есть нахождение узловых значений.
7.
Нахождение значения искомой величины в любой точке области по узловым
значениям и функциям элементов.
Основная концепция МКЭ может быть наглядно проиллюстрирована на
одномерном примере заданного распределения температуры в стержне (см. рис. 9).
38
Рис. 9. Применение МКЭ к заданному распределению
температуры в одномерном стержне
Разбиение области на элементы может быть проведено двумя различными
способами. Можно, например, ограничить каждый элемент двумя соседними узловыми
точками, образовав 4 элемента, или разбить область на два элемента, каждый из которых
содержит 3 узла (рис. 10).
Рис. 10. Разбиение области на элементы
двумя различными способами
Соответствующий элементу полином определяется по значениям T ( x ) в узловых
точках элемента. В случае разбиения области на четыре элемента, когда на каждый
элемент приходится по два узла, функция элемента будет линейна по х. Окончательная
аппроксимация T ( x ) будет состоять из четырех кусочно-линейных функций, каждая из
которых определена на отдельном элементе.
Другой способ разбиения области на два элемента с тремя узловыми точками
приводит к представлению функции элемента в виде многочлена второй степени. В этом
случае окончательной аппроксимацией T ( x ) будет совокупность двух кусочнонепрерывных квадратичных функций.
При построении дискретной модели непрерывной величины, определенной в двухили трехмерной области, основная идея метода конечных элементов используется
аналогично.
В двухмерном случае элементы описываются функциями x , y . Чаще всего
рассматриваются элементы в форме треугольника или четырехугольника. Функции
элементов изображаются тогда плоскими или криволинейными поверхностями (рис. 11а,
11б). Функции элемента будут представляться плоскостью, если для данного элемента
взято минимальное число узловых точек, которое для треугольного элемента равно трем,
а для четырехугольного – четырем.
Если используемое число узлов больше минимального, то функции элемента будет
соответствовать криволинейная поверхность.
39
Рис. 11а. Элементы в форме треугольника (3 узла)
и четырехугольника (4 узла)
Рис. 11б. Элемент в форме треугольника (6 узлов)
Кроме того, избыточное число узлов позволяет рассматривать элементы с
криволинейными границами.
Окончательной аппроксимацией двумерной величины  ( x, y) будет служить
совокупность кусочно-непрерывных поверхностей, каждая из которых определяется на
отдельном элементе с помощью значений  ( x, y) в соответствующих узловых точках.
40
19.Дискретизация области и нумерация узлов.
Разбиение на элементы одномерной области сводится к делению отрезка на более
короткие участки. Разбиение двумерной области обычно начинают от ее границы с
целью наиболее точной аппроксимации формы границы. Затем производится разбиение
внутренних областей. Часто разбиение области на элементы производят в несколько
этапов. Сначала область разбивают на достаточно крупные подобласти, границы между
которыми проходят там, где изменяются свойства материала, геометрия, приложенная
нагрузка и т.п. Затем каждая подобласть разбивается на элементы. Чаще всего
элементами являются треугольники, так как этот элемент – простейший из двумерных
элементов в смысле аналитической формулировки. При разбиении сначала тело делится
на четырехугольные и треугольные подобласти, которые затем подразделяются на
треугольники, которые по форме близки к равносторонним.
Резкого изменения размеров конечных элементов на границах подобластей
стараются избегать.
Нумерация узлов – следующая процедура этапа выделения конечных элементов.
Порядок нумерации имеет в данном случае большое значение, так как влияет на
эффективность метода.
Целое число L, представляющее собой наибольшую разность между номерами
ненулевых элементов в строке, называется шириной полосы. Чем меньше ширина
полосы, тем меньший объем оперативной памяти требуется для хранения матрицы при
реализации МКЭ на ЭВМ и тем меньше затраты машинного времени на решение
системы уравнений.Ширина полосы L зависит от числа степеней свободы узлов и
способа нумерации узлов.
Число степеней свободы – это количество неизвестных функций, определяемых в
каждом узле. Так, например, для двумерных задач гидравлики в каждом узле
определяются три переменные: давление и составляющие скорости по осям х и у.
При нумерации узлов предпочтителен способ, обеспечивающий минимальную
разность между номерами узлов в каждом отдельном элементе. Если наибольшую по
всей области разность между номерами узлов для отдельного элемента обозначить через
R, а число степеней свободы – через Q, то ширина полосы
L  ( R  1)  Q .
В некоторых случаях уменьшение числа R может быть достигнуто
последовательной нумерацией узлов при движении в направлении наименьшего размера
рассматриваемой области.
На рис. 12 приведены два различных способа нумерации узлов произвольной
области, разбитой на конечные элементы.
41
Рис. 12. Два различных способа нумерации узлов
При первом способе R=14, при втором R=6.
Ширина полосы для этих способов при одной степени свободы в узле получается
равной соответственно 15 и 7, а при двух степенях свободы – 30 и 14. Рациональная
нумерация в случае б) сокращает объем оперативной памяти примерно в два раза по
отношению к случаю а).
Кроме узлов в методе конечных элементов нумеруются также и сами элементы.
Это можно делать произвольным образом, так как нумерация элементов не влияет на
вычислительные аспекты задачи.
42
20.Линейные интерполяционные полиномы.
Классификация конечных элементов может быть проведена в соответствии с
порядком многочленов − функций этих элементов. При этом рассматриваются три
следующие группы элементов:
 симплекс-элементы,
 комплекс-элементы,
 мультиплекс-элементы.
Симплекс-элементам соответствуют многочлены первой степени. Комплексэлементам – многочлены более высокого порядка.
В симплекс-элементе число узлов равно размерности пространства + 1. В
комплекс-элементе число узлов больше этой величины.
Для мультиплекс-элементов также используются многочлены высокого порядка,
но границы элементов при этом должны быть параллельны координатным осям.
43
21.Одномерный симплекс-элемент.
Одномерный симплекс-элемент − это прямолинейный отрезок длины L с двумя
узлами, по одному на концах отрезка (рис. 13). Узлы обозначаются индексами i и j ,
узловые значения − Фi , Фj .
Рис. 13. Одномерный симплекс-элемент
Функция элемента  имеет вид
  1   2 x .
(3.77)
Коэффициенты  1 и  2 легко определяются.
x  X i    i и формула (3.77) дает
 i  1   2 X i .
При
Аналогично
 j  1   2 X j .
Решая два последних уравнения относительно 1 ,  2 , получим
i  X j   j  Xi
1 
L
2 
 j  i
L
,
(3.78)
.
(3.79)
Подставляя найденные значения 1 и 2 в формулу (1), получаем для  выражение

i  X j   j  Xi
L

j i
которое можно переписать в виде
L
 Xj  x
 x  Xi



 i 
 L
 L 
 
x,

 j .

(3.80)
(3.80а)
Линейные функции от х в формуле (3.80а) называются функциями формы или
интерполяционными функциями. Будем обозначать их через Ni и Nj :
Ni 
Xj  x
L
, Nj 
x  Xi
.
L
(3.81)
44
Здесь индексы i и j у N обозначают узел, к которому относится функция формы.
Теперь соотношение (3.80) можно записать в матричном виде:
  N i  i  N j  j   N {} ,
(3.82)
где  N   [ N i , N j ] − матричная строка и
 i 
 − вектор-столбец.

j
 
  
Как видно из формулы (3.81), функция Ni равна 1 в узле с номером i и равна 0 в
узле с номером j. Аналогично функция Nj равна 0 в i-ом узле и 1 в j-ом узле.
Эти значения характерны для функций формы. Они равны
1 в одном
определенном узле и 0 во всех других узлах.
45
22.Двумерный симплекс-элемент.
Двумерный симплекс-элемент изображен на рис. 14.
Рис. 14. Двумерный симплекс-элемент
Будем нумеровать узлы против часовой стрелки. Интерполяционный полином
имеет вид   1   2  x   3  y .
(3.83)
Условия в узлах i, j, k приводят к системе уравнений
Фi  1   2  X i   3  Yi


 j  1   2  X j   3  Y j , 

Фk  1   2  X k   3  Yk .
,
(3.84)
Решение этой системы дает
1  1 [ X j  Yk  X k  Y j    i   X k  Yi  X i  Yk    j
2 А
 X i  Y j  X j  Yi    k ],

 2  1 Y j  Yk    i  Yk  Yi    j  Yi  Y j    k  ,
2А
 3  1  X k  X j    i   X i  X k    j   X j  X i    k  .
2А
Здесь А − площадь треугольника i j k, которая связана с определителем системы
(3.84) следующим образом
1 Xi
2 A  1 X j
1 Xk
Yi
Yj .
Yk
(3.85)
Подставляя значения 1, 2, 3 в формулу (3.83), можно преобразовать выражение
для  к виду, подобному (3.82):   N i   i  N j   j  N k   k ,
(3.86)
ai  X j  Yk  X k  Y j ,

1
a

b

x

c

y
где N i 
,
 i i
 bi  Y j  Yk ,
i
2 A

ci  X k  X j ,
(3.86а)
46
a j  X k  Yi  X i  Yk ,

1
a j  b j  x  c j  y  , b j  Yk  Yi ,
Nj 
2 A

c j  X i  X k ,
ak  X i  Y j  X j  Yi ,

1
Nk 
ak  bk  x  ck  y  , bk  Yi  Y j ,
2 A

ck  X j  X i ,
(3.86б)
(3.86в)
Легко показать, что значение Ni в i-ом узле равно 1, Ni=0 во втором и третьем
узлах, а также во всех точках прямой, проведенной через эти узлы.
47
23.Местная система координат.
Получение системы уравнений для узловых значений неизвестных величин
включает интегрирование по площади элемента функций формы или их частных
производных. Интегрирование может быть упрощено, если записать интерполяционные
соотношения в системе координат, связанной с элементом. Эту систему называют
местной или локальной.
Рассмотрим треугольный элемент, в котором скалярная величина представлена в
виде:   N i   i  N j   j  N k   k ,
(3.86)
где
ai  X j  Yk  X k  Y j ,

1
Ni 
ai  bi  x  ci  y  , bi  Y j  Yk ,
2 A

ci  X k  X j ,
(3.86а)
a j  X k  Yi  X i  Yk ,

1
a j  b j  x  c j  y  , b j  Yk  Yi ,
Nj 
2 A

c j  X i  X k ,
(3.86б)
ak  X i  Y j  X j  Yi ,

1
Nk 
ak  bk  x  ck  y  , bk  Yi  Y j ,
2 A

ck  X j  X i ,
(3.86в)
а функции формы определяются формулами (3.86а, 3.86б, 3.86в).
Поместим начало локальной системы в центре элемента (рис. 15):
t
y
k
s
j
i
x
X
Рис. 15. Местная система координат
Запишем формулы преобразования координат:
48
x  X  s, 

y  Y  t . 
(3.87)
Здесь X и Y – координаты центра треугольника
X
Y
Xi  X j  Xk
3
Yi  Y j  Yk
3
,
(3.88)
.
Функция формы Ni после подстановки (3.87) примет вид
Ni 


1 
ai  bi  X  ci  Y  bi  s  ci  t  .


2 A
(3.89)
Учитывая теперь (3.86а) и соотношение (3.88), можно получить, что
ai  bi  X  ci  Y 
2 A
.
3
Таким образом, функция формы в местной системе координат принимает вид
Ni 
1 2 A

.

(
Y

Y
)

s

(
X

X
)

t
j
k
k
j


2 A  3

(3.90а)
Аналогично получаем
1 2 A


(
Y

Y
)

s

(
X

X
)

t
i
k
k
i
 ,
2  A  3
1 2 A

Nk 

(
Y

Y
)

s

(
X

X
)

t
i
j
j
i
 .
2  A  3
Nj 
(3.90б)
(3.90в)
Интеграл от функции, заданной в глобальной системе координат, может быть
вычислен в местной системе координат с помощью соотношения
R f ( x, y)dx dy  * f  x (s, t ), y (s, t )
J ds dt ,
(3.91)
R
где R и R* − соответственно старая и новая области интегрирования, |J| − модуль
якобиана преобразования системы координат, который равен отношению площадей в
двух системах координат Axy Ast .Так как обе системы прямоугольные и масштабы
измерения в них совпадают, то |J| = 1.
Кроме того, заметим, что формы элементов R и R* сохраняются.
Таким образом, соотношение (3.91) принимает вид
R f ( x, y)dxdy  R* f  x( s, t ), y(s, t )  dsdt .
(3.92)
Функция f ( x, y) в левой части этого равенства представляет собой функцию
формы элемента, выраженную в глобальной системе координат, тогда как
f [ x( s, t ), y( s, t )] соответствует функции формы элемента, представленной в
локальной системе координат.
49
24.Двумерные L-координаты.
Для треугольного элемента наиболее распространенной является система
координат, определяемая тремя относительными координатами L1, L2, L3 (см. рис. 16).
k
b
L1
h
L2
s
L3
j
i
Рис. 16. L-координаты для треугольного элемента
Каждая координата представляет собой отношение расстояния от выбранной точки
треугольника до одной из его сторон S к высоте h, опущенной на эту сторону из
противолежащей вершины. Ясно, что координаты Li изменяются в пределах от 0 до 1.
Координаты L1, L2, L3 называются L-координатами. Их значения дают относительные
величины площадей треугольников, на которые разбит элемент (рис. 17).
k
b
h
A1
A2
j
B
A3
s
Рис. 17. Геометрическая интерпретация L-координат
i
L-координаты точки В представляют собой площади треугольников,
изображенных на рис. 17. Площадь At треугольника (i, j, k) дается формулой
50
bh
.
(3.93)
2
Площадь A1 заштрихованного треугольника ( B, j, k ) равна
bs
A1 
.
(3.94)
2
A s
Поэтому 1   L1 .
(3.95)
At h
A
A
Аналогично L2  2 , L3 = 3 .
(3.96)
At
At
At 
Так как A1+A2+A3 = At, то
L1  L2  L3  1.
(3.97)
Оказывается, что координатные переменные
функции формы для треугольного симплекс-элемента:
L1 , L2 , L3 представляют собой
N i  L1 , N j  L2 , N k  L3 .
(3.98)
Как видно из рис. 17,
1 в узле с номером i ,
L1  
0 в узлах j и k.
Подобные соотношения выполняются также для L2 и L3 .
Кроме того, формула (3.97) позволяет утверждать, что в произвольной точке
элемента функции формы всегда в сумме равны 1.
Преимуществом L-координат является существование интегральных формул,
которые упрощают вычисление интегралов вдоль сторон элемента и по его площади:
a b
 L1 L2dL 
L
a !b!
 L,
(a  b  1)!
(3.99)
(L – расстояние между двумя узлами рассматриваемой стороны).
a b c
 L1 L2 L3dA 
A
a !b!c !
 2A.
(a  b  c  2)!
(3.100)
Использование соотношения (3.100) может быть проиллюстрировано при
вычислении интеграла вида
A N i  N j dA,
где Ni и Nj – функции x и y. Этот интеграл по площади элемента преобразуется
следующим образом:
1
1
0
 N i  N j dA   L1  L2  L3dA 
A
A
1!1!0!
2A A
 2A 
 .
(1  1  0  2)!
4! 12
51
25.Объединение элементов в ансамбль.
Интерполяционный полином для каждого элемента имеет вид
(3.101)
 (e )  [ N (e ) ]  {Ф}  N i(e )  Фi  N (j e )  Ф j  N k( e )  Фk ,
где индекс (е) означает произвольный элемент.Техника включения элемента в область
может быть проиллюстрирована на примере простой пятиэлементной конфигурации
(рис. 18).
Рис. 18. Пятиэлементная конфигурация
Узлы пронумерованы от единицы до шести. Величины Ф1, Ф2, Ф3, Ф4, Ф5, Ф6
представляют собой глобальные степени свободы. Координаты узлов (X, Y ),  =1,....,
6, предполагаются известными. Номера элементов записаны в круглых скобках.Для
обозначения номеров узлов элемента могут быть использованы принятые выше индексы
i, j, k, как только определен первый узел в каждом элементе. На рис. 18. i-й узел в
каждом элементе выделен символом  .Фиксирование узла i позволяет записать
следующие равенства для различных элементов:
Элемент1: i=2, j=3, k=1;
(3.102a)
Элемент2: i=3, j=2, k=4;
(3.102б)
Элемент3: i=5, j=3, k=4;
(3.102в)
Элемент4: i=6, j=3, k=5;
(3.102г)
Элемент5: i=1, j=3, k=6.
(3.102д)
С помощью этих соотношений осуществляется включение элемента в область, так
как они ставят в соответствие индексы элемента i, j, k глобальным номерам узлов. Этот
процесс фиксирует координаты узлов элемента.Значения индексов i, j, k могут быть
подставлены в формулу (3.101), что приводит к следующей совокупности уравнений для
элементов:
 (1)  N 2(1)  Ф2  N 3(1)  Ф3  N1(1)  Ф1 , 

 (2)  N 3(2)  Ф3  N 2(2)  Ф2  N 4(2)  Ф4 , 

 (3)  N 5(3)  Ф5  N 3(3)  Ф3  N 4(3)  Ф4 , 
 (4)  N 6(4)  Ф6  N 3(4)  Ф3  N 5(4)  Ф5 , 

(5)
(5)
(5)
(5)
  N1  Ф1  N 3  Ф3  N 6  Ф6 . 
(3.103)
52
Функции формы − множители при узловых значениях в формулах (3.103) −
определяются подстановкой числовых значений i, j, k в уравнения для функций формы.
Так, функция Nk(e) записывается в виде
1
a ( e )  bk( e )  x  ck( e )  y  , 
(e )  k
2A

где


(e)
an  X i  Y j  X j  Yi ,


bk(e)  Yi  Y j ,


ck(e)  X j  X i .


N k( e ) 
(3.104)
Для пятого элемента i=1, j=3, k=6, что дает
1

(5)
(5)
(5)


a

b

x

c

y
,
6
6
6

2 A(5) 

a6( 5 )  X1  Y3  X 3  Y1 ,
(3.105)


b6( 5 )  Y1  Y3 ,

(5)

c6  X 3  X1.
(4)
(5)
Функции формы N 6 и N 6 в (3.103) − разные величины, даже если равны
N 6(5) 
A(4) и A(5) . В выражение для N 6(4) входят константы
a6(4)  X 3Y5  X 5Y3 ,
b6(4)  Y3  Y5 ,
c6(4)  X 5  X 3 ,
откуда ясно, что N 6  N 6 .
С помощью равенств (3.103) конечные элементы объединяются в ансамбль, а
интерполяционные функции выражаются через глобальные узловые значения и
глобальные координаты, которые вводятся вместо произвольных i , j , k .
4
(5)
53
26.Вывод уравнений для элементов с помощью метода Галеркина.
Если исходить из дифференциального уравнения
Lu  f  0
и приближенное решение искать в виде u   N i u i , то для него будем иметь
Lu  f   ,
где

– ошибка, или невязка, поскольку решение u −
приближенное.
Необходимо сделать  малой величиной.
В методе Галеркина это достигается с помощью соотношений ортогональности
R N i   dR  0
для каждой из базисных функций Ni.
Это равенство означает, что базисные функции должны быть ортогональны
ошибке по области R.
Применение метода Галеркина в сочетании с МКЭ приводит к уравнениям
(3.106)
N β  L(  ) dR  0 ,   i , j , k ,
,
R
где  искомая величина, которая аппроксимируется соотношением
  [ N i , N j , N k , ...]{Φ} ,
(3.107)
а L() − левая часть дифференциального уравнения
решить.
L() = 0, которое необходимо
54
27.Пример расчета одномерного температурного поля в однородном стержне.
Пусть имеется стержень длиной L и площадью поперечного сечения S. Один
конец стержня закреплен и к нему подводится тепловой поток
q
заданной
интенсивности (рис. 19).
Рис. 19. Иллюстрация к примеру 3.5.10
На свободном конце стержня происходит конвективный теплообмен с внешней
средой. Коэффициент теплообмена – , а температура окружающей среды − Т0. Вдоль
боковой поверхности стержень теплоизолирован.
Температурное поле в стержне описывается уравнением теплопроводности
d 2 T

 0.
dx 2
(3.108)
Краевые условия следующие:
dT
q 0
dx
dT

   T  T0   0
dx

при х=0,
(3.109а)
при x=L.
(3.109б)
Здесь  − коэффициент теплопроводности,  − коэффициент теплопередачи.
Разобьем стержень на два конечных элемента и обозначим длину каждого из них
через L(e), е=1, 2.
Применив метод Галеркина к уравнению (3.108), получим
 N 
T
V
d 2T
  2 dV  0 ,
dx
(3.110)
где [N]T − вектор-столбец, полученный транспонированием строки [N] из функций
формы одномерного симплекс-элемента (3.81).
Подставим в (3.110) формулу дифференцирования произведения:
d 2T
V  N    dx 2 dV 
d 
dT 
d
dT
T
T
N


dV

N


dV .





V dx 
V dx
dx 
dx
T


(3.111)
55
Интерполяционная функция Т является кусочно-линейной, поэтому интегралы в
(3.111) можно представить суммой соответствующих интегралов для отдельных
элементов. Так, второй интеграл в (3.111) можно представить в виде
dN 
T

dx
V
2
dT
 dV   
dx
e 1 V ( e )
d  N ( e ) 
dx
T

(e )
dT ( e )
dV ( e ) .
dx
(3.112)
Вычислим в (3.112) интегралы, относящиеся к отдельным элементам:
,
(3.113)
T 
dT ( e ) d
1
 N ( e )   {T ( e ) }  ( e )  1, 1  i  .

dx
dx
L
Tj 


(3.114)
Теперь

V
d  N ( e ) 
(e )
dx
S (e ) (e )

L( e )

(e )
dT ( e )
 ( e )  1 1 Ti  ( e )
(e )
dV   ( e ) ( e ) 
 T  dV 

1
1
dx
(e ) L L

 j 
V
 1 1 Ti 
 1 1  T .

 j 
(3.115)
Первый интеграл в (3.111) на основании теоремы Остроградского-Гаусса
преобразуется к виду
d 
dT 
dT
T
T
N



dV

N



 l x dS ,
(3.116)





V dx 
S
dx 
dx
dT dT

где l x
, n − внешняя нормаль к рассматриваемой поверхности.
dx dn
С учетом краевого условия (3.109а) в точке х=0 для первого элемента интеграл
(3.116) примет вид
  N
(1) T
 
(1)
S
dT (1)
dS 
dn
 x2 
 L(1) 
 q 
 qS1 
 
  q  dS     dS  
.
x
0
0



S
S
 (1)1 
 L 
(3.117)
С учетом краевого условия (3.109б) в точке х=L для второго элемента интеграл
(3.111) запишется так:
S  N
(2) T
 
(2)
0
dT (2)

dS        T3  T0   dS 
1
dx
S 
0 
 S3   ( T3   T0 ).
1 
(3.118)
56
Здесь S1 , S3 − левое и правое сечения стержня.
Учитывая, что под интегралом (3.112), (3.117), (3.118) стоят матрицы, найдем, что
при суммировании должны складываться строки этих матриц, отвечающие одинаковым
узлам. Просуммировав выражения вида (3.115) для первого и второго элементов и
выражения (3.117), (3.118) и приравняв сумму нулю, получим систему уравнений
c1
0
 1
  T1   q  S1 
 c c  c
  0.
(3.119)
c2   T2   
0
1
1
2

   

 0
c2
c2    S3  T3     S3  T0 
S (1)   (1)
S (2)   (2)
Здесь c1 
, c2 
.
L(1)
L(2)
Система (3.119) и определяет узловые значения T1 , T2 , T3 .
Завершающим этапом МКЭ является решение системы линейных алгебраических
уравнений.
57
Download