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

Основы метода конечных элементов в мехатронике. В 2 ч. Ч. 1

.pdf
Скачиваний:
0
Добавлен:
29.11.2025
Размер:
1.46 Mб
Скачать

 

 

 

dN0

 

x

 

 

 

 

 

1

 

, x0 x x1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

x0

 

 

 

 

dx

 

 

 

 

 

 

 

 

 

 

 

 

 

0,

x

x ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

0,

 

 

x xi 1,

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dNi x

 

 

 

 

 

 

,

 

 

 

xi 1 x xi ,

 

 

 

 

 

 

 

 

 

 

xi xi 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1,n 1,

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

xi x xi 1,

 

 

 

x

 

 

x

 

 

 

 

 

i 1

x

 

 

i

 

 

 

;

 

 

 

 

 

 

 

0,

 

 

x

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

dNn x

 

 

0,

 

 

 

x xn 1,

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, xn 1 x xn .

 

 

dx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

x

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

n 1

 

 

 

 

(4.9)

(4.10)

(4.11)

Теперь, следуя методу Галеркина, приравняем к нулю скалярные произведения R(x), Nk (x) , k 0,n, тогда в силу линейности уравнения (4.1) получим систему линейных алгебраических уравнений относительно yi , i 0,n :

b

 

 

 

R(x), Nk (x) R(x)Nk (x)dx 0,

k

0,n

.

a

 

 

 

Учитывая, что y0 известно, первое уравнение системы можно исключить из рассмотрения, а в остальные подставить y0 c.

Уравнения системы можно упростить. Поскольку согласно (4.3)– (4.5) базисные функции Nk (x), k 1,n 1, отличны от нуля только на двух соседних элементах, содержащих узел xk , а функция Nn (x) – только на элементе [xn 1; xn ], интегрирование по отрезку [a;b] мож-

но заменить интегрированием по указанным элементам. Тогда система уравнений примет окончательный вид:

51

xk 1

R(x)Nk (x)dx 0,

k

 

 

 

 

1,n 1,

x

 

(4.12)

 

xk 1

 

 

n

R(x)Nn (x)dx 0.

 

 

 

 

 

 

 

 

xn 1

 

 

 

 

Следует отметить, что в силу (4.8), матрица этой системы линейных алгебраических уравнений имеет ленточную структуру.

После решения системы (4.12) определяются значения аппроксимирующей функции y(x) в узлах x xi , i 1,n. Затем, используя

соотношение (4.7), можно найти приближенное значение искомой функции y(x) в любой точке отрезка [a;b] .

Рассмотренный метод решения задачи (4.1), (4.2) называется ме-

тодом конечных элементов.

Пр и м е р

Спомощью МКЭ решить задачу Коши для ОДУ первого порядка

ddyx y 0

в области 0 x 1 с граничным условием y(0) 1.

Р е ш е н и е

Разобьем отрезок [0; 1] точками x0 0, x1, x2 , ... , xn 1 на n ко-

нечных элементов равной длины x 1/ n. Приближенное решение задачи будем отыскивать в виде

n

y(x) yi Ni (x),

i 0

где базисные функции Ni (x) задаются соотношениями (4.3)–(4.5). Согласно граничному условию y0 1.

52

Невязка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dy(x)

 

n

 

dNi (x)

 

 

 

 

R(x)

 

 

 

y(x)

yi

 

Ni (x)

,

 

 

 

 

 

dx

 

 

 

 

dx

 

 

 

 

 

 

 

 

i 0

 

 

 

 

где производные

dNi (x)

 

определяются соотношениями (4.10). При-

 

 

 

dx

 

 

 

 

 

 

 

 

 

равняем нулю скалярные произведения:

 

 

 

 

 

 

 

1

n

