
Математическое моделирование / belova
.pdf
Метод конечных элементов для решения уравнения в частных |
|
|
производных |
|
51 |
|
|
|
u1 = U1, |
u2 = U2, |
(4.123) |
второй — выражением |
|
|
u(ξ) = ϕ1 (ξ)u1 + ϕ2 (ξ)u2 |
|
|
u1 = U2, |
u2 = U3, |
(4.124) |
третий — выражением |
|
|
u(ξ) = ϕ1 (ξ)u1 + ϕ2 (ξ)u2 |
|
|
u1 = U3, |
u2 = U4 |
(4.125) |
Мы получили непрерывное температурное поле, описанное значениями температуры в узлах и линейными базисными функциями (см. рис. 9)
Рис. 9.
Базисные функции можно рассматривать как весовые функции для зна• чений в узлах. Так, для элемента 1:
при
ξ = 0 u(0) = (1 − 0)u1 + 0 · u2 = u1 |
(4.126) |
совсем не зависит от u2, при
ξ = 4 |
u |
|
4 |
|
= 1 − |
4 |
u1 + |
4 |
· u2 = |
4u1 + |
4u2, |
(4.127) |
||
1 |
|
|
1 |
|
|
1 |
|
1 |
|
3 |
|
1 |
|
|
при

52 |
Детерминированное моделирование |
Рис. 10.
ξ = 2 |
u |
|
2 |
|
= |
1 − 2 |
u1 + |
2 |
· u2 |
= |
2u1 + |
2u2, |
(4.128) |
||
1 |
|
|
1 |
|
|
1 |
|
1 |
|
|
1 |
|
1 |
|
|
при |
|
|
|
|
|
1 − 4 |
u1 + |
|
|
|
|
|
|
|
|
ξ = 4 |
u |
4 |
= |
4 |
· u2 |
= |
4u1 + |
4u2, |
(4.129) |
||||||
3 |
|
|
3 |
|
|
3 |
|
3 |
|
|
1 |
|
3 |
|
|
при |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ξ = 1 |
|
u(1) = (1 − 1)u1 + 1 · u2 = u2. |
(4.130) |
Эти весовые функции можно рассматривать как глобальные, и весо• вая функция wn, связанная с глобальным узлом n, строится из базисных функций элементов соседних узлов (см. рис. 10)
Таким образом, мы получили непрерывную параметрическую зависи• мость температуры u от ξ, но чтобы получить u(x), мы должны связать x

Метод конечных элементов для решения уравнения в частных |
|
производных |
53 |
Рис. 11.
и ξ. Можно написать интерполяционную формулу для определения x по значениям в узлах; так, например, для элемента 1 получим
x(ξ) = ϕ1 (ξ)x1 + ϕ2 (ξ)x2 |
(4.131) |
ианалогично для двух других элементов. Зависимость температуры от x можно определить при помощи двух соотношений
XX
u(ξ) = |
ϕn (ξ)un, x(ξ) = ϕn (ξ)xn |
(4.132) |
n |
n |
|
Суммирование проводится по всем узлам элемента. Связь между x и u через ξ показана на рисунке 11.

54 |
Детерминированное моделирование |
Рис. 12.
Квадратичные базисные функции
u(ξ) = ϕ1 (ξ)u1 + ϕ2 (ξ)u2 + ϕ3 (ξ)u3 |
(4.133) |
Рисунок 12:
(a): ϕ1 (ξ) = 2(ξ − 1) (ξ − 0.5) (b): ϕ2 (ξ) = 4ξ (1 − ξ)
(c): ϕ3 (ξ) = 2ξ (ξ − 0.5)

Метод конечных элементов для решения уравнения в частных |
|
производных |
55 |
Двумерные и трехмерные конечные элементы
Двумерные билинейные базисные функции строятся как произведение одномерных функций (рис. 13).
Рис. 13.
u(ξx, ξ2) = ϕ1 (ξ1, ξ2)u1 + ϕ2 (ξ1, ξ2)u2 + ϕ3 (ξ1, ξ2)u3 + ϕ4 (ξ1, ξ2)u4 |
(4.134) |
||
ϕ1 (ξ1, ξ2) = (1 − ξ1) (1 − ξ2) |
|
||
ϕ2 (ξ1, ξ2) |
= |
ξ1 (1 − ξ2) |
(4.135) |
ϕ3 (ξ1, ξ2) |
= (1 − ξ1)ξ2 |
|
|
ϕ4 (ξ1, ξ2) |
= |
ξ1ξ2 |
|
Например, для шаблона, состоящего из 6 узлов, и для квадратично линейного элемента, получим

