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

UptoLike

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

3.3. Расчетные формулы для P
2
элементов. 69
b1=0.4459484909159649 ; b2=0.4459484909159649 ;
a3=1a1a2 ; b3=1b1b2 ;
d=[ a1 a1 a3 b1 b1 b3
a2 a3 a2 b2 b3 b2 ] ;
c1=0.1099517 4 3 6 5 5 3 2 1 8 / 2 ; c2=0.2233815896780115 / 2 ;
c =[ c1 c1 c1 c2 c2 c2 ] .
Вклад ребер. Пусть, теперь, e граничное ребро с вершинами a
i
1
,
a
i
2
, и “средним” узлом a
i
3
. Рассмотрим вычисление граничной матри-
цы маcc H
e
= {h
e
αβ
} и вектора сил G
e
= {g
e
α
} с компонентами
h
e
αβ
=
e
σ(x) φ
i
β
φ
i
α
dx, g
e
α
=
e
µ(x) φ
i
α
(x) dx, α, β = 1, 2, 3.
Пусть ˆe = {ˆs [0, 1]} есть базисное ребро с вершинами ˆa
1
= 0, ˆa
2
= 1,
средней точкой ˆa
3
= 0.5, и базисными функциями
ˆφ
1
(ˆs) = (1 2ˆs) (1 ˆs), ˆφ
2
(ˆs) = ˆs (2ˆs 1), ˆφ
3
(ˆs) = 4ˆs (1 ˆs).
Отображение
x = x
e
(ˆs) = a
i
1
ˆφ
1
(ˆs) + a
i
2
ˆφ
2
(ˆs) + a
i
3
ˆφ
3
(ˆs)
задает взаимно-однозначное отображение ˆe e (ˆa
k
a
i
k
, k = 1, 2, 3)
и одновременно определяет параметризацию ребра e. Нетрудно прове-
рить, что если a
i
3
= (a
i
1
+ a
i
2
)/2, т.е. ребро является прямолинейным,
то x
e
(ˆs) = a
i
1
(1 ˆs) + a
i
2
ˆs. Пусть x
e
(ˆs) = (x
1
(ˆs), x
2
(ˆs)). Перейдем в
интегралах от e к ˆe. Получим:
h
e
αβ
=
1
0
(ˆs)σ(x
e
(ˆs)) ˆφ
β
(ˆs) ˆφ
α
(ˆs) dˆs, g
e
α
=
1
0
(ˆs)µ(x
e
(ˆs)) ˆφ
α
(ˆs) dˆs,
где (ˆs) =
x
1
(ˆs)
2
+
x
2
(ˆs)
2
1/2
. Для прямолинейного ребра, оче-
видно, (ˆs) = |a
i
2
a
i
1
| длина ребра. Для вычисления одномерных
интегралов используем квадратурную формулу
1
0
ˆ
f(ˆs) dˆs
q
e
i=1
ˆc
i
ˆ
f(
ˆ
d
i
).
3.3. Расчетные формулы для P2 элементов.                                                                                69


b1=0. 4 4 5 9 4 8 4 9 0 9 1 5 9 6 4 9 ;        b2=0. 4 4 5 9 4 8 4 9 0 9 1 5 9 6 4 9 ;
a3=1−a1−a2 ; b3=1−b1−b2 ;
d=[ a1 a1 a3 b1 b1 b3
    a2 a3 a2 b2 b3 b2 ] ;

c1=0. 1 0 9 9 5 1 7 4 3 6 5 5 3 2 1 8 / 2 ; c2=0. 2 2 3 3 8 1 5 8 9 6 7 8 0 1 1 5 / 2 ;
c =[ c1 c1 c1 c2 c2 c2 ] .

Вклад ребер. Пусть, теперь, e — граничное ребро с вершинами ai1 ,
ai2 , и “средним” узлом ai3 . Рассмотрим вычисление граничной матри-
цы маcc H e = {heαβ } и вектора сил Ge = {gαe } с компонентами
            ∫                        ∫
     heαβ = σ(x) φiβ φiα dx, gαe = µ(x) φiα (x) dx, α, β = 1, 2, 3.
                   e                                             e

Пусть ê = {ŝ ∈ [0, 1]} есть базисное ребро с вершинами â1 = 0, â2 = 1,
средней точкой â3 = 0.5, и базисными функциями

   φ̂1 (ŝ) = (1 − 2ŝ) (1 − ŝ),                    φ̂2 (ŝ) = ŝ (2ŝ − 1),                φ̂3 (ŝ) = 4ŝ (1 − ŝ).

Отображение

                          x = xe (ŝ) = ai1 φ̂1 (ŝ) + ai2 φ̂2 (ŝ) + ai3 φ̂3 (ŝ)

задает взаимно-однозначное отображение ê → e (âk → aik , k = 1, 2, 3)
и одновременно определяет параметризацию ребра e. Нетрудно прове-
рить, что если ai3 = (ai1 + ai2 )/2, т.е. ребро является прямолинейным,
то xe (ŝ) = ai1 (1 − ŝ) + ai2 ŝ. Пусть xe (ŝ) = (x1 (ŝ), x2 (ŝ)). Перейдем в
интегралах от e к ê. Получим:
              ∫1                                                                    ∫1
  heαβ =           ℓ(ŝ)σ(xe (ŝ)) φ̂β (ŝ) φ̂α (ŝ) dŝ,                  gαe =           ℓ(ŝ)µ(xe (ŝ)) φ̂α (ŝ) dŝ,
              0                                                                      0
            ((      )2 ( ′ )2 )1/2
                ′
где ℓ(ŝ) = x1 (ŝ) + x2 (ŝ)         . Для прямолинейного ребра, оче-
видно, ℓ(ŝ) = |ai2 − ai1 | — длина ребра. Для вычисления одномерных
интегралов используем квадратурную формулу
                                          ∫1                         ∑
                                                                     qe
                                                fˆ(ŝ) dŝ ≈               ĉi fˆ(dˆi ).
                                           0                         i=1