Программирование МКЭ в МATLAB. Даутов P.З. - 12 стр.

UptoLike

Составители: 

12 Глава 1. Алгоритмические аспекты метода конечных элементов
Алгоритм сборки вектора сил (вклад элементов).
Положить F = 0 (F вектор столбец длины n
p
).
Для каждого = 1, 2, . . . , n
t
:
вычислить F
(вектор длины m
τ
).
для α = 1, . . . , m
τ
суммировать: F
t
αℓ
= F
t
αℓ
+ F
α
.
Здесь F
вектор сил элемента τ
, имеет компоненты
F
α
=
τ
f(x)φ
t
αℓ
(x) dx.
Вычисление H и G. Граница Γ
h
1
области
h
является объединени-
ем граней e элементов из T
h
. Пусть Γ
h
1
=
n
e
k=1
e
k
, m
e
количество
узлов интерполяции на каждой грани и пусть узлы e
k
перечислены в
некотором порядке a
i
1
, a
i
2
, . . . , a
i
m
e
, одинаковом для всех элементов.
Зададим матрицу e размера m
e
× n
e
, в k-том столбце которого разме-
стим номера узлов k-го ребра i
1
, i
2
, . . . , i
m
e
; т.о. e
jk
определяет номер
(индекс) j-го узла локальной нумерации) на грани e
k
. Поэтому на
грани e
k
u
h
(x) =
m
e
α=1
u
e
αk
φ
e
αk
(x).
Точно так же, как при вычислении матрицы K, можем написать, что
H u · v =
n
e
k=1
e
k
σ(x) u
h
(x)v
h
(x) dx =
n
e
k=1
m
e
α,β=1
h
k
αβ
u
e
βk
v
e
αk
,
где H
k
= {h
k
αβ
}
m
e
α,β=1
“матрица масс” грани e
k
:
h
k
αβ
=
e
k
σ(x) φ
e
βk
φ
e
αk
dx.
Вводя расширенную матрицу
˜
H
k
, как и ранее, получим:
H =
n
e
k=1
˜
H
k
.
12              Глава 1. Алгоритмические аспекты метода конечных элементов


       Алгоритм сборки вектора сил (вклад элементов).

• Положить F = 0 (F — вектор столбец длины np ).
• Для каждого ℓ = 1, 2, . . . , nt :
     • вычислить F ℓ (вектор длины mτ ).
     • для α = 1, . . . , mτ суммировать: Ftαℓ = Ftαℓ + Fαℓ .

Здесь F ℓ — вектор сил элемента τℓ , имеет компоненты
                           ∫
                        ℓ
                      Fα = f (x)φtαℓ (x) dx.
                                 τℓ


Вычисление H и G. Граница Γh1 области Ωh является объединени-
ем граней e элементов из Th . Пусть Γh1 = ∪nk=1         e
                                                          ek , me — количество
узлов интерполяции на каждой грани и пусть узлы ek перечислены в
некотором порядке ai1 , ai2 , . . . , aime , одинаковом для всех элементов.
Зададим матрицу e размера me × ne , в k-том столбце которого разме-
стим номера узлов k-го ребра i1 , i2 , . . . , ime ; т.о. ejk определяет номер
(индекс) j-го узла (в локальной нумерации) на грани ek . Поэтому на
грани ek
                                      ∑me
                       uh (x) =            ueαk φeαk (x).
                                       α=1
Точно так же, как при вычислении матрицы K, можем написать, что
               ∑ne ∫                        ∑
                                            ne ∑
                                               me
     Hu·v =          σ(x) uh (x)vh (x) dx =       hkαβ ueβk veαk ,
                  k=1 e                                 k=1 α,β=1
                       k


где H k = {hkαβ }m
                 α,β=1 — “матрица масс” грани ek :
                   e


                              ∫
                        hkαβ = σ(x) φeβk φeαk dx.
                                 ek

Вводя расширенную матрицу H̃ k , как и ранее, получим:
                                         ∑
                                         ne
                                 H=            H̃ k .
                                         k=1