Основы метода конечных элементов в мехатронике. В 2 ч. Ч. 1
.pdfзом получается следующая система линейных алгебраических уравнений относительно a j:
n |
A j , k |
|
|
|
|
|
|
|
H |
a j ( f , k ), |
k |
1,n |
, |
(3.3) |
|
j 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
где скалярное произведение определяется соотношением
A j , k |
H |
A j (х) k (x)dx. |
|
H |
|
|
|
Теперь после решения системы (3.3) приближенное решение задачи (3.1) находится по формуле (3.2). Этот метод впервые (в 1915 г.) был предложен русским ученым Борисом Григорьевичем Галеркиным (1871–1945) и носит его имя. Кстати, родился этот ученый (наиболее известный своими результатами в области теории упругости) в Полоцке, а среднее образование получил в Минске. Указанный метод в литературе иногда называют методом Бубнова–Галер- кина, так как его применял в своих инженерных расчетах известный российский кораблестроитель, математик и механик И. Г. Бубнов. Позже (в 1942 г.) указанный метод был теоретически обоснован советским математиком М.В. Келдышем. Одним из основных (и самых сложных) вопросов в методе Галеркина является вопрос о выборе базисных функций. В большом числе приложений метода Галеркина в качестве базисных функций применяются полиномы низкого порядка. Ниже подробно разобран соответствующий пример.
П р и м е р
Методом Галеркина решить задачу Коши для дифференциального уравнения
|
dy |
y 0 |
|
(3.4) |
|
dx |
|
||
|
|
|
|
|
в области 0 x 1 с граничным условием |
y(0) 1. |
(3.5) |
||
|
|
|
|
41 |
Р е ш е н и е
Приближенное решение представим в виде суммы
n
y(n) (x) 1 a j x j , (3.6)
j 1
где первое слагаемое введено для удовлетворения граничному условию (3.5). Базисные функции, таким образом, выберем из системы функций
j 1, x, x2, ..., xn L2 0;1 ,
где L2 0;1 – пространство функций, суммируемых с квадратом на
[0; 1].
Подставив функцию (3.6) в уравнение (3.4), получим невязку
|
|
n |
|
|
|
|
R 1 a j jx j 1 x j . |
|
|
|
|
|
|
j 1 |
|
|
|
Затем, приравнивая нулю скалярное произведение |
|
|
|
||
1 |
n |
1 |
|
|
|
R, xk 1 |
a j jx j 1 |
x j xk 1dx xk 1dx , |
k |
1,n |
, |
0 j 1 |
0 |
|
|
|
|
получим систему линейных алгебраических уравнений относительно неизвестных коэффициентов a j ( j 1,n) в следующем матричном виде:
MA = B. |
(3.7) |
где элементы матриц М и В имеют следующий вид:
42
1 |
jx j k 2 x j k 1 |
dx |
j |
|
|
1 |
|
|
mk, j |
|
, |
||||||
j k 1 |
j k |
|||||||
0 |
|
|
|
|
||||
1 |
1 . |
bk xk 1dx |
|
0 |
k |
Легко заметить, что матрица М будет полнозаполненной. Далее, решая задачу при n = 3, получим следующий вектор-стол-
бец коэффициентов a j:
1,0141
A0,4225 ,0,2817
подстановка которых в пробное решение (3.6) дает приближенное решение:
y(3) (x) 1 1,0141x 0,4225x2 0,2817x3.
Нетрудно заметить, что задача (3.4), (3.5) имеет точное аналитическое решение
y(x) ex .
Сравнение полученного приближенного решения с точным в шести точках xi 0,2i , i 0,5, представлено в табл. 3.2.
Таблица 3.2
Сравнение приближенного решения задачи (3.4), (3.5) с точным аналитическим
x |
0 |
0,2 |
0,4 |
0,6 |
0,8 |
1 |
y(3) (x) |
1 |
1,2220 |
1,4913 |
1,8214 |
2,2259 |
2,7183 |
y(4) (x) |
1 |
1,2214 |
1,4919 |
1,8221 |
2,2255 |
2,7183 |
y(x) |
1 |
1,2214 |
1,4918 |
1,8221 |
2,2251 |
2,7183 |
|
|
|
|
|
|
|
43
Используя данные табл. 3.2, вычислим дискретную погрешность:
(3) |
6 |
y(xi ) y(3) (xi ) |
2 1/2 |
|
|
|
0,0013. |
||
|
i 1 |
|
|
|
Увеличив число слагаемых в (3.6) до n = 4 и разрешив матричное уравнение (3.7), получим, что
AT 0,9990; 0,5095; 0,1399; 0,0699 ,
т. е. приближенное решение задачи (3.4), (3.5) теперь примет следующий вид:
y(4) (x) 1 0,9990x 0,5095x2 0,1399x3 0,0699x4. (3.8)
Значения полученной функции (3.8) в отдельных точках отрезка [0; 1] также приведены в табл. 3.2. Вычисляя погрешность, получим
(4) |
6 |
y(xi ) y(4) (xi ) |
2 1/2 |
|
|
|
0,00005. |
||
|
i 1 |
|
|
|
Таким образом, результаты проведенных вычислений показывают, что с увеличением числа слагаемых n в приближенном представлении искомой функции погрешность быстро уменьшается.
44
Лабораторная работа № 4
РЕШЕНИЕ ЗАДАЧИ КОШИ МЕТОДОМ КОНЕЧНЫХ ЭЛЕМЕНТОВ
Цель работы
1.Изучить основные этапы применения МКЭ к решению обыкновенных линейных дифференциальных уравнений (ОДУ) первого порядка.
2.Провести сравнение полученных приближенных (численных) решений с точными аналитическими результатами и данными, полученными по методу Б. Г. Галеркина.
За д а н и е
1.Методом конечных элементов решить задачу Коши для линейного ОДУ первого порядка
y p(x) y f (x)
на заданном отрезке a,b при условии y(a) c.
2. Найти приближенное решение y(x), разбивая отрезок a,b на
5 и 10 конечных элементов соответственно. Решив аналитически заданное уравнение, найти функцию y(x) .
3.Сравнить погрешности полученных решений (6) и (11) .
4.В пакете MathCAD построить графические зависимости y(x) ,
y(x) .
5. Проанализировать сходимость вычислительного процесса. Варианты заданий приведены в таблице.
45
Номера вариантов задания
Номер |
p(x) |
f(x) |
a |
b |
y(a) |
|
варианта |
||||||
|
|
|
|
|
||
1 |
–3 |
e2x |
0 |
1 |
1 |
|
2 |
–2/x |
ex x 2 / x |
1 |
2 |
1 |
|
3 |
–2/x |
x |
1 |
2 |
1 |
|
|
|
|
|
|
|
|
4 |
–cos(x) |
sin(2x) |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
5 |
–2/x |
e x2 / x |
1 |
2 |
1 |
|
6 |
–1/x |
ln x 1 |
1 |
2 |
1 |
|
|
|
|
|
|
|
|
7 |
tg(x) |
2sin(x) |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
8 |
–1 |
cos(x) |
0 |
1 |
0,5 |
|
|
|
|
|
|
|
|
9 |
(2x – 1)/x2 |
1 |
1 |
2 |
1 |
|
10 |
–2x |
2xe x2 |
0 |
1 |
1 |
|
11 |
3/x |
x |
1 |
2 |
1 |
|
|
|
|
|
|
|
|
12 |
–1/x |
ex / x |
1 |
2 |
1 |
|
13 |
–1/x |
3 / x |
1 |
2 |
1 |
|
|
|
|
|
|
|
|
14 |
–x2 |
x2 |
0 |
1 |
2 |
|
15 |
1 |
x |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
16 |
1 |
ex |
0 |
1 |
1 |
|
17 |
1,283 |
0,215(x2 cos1,5x) |
0,2 |
1,2 |
0,25 |
|
18 |
0,872 |
0,133(x2 sin 2x) |
0,2 |
1,2 |
0,25 |
|
19 |
2x |
0,1x2 |
0 |
1 |
0,8 |
|
20 |
2 |
x2 |
0 |
1 |
0,1 |
|
46 |
|
|
|
|
|
Краткие теоретические сведения
Пусть требуется решить задачу Коши для линейного обыкновенного дифференциального уравнения первого порядка
F x, y, y 0 |
(4.1) |
на отрезке [a; b] с заданным граничным условием |
|
y a c. |
(4.2) |
Применим к решению задачи метод Галеркина. В отличие от лабораторной работы № 1 выберем базисные функции в виде кусоч-
но-линейных функций, систему которых обозначим Ni . Для этого
разобьем отрезок [a; b] на участки (конечные элементы) точками x0 a, x1, x2 , ... , xn b, которыеназываютсяузлами, и положим, что
|
x |
x |
|
|
|
|
|
|
|
1 |
|
, x0 |
x x1 |
, |
|
N0 |
|
x0 |
(4.3) |
||||
x x1 |
|
|
|
||||
|
0, |
x x ; |
|
|
|
||
|
|
|
1 |
|
|
|
|
0, |
x xi 1, |
|
|
|
|
|
||||||||
x x |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
i 1 |
, |
|
|
xi 1 x xi , |
|
|
|
|||||
|
|
|
|
|
|
|
|
|||||||
xi xi 1 |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
i 1,n 1, |
|||||||||
Ni x |
|
|
|
|
|
|
|
|
|
|
||||
xi 1 x |
|
|
xi x xi 1, |
|
|
|
||||||||
|
|
|
|
, |
|
|
|
|
|
|||||
x |
x |
|
|
|
|
|
||||||||
i 1 |
x |
|
i |
|
|
; |
|
|
|
|
|
|||
0, |
x |
1 |
|
|
|
|
|
|||||||
|
|
|
|
|
i |
|
|
|
|
|
|
|||
|
|
|
0, |
|
|
x xn 1, |
|
|
|
|||||
Nn x |
|
|
|
xn 1 |
|
|
|
|
|
|||||
x |
|
, |
x |
x x |
; |
|
||||||||
|
|
|
|
|
|
|
|
|||||||
|
|
|
x |
|
x |
|
||||||||
|
|
|
|
|
n 1 |
|
n |
|||||||
|
|
|
n |
|
n 1 |
|
|
|
|
|
||||
(4.4)
(4.5)
47
Функции Ni (x) , i 1,n, линейно независимы и образуют полную систему функций в L2[a;b].
Графики функций Ni (x) показаны на рис. 4.1.
Рис. 4.1 (начало). Графическое представление функций Ni (x)
48
Рис. 4.1 (окончание)
В таком случае приближенное решение задач (4.1), (4.2) представим в виде
n
y x y(x) i Ni (x), x [a;b],
i 0
где i – неизвестные коэффициенты.
Найдем значения функции y(x) в узлах конечных элементов
x x j , |
j |
0,n |
. |
В силу того, что в точке x x j отлично от нуля |
только слагаемое, содержащее функцию N j (x) , получим
n
y(x j ) i Ni (x j ) j N j (x j ), j 0,n. (4.6)
i 0
49
Кроме того, согласно (4.4) значение базисной функции N j (x) в узле с номером j равно 1, т. е. N j (x j ) 1. Поэтому из (4.6) получаем, что
y(x j ) y j j ,
т. е. неизвестные коэффициенты j совпадают со значениями функции y(x) в соответствующих узлах конечных элементов. Тогда функцию y(x) можно записать в виде
|
n |
|
x [a;b]. |
|
(4.7) |
||||
|
|
|
|
||||||
|
y(x) yi Ni (x), |
|
|||||||
|
i 0 |
|
|
|
|
|
|
|
|
Поскольку на каждом элементе [xk 1; xk ], |
k |
|
, |
отличны от |
|||||
1,n |
|||||||||
нуля только две базисные функции |
Nk 1(x) |
и |
Nk (x) , |
то функцию |
|||||
y(x) на отдельном элементе можно представить в виде |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
y(x) yk 1Nk 1 |
(x) yk Nk (x) , |
x [xk 1; xk ]. |
(4.8) |
||||||
|
|
|
|
|
|
|
|
|
|
Отсюда, в частности, следует, что
y(a) y0 N0 (a) y1N1(a) ,
но N0 (a) 1, |
N1(a) 0 , значит, |
y(a) y0 |
c . Таким образом, при- |
|
|
|
|
|
|
ближенное представление функции |
y(x) |
в виде (4.7) обеспечивает |
||
точное выполнение граничного условия и введение дополнительного слагаемого не требуется.
Для определения невязки подставим функцию (4.7) в уравнение
|
|
|
|
|
|
здесь |
|
(4.1), получим R(x) F(x, y, y ), |
|
|
|||||
|
dy |
|
n |
|
|
dNi (x) |
, x [a;b], |
y (x) |
dx |
y |
dx |
||||
|
|
i 0 |
|
i |
|
||
где согласно (4.3)–(4.5) производные базисных функций имеют следующий вид:
50