dNi (x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1,n.

R(x), Nk (x)

yi

Ni (x) Nk (x)dx 0,

 

 

 

 

dx

 

 

 

 

 

 

 

 

 

 

0 i 0

 

 

 

 

 

 

 

Заметим, что уравнение R(x), N0 (x) 0 не рассматривается, так

как известно, что y0 1.

Учтем далее, что базисные функции Nk (x),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

нуля только на соседних элементах [xk 1; xk ]

1,n 1, отличны от

и [xk ; xk 1], а функция

Nn (x) – только на элементе [xn 1; xn ] , тогда

эту систему линейных уравнений можно записать в виде

 

 

xk 1

n

 

dNi (x)

 

 

 

 

 

 

 

k 1,n;

 

 

 

 

yi

 

Ni (x) Nk (x)dx 0,

 

 

x

 

 

 

dx

 

 

 

 

 

 

i 0

 

 

 

 

 

 

 

xk 1

n

 

dNi (x)

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

yi

 

Ni (x) Nn (x)dx 0.

 

 

 

 

 

 

 

 

 

 

dx

 

 

 

 

 

 

 

i 0

 

 

 

 

 

 

xn 1

 

 

 

 

 

 

 

 

Согласно (4.8) в суммах, которыми представляются функция y(x)

и ее производная на каждом элементе, сохраняются только два слагаемых. Этот факт, а также возможность поменять местами порядок интегрирования и суммирования в уравнениях позволяют записать систему в виде

 

k 1

 

xk 1

dNi (x)

 

 

 

 

yi

k 1,n 1;

 

 

 

 

Ni (x) Nk (x)dx 0,

i k 1

 

 

dx

 

 

 

 

 

x

 

 

 

 

 

 

k 1

 

 

 

 

 

n

 

xn

dNi (x)

 

 

 

 

 

yi

 

 

 

 

 

 

 

Ni (x) Nn (x)dx 0

 

 

 

i n 1

 

 

dx

 

 

 

 

 

xn 1

 

 

 

 

 

 

 

 

 

 

 

53

или

 

 

xk

 

dNk 1

(x)

 

 

 

 

xk 1

dNk (x)

 

 

yk 1

 

 

 

 

 

 

 

Nk 1

(x) Nk (x)dx yk

 

 

 

 

 

 

Nk

 

 

 

 

 

 

dx

 

 

 

 

 

 

 

 

 

 

dx

 

 

 

x

 

 

 

 

 

 

 

x

 

 

 

 

 

 

k 1

 

 

 

 

 

 

 

 

 

k 1

 

 

 

 

 

 

xk 1

dNk 1

(x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yk 1

 

 

 

 

 

 

 

Nk 1(x) Nk (x)dx 0,

k 1,n 1;

 

 

 

 

 

dx

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xn

 

dNn 1

(x)

 

 

 

 

xn

 

dNn (x)

 

 

 

 

 

Nn 1

 

 

 

Nn

yn 1

 

 

 

 

 

 

 

(x) Nn (x)dx yn

 

 

 

 

 

 

 

 

xn 1

 

dx

 

 

 

 

 

 

xn 1 dx

 

 

 

 

 

 

 

 

 

 

 

 

(x) Nk (x)dx

(x) Nn (x)dx 0.

Подставив выражения (4.3)–(4.5) и (4.9)–(4.11) в левые части уравнений системы иосуществив интегрирование, окончательно получим

2

 

 

1

 

 

1

 

 

 

1

 

1

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

y1

 

 

6

y2

 

2 x

6

y0

 

 

 

 

 

 

 

 

 

2 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

 

 

 

2

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yk 1

yk

 

yk 1

yk

 

yk 1

 

k 2,n 1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,

 

 

 

2 x

 

 

6

 

 

 

 

3

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

x

 

 

 

 

 

1

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

6

yn 1

 

2

3

yn 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Решая задачу при n = 5, т. е. разбивая отрезок от нуля до единицы [0;1] на пять конечных элементов и полагая, что x 0,2 , полу-

чим следующее приближенное решение:

y(x) N0 (x) 1,2488N1(x) 1,4997N2 (x)1,8557N3 (x) 2,2441N4 (x) 2,7620N5 (x),

где числовые коэффициенты представляют собой значения функции y(x) в узлах xi 0; 0,2; 0,4; 0,6; 0,8;1.

54

Вычисляя дискретную L2[0;1] погрешность (см. лабораторную работу № 3), получим

(6)

6

y(xi ) y(4) (xi )

2 1/2

 

 

 

0,065.

 

i 1

 

 

 

На рис. 4.2 сплошной линией показан график функции y ex , пунктирной – график функции y y(x) , крестиками – вычисленные значения y0 (x).

Рис. 4.2. Сравнение результатов расчетов решения исходной задачи

Повторив все вычисления, разбивая отрезок [0;1] на десять ко-

нечных элементов точками xi 0;1 i, i 0;10, получим следующее приближенное решение:

y(x) N0 (x) 1,0987N1(x) 1,2205N2 (x) 1,3428N3 (x) 1,4899N4 (x)

1,6409N5 (x) 1,8190N6 (x) 2,0049N7 (x) 2,2210N8 (x)

2,4495N9 (x) 2,7120N10 (x).

Погрешность вычисления составила

(11)11

i 1

1/2

y(xi ) y(4) (xi ) 2 0,020.

55

Сравнение результатов двух вариантов расчетов показывает, что с ростом числа конечных элементов погрешность уменьшается. Однако следует подчеркнуть, что применение метода Галеркина с базисными функциями в виде многочленов (см. лабораторную работу) дает более точные результаты.

Лабораторная работа № 5

ЧИСЛЕННОЕ РЕШЕНИЕ КРАЕВОЙ ЗАДАЧИ МЕТОДОМ КОНЕЧНЫХ ЭЛЕМЕНТОВ

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

За д а н и е

1.Методом конечных элементов решить краевую задачу для уравнения Штурма–Лиувилля на заданном отрезке [a,b] при заданных

граничных условиях.

2. Найти приближенное решение y(x), разбивая отрезок [a,b] на

10 и 20 конечных элементов.

3. Решить задачу с помощью компьютерного математического пакета MathCAD (Matlab, Maple, Mathematics) и сравнить получен-

ные результаты, вычисляя дискретные (11) и (21) погрешности (см. лабораторную работу № 3).

4. Вычислить значения производной ddyx в точках x a и x b .

5.Построить графические зависимости y(x) , y(x) .

6.Проанализировать сходимость вычислительного процесса. Варианты заданий приведены в таблице.

56

Номера вариантов задания

 

 

p(x)

 

 

 

q(x)

 

f(x)

 

a

b

y(a)

y(b)

вар.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

arctgx

 

 

lnlnx

 

lnx

 

3

7

0,49

–0,12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

1 e x

 

 

 

ex/3

 

 

 

sin2 (x / 4)

0

4

0,7

0

3

 

 

ex

 

cos(x / 3)

 

ex/2

 

–2

1

–0,27

0,4

4

 

 

1+ x

 

1+ e x2

 

3 1 x

 

0

1,5

2,6

–0,12

5

 

 

1 x

 

 

1 x

 

x

 

1,5

3,5

0,29

–0,17

 

 

 

 

2 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

cos(x /10)

 

1

 

 

 

 

1

 

 

 

2,4

4

0,66

–0,36

 

x2 x 1

 

(1 x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

1 sin2 x

 

arctg(x)

 

sin(x)

 

0,5

4

–1,5

0,64

8

 

 

1/ x

 

 

 

1 x

 

1/ x2

 

1

7

1,2

–0,29

9

 

 

x

 

1

 

 

 

 

1

 

 

 

1,5

2,5

0

0,98

 

 

 

1

x

 

1 x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

1

 

 

cos(x /10)

cos(x /10)

–2

0

2

0,1

 

x2 x 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

x2 x 1

 

 

 

x

1

 

x

 

2

3

–0,5

0,71

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12

 

ln(x 5)

 

 

 

1 x

2 / (1 x)

0

2,5

0,78

–0,12

 

 

 

 

 

 

 

 

 

 

 

13

 

cos(x / 2)

2 – cos(x)

sin(x / 2)

0

2

0,18

–0,37

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

1/ (ex2 1)

 

 

1 x2

 

x2

 

–1

3

0,49

–0,17

15

 

 

1 x

cos(x /10)

cos(x)

 

π

4

0

0,74

 

 

2 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16

 

 

e x2 /2

 

 

 

1/ x

 

 

 

 

e x

 

1

2

–0,89

0,67

17

 

1

 

 

 

arctg

x

1 x x

2

3

5

–0,61

0,49

 

 

ex2 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

57

Окончание таблицы

 

 

p(x)

 

q(x)

f(x)

a

b

y(a)

y(b)

вар.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18

 

 

 

1

 

 

 

esin x

x

2

4

0,95

0,88

1

x

 

 

 

 

 

 

 

 

 

 

19

 

 

 

1

 

 

 

ex

arctg x

–1

1

0,76

–0,20

 

x2 1

 

 

 

 

 

 

 

 

 

 

 

20

 

 

 

e

x

 

1

 

sin(x)

0

1

0,16

0,44

 

 

 

 

1 2cos2 x

 

 

 

 

 

 

 

 

 

 

 

 

 

Основные понятия. Краткие теоретические сведения

Пусть на отрезке [a,b] требуется найти решение уравнения Штур- ма–Лиувилля, представленного в виде

 

q(x)y f (x)

(5.1)

p(x) y

и удовлетворяющего граничным условиям

y(a) c,

y(b) d.

(5.2)

Предполагается, что p(x) , q(x) , f (x) – непрерывные функции,

известные изначально, c и d – постоянные. После дифференцирования первогослагаемого вуравнении(5.1) его можно записатьввиде

p(x) d2 y p (x) dy q(x) y f (x). dx2 dx

Согласно методу конечных элементов разобьем отрезок [a,b]

точками (узлами) xi a b n a i, i 0;n, на заданное число n ко-

нечных элементов и приближенное решение задачи (5.1), (5.2) будем искать в виде

58

n

y(x) y(x) yi Ni (x), x [a,b], (5.3)

i 0

где базисные функции Ni (x) задаются соотношениями (4.3)–(4.5), yi , i 0;n, – неизвестные значения аппроксимирующей функции

y(x) в узлах xi .

Краевым условиям при x a и y b можно удовлетворить не-

посредственно заданием соответствующих значений в крайних узлах. Однако удобнее составить уравнения метода Галеркина без первоначального задания граничных значений функции y(x) , а затем

учесть эти условия при решении окончательной системы уравнений. Таким образом, на данном этапе все значения y0 , y1, ... , yn бу-

дем рассматривать как неизвестные.

Отметимтакже, чтопоскольку функции Ni (x), i 1,n 1, отличны от нуля только на двух соседних элементах xi 1, xi и xi , xi 1 , то на каждом элементе функцию y(x) можно записать в виде суммы

только двух слагаемых, учитывающих вклад двух базисных функций, отличных от нуля на этом элементе:

y(x) yi 1Ni 1

(x) yi Ni (x),

x xi 1, xi ,

i

 

 

(5.4)

1,n 1.

 

 

 

 

 

 

 

 

 

 

 

Теперь определим невязку:

 

 

 

 

 

 

 

 

 

d

2

 

 

 

 

 

 

 

 

 

 

 

y

dy

 

 

 

 

 

R(x) p(x) dx2

p (x) dx

q(x) y f (x)

 

и запишем ее скалярные произведения на базисные функции Nk (x), i 1,n 1:

 

 

b

b

2

 

 

R, Nk R(x) Nk (x)dx

d

y(x)

p(x)Nk (x)dx

 

 

 

 

 

 

 

a

a

dx2

(5.5)

b

 

b

 

 

 

b

 

 

 

 

 

dy(x)

 

 

 

 

 

 

 

 

 

dx

p (x)Nk (x)dx

y(x)q(x)Nk (x)dx f (x)Nk (x)dx.

 

a

a

 

 

 

a

 

 

 

 

 

 

 

 

59

Следует отметить, что в силу линейности функции Nk (x) произ-

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

b

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

y(x)

p(x)Nk

(x)dx

dy(b)

p(b)Nk (b)

dy(a)

p(a)Nk (a)

 

 

 

 

a

dx2

 

 

dx

 

 

dx

(5.6)

 

 

b dy

dNk

 

b dy

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1,n 1.

 

 

 

 

dx

p(x)dx

 

p (x)Nk (x)dx,

 

 

 

a dx

 

a dx

 

 

 

 

 

 

 

 

 

В соотношении (5.6) Nk (a) Nk (b) 0 при

k

 

 

N0 (b)

1,n 1 ,

Nn (a) 0, N0 (a) Nn (b) 1,

т. е. слагаемые,

не содержащие ин-

тегралы, сохраняются при k 0

и k n.

 

 

 

 

 

 

 

Подставляя (5.6) в (5.5) и приравнивая скалярные произведения

нулю, получим систему уравнений

 

 

 

 

 

 

dy(a)

 

 

 

b dy

dN0

 

 

b

 

 

 

b

 

 

 

 

 

p(a)

 

 

 

p(x)dx

yN0q(x)dx N0 f (x)dx;

 

 

dx

 

 

 

a dx

dx

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

a

b

dy dNk

 

 

b

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p(x)dx yNk q(x)dx

Nk f (x)dx,

k 1,n 1;

 

 

 

 

 

 

 

a dx dx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

a

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

b

b

 

 

dy(b)

 

 

dy

dNn

 

 

 

 

Nn f (x)dx.

 

dx

 

 

 

 

 

 

 

 

 

 

p(b) dx dx p(x)dx

yNnq(x)dx

 

 

 

 

 

 

 

a

 

 

 

 

 

 

a

a

Учитывая, что функции Nk (x),

k

 

 

1,n 1, отличны от нуля только

на двух соседних элементах xk 1, xk

 

и xk , xk 1 , а функции N0 (x)

и Nn (x)

 

– только на первом и последнем элементах соответственно,

интегрирование по всему отрезку [a,b] можно заменить интегрированием по указанным элементам. Тогда система примет вид

60