56 |
Детерминированное моделирование |
|
|
6 |
|
|
X |
|
u = ϕn (ξ1, ξ2)un |
|
|
|
n=1 |
ϕ1 (ξ1, ξ2) |
= |
2(ξ1 − 1) (ξ1 − 0.5) (1 − ξ2) |
ϕ2 (ξ1, ξ2) = 4ξ1 (1 − ξ1) (1 − ξ2) |
||
ϕ3 (ξ1, ξ2) |
= |
2ξ1 (ξ1 − 0.5) (1 − ξ2) |
ϕ4 (ξ1, ξ2) |
= |
2(ξ1 − 1) (ξ1 − 0.5)ξ2 |
ϕ5 (ξ1, ξ2) = 4ξ1 (1 − ξ1)ξ2 |
||
ϕ6 (ξ1, ξ2) |
= |
2ξ1 (ξ1 − 0.5)ξ2 |
Рис. 14.
Для 8–узельного линейного элемента получим
ϕ1 (ξ1, ξ2) = (1 − ξ1) (1 − ξ2) (1 − ξ3) |
||
ϕ2 (ξ1, ξ2) |
= |
ξ1 (1 − ξ2) (1 − ξ3) |
ϕ3 (ξ1, ξ2) |
= |
(1 − ξ1)ξ2 (1 − ξ3) |
ϕ4 (ξ1, ξ2) = ξ1ξ2 (1 − ξ3)
ϕ5 (ξ1, ξ2) = (1 − ξ1) (1 − ξ2)ξ3
ϕ6 (ξ1, ξ2) |
= ξ1 (1 − ξ2)ξ3 |
|
ϕ7 (ξ1, ξ2) |
= |
(1 − ξ1)ξ2ξ3 |
ϕ8 (ξ1, ξ2) |
= |
ξ1ξ2ξ3 |
Треугольные элементы
(4.136)
(4.137)
(4.138)
Для треугольных элементов используют соотношения между площадя• ми (см. рис. 16)

Метод конечных элементов для решения уравнения в частных |
|
производных |
57 |
Рис. 15.
Рис. 16.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
L1 |
SP23 |
|
1 |
|
1 x y |
|
/ |
|
a1 + b1x + c1y |
|||||
|
|
|
|
|
x2 |
y2 |
|
|
|
|
||||
S123 |
|
2 |
1 |
|
2 |
|
||||||||
= |
|
= |
|
|
|
1 |
3 |
3 |
|
|
= |
(4.139) |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

58 |
Детерминированное моделирование |
|
|
|
|
|
|
|
|
|
= 1 |
|
1 |
|
x2 |
y2 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
x1 |
y1 |
|
|||
|
|
|
|
|
|
|
|
|
2 |
1 |
|
x |
3 |
y |
3 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
L2 |
|
SP13 |
|
1 |
|
1 x y |
|
/ |
|
|
a2 + b2x + c2y |
||||||||
|
|
|
|
|
|
|
x3 |
y3 |
|
|
|
|
|
|
|||||
|
|
S123 |
|
2 |
1 |
|
|
|
|
|
2 |
||||||||
|
= |
|
|
= |
|
|
|
1 |
1 |
|
1 |
|
|
|
= |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
L2 |
|
SP12 |
|
1 |
|
1 x y |
|
/ |
|
|
a3 + b3x + c3y |
||||||||
|
|
|
|
|
|
|
x1 |
y1 |
|
|
|
|
|
|
|||||
|
|
S123 |
|
2 |
1 |
|
|
|
|
|
2 |
||||||||
|
= |
|
|
= |
|
|
|
1 |
2 |
|
2 |
|
|
|
= |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a1 = x2y3 − x3y2, |
b1 = y2 − y3, |
|
|
c1 = x3 − x2 |
|||||||||||||||
a2 = x3y1 − x1y3, |
b2 = y3 − y1, |
|
|
c2 = x1 − x3 |
|||||||||||||||
a3 = x1y2 − x2y1, |
b3 = y1 − y2, |
|
|
c3 = x2 − x1 |
L1 + L2 + L3 = 1
u(x, y) = ϕ1 (x, y)u1 + ϕ2 (x, y)u2 + ϕ3 (x, y)u3
ϕ1 = L1, ϕ2 = L2, ϕ3 = L3 = 1 − L1 − L2
Для 6-узельного квадратичного элемента
(4.140)
(4.141)
(4.142)
(4.143)
(4.144)
(4.145)
(4.146)
Рис. 17.

Метод конечных элементов для решения уравнения в частных |
|
||
производных |
|
|
59 |
|
|
|
|
ϕ1 |
= |
L1 (2L1 − 1) |
|
ϕ2 |
= |
L2 (2L2 − 1) |
|
ϕ3 |
= |
L3 (2L3 − 1) |
(4.147) |
ϕ4 |
= 4L1L2 |
|
|
ϕ5 |
= 4L2L3 |
|
|
ϕ6 |
= |
4L3L1 |
|
Решение одномерной стационарной задачи теплопроводности методом конечных элементов
В качестве первого примера применения метода конечных элементов рассмотрим решение одномерной стационарной задачи теплопроводности. Распределение температуры вдоль одномерной проводящей балки можно описать уравнением:
d |
−k |
du |
+ q(u, x) = 0 |
(4.148) |
dx |
dx |
Здесь u температура, q(u, x) — утечка тепла, k — теплопроводность. Рассмотрим в качестве примера случай q(u, x) = u. Тогда уравнение примет вид:
− |
d |
k |
du |
+ u = 0, 0 < x < 1 |
(4.149) |
dx |
dx |
Предположим, что граничные условия имеют вид u(0) = 0 и u(1) = 1.
Это уравнение при k = 1 имеет точное решение, равное |
|
|
e |
ex − e−x |
|
u(x) = e2 − 1 |
(4.150) |
Это решение можно сравнить с приближенным решением, полученным методом конечных элементов. Чтобы решить рассматриваемое уравнение методом конечных элементов мы должны проделать следующее:
1.Записать уравнение теплопроводности в интегральном виде.
2.Проинтегрировать по частям (в одномерном случае) или с использо• ванием теоремы Грина (в двумерном или трехмерном случае), чтобы уменьшить порядок производных.
3.Ввести конечно-элементную аппроксимацию для температурного по• ля, используя параметры узлов и базисные функции конечных эле• ментов.
4.Проинтегрировать по элементам и вычислить матрицы нагрузки эле• ментов и векторы правой части.
60 |
Детерминированное моделирование |
5.Путем ансамблирования получить глобальные уравнения.
6.Записать граничные условия.
7.Решить глобальные уравнения.
8.Оценить потоки.
Рассмотрим перечисленные выше шаги.
1. Интегральное уравнение. Составим интегральное уравнение, ис•
R
пользуя метод взвешенных невязок Rω. dx = 0. Здесь R — невязка, а w — весовая функция.
R = − |
d |
k |
du |
+ u |
(4.151) |
dx |
dx |
Если u точное решение уравнения во всей области, то невязка равна нулю во всей области. Подставим выражение для невязки в интегральное уравнение
1 |
−dx |
kdx w + uω dx = 0 |
(4.152) |
||
Z0 |
|||||
|
|
d |
|
du |
|
Полученное интегральное уравнение показывает, что невязка (или ошиб• ка) стремится к нулю в среднем по пространству; ω — выбирается так, что невязка ортогональна к пространству функций, используемых в качестве аппроксимации u.
2. Интегрирование по частям. Большое преимущество решения за• дачи путем решения интегрального уравнения состоит в возможности по• нижения порядка производных при помощи интегрирования по частям (в случае двумерной и трехмерной задач при помощи использования теоремы Грина). Использование формулы интегрирования по частям дает:
|
|
|
|
|
1 |
dx |
|
|
|
1 |
g dx dx |
|
||||||||
|
|
|
|
|
Z0 |
|
dx = [f · g]0 − Z0 |
|
||||||||||||
|
|
|
|
|
|
|
dg |
|
|
1 |
|
|
df |
|
|
|
|
|||
1 |
|
|
−kdx |
dx = |
ω |
|
|
1 |
1 |
−kdx dx |
dx |
|||||||||
Z0 |
w dx |
|
|
|
||||||||||||||||
−kdx 0 − Z0 |
||||||||||||||||||||
|
|
d |
|
du |
|
|
|
|
|
|
du |
|
|
|
|
|
du dω |
|||
В результате уравнение примет вид: |
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
1 |
kdx dx + uω dx = |
|
|
|
|
1 |
|
|
|||||||
|
|
|
|
|
Z |
|
|
|
|
|
|
|||||||||
|
|
|
|
|
kdx ω 0 |
|
||||||||||||||
|
|
|
|
|
|
|
|
du d |
ω |
|
|
|
du |
|
|
|
(4.153)
(4.154)
(4.155)
0