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

UptoLike

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

26 Глава 2. Построение сеток в MatLab
−1 −0.5 0 0.5 1
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
x
1
x
2
1
2
3 4
5
6
7 8
9
10
1
2
3
−1 −0.5 0 0.5 1
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
x
1
x
2
1
2
3 4
5 6
7 8
1
2
3 4
5
6
7 8
9
10
1
2
3
4 5
6
Рис. 6. L-образная область (слева) и его грубая триангуляция (справа).
Текст функции plotmeshP1 приведен ниже.
Укажем способ кодировки сетки в pde toolbox в матрицах (p, e, t):
в p, размером 2 × np, хранятся координаты узлов сетки (вершин
элементов): в p(1, i) (p(2, i)) хранится x (y) координата i-го узла;
в e, размером 7 × ne, пакуется информация о ребрах элементов,
которые попали на границы подобластей (на внутренние и гра-
ничные сегменты).
1)
Точнее, в e(1 : 2, k) располагаются номера
вершин ребра с номером k; в e(3 : 4, k) соответствующие им
значения параметра параметризации сегмента s; в e(5, k) но-
мер сегмента, которому принадлежит ребро, а в e(6 : 7, k)
номера подобластей слева и справа от ребра, если следовать па-
раметризации. Напомним, что дополнение ко всей области имеет
номер 0;
в t, размером 4 × nt, хранятся номера вершин элемента и мет-
ка подобласти, которой он принадлежит. А именно, в t(1 : 3, j)
располагаются номера вершин j-го элемента, перечисленные в
порядке обхода против часовой стрелки, в t(4, j) номер под-
области.
Для сетки на рис. 6 эти матрицы имеют следующий вид:
p =[1 1 0 1 0 1 1 0 t =[1 4 7 2 5 6
0 1 1 1 1 1 0 0 ] ; 2 3 4 5 6 7
8 8 8 8 8 8
2 1 1 2 3 3 ] ;
1)
В нашем случае это все сегменты с номерами 1 10 на левом рис. 6.
26                                                                           Глава 2. Построение сеток в MatLab


                                              2                                                                                2
        1                                                                      1                                    3                      4

       0.8                                                                    0.8
                                                                                                                         2
       0.6                                 1                                  0.6
                                     10                     6                                                       10                     6
       0.4                                                                    0.4
                                                                                                                                   3
       0.2                                                                    0.2
                          7                   8                                                         7                      8
 x2




                                                                        x2
        0                                                                      0         1                          8                      7

      −0.2                                                                   −0.2
                                                                                                 1                                 6
      −0.4                                 3                                 −0.4
                  1       2          9                      5                            1                          9                      5
      −0.6                                                                   −0.6
                                                                                                            4            5
      −0.8                                                                   −0.8
                          3                   4                                                         3                      4
       −1                                                                     −1         2                          5                      6
             −1       −0.5       0        0.5           1                           −1               −0.5       0            0.5       1
                                 x                                                                              x
                                  1                                                                             1




             Рис. 6. L-образная область (слева) и его грубая триангуляция (справа).

Текст функции plotmeshP1 приведен ниже.
   Укажем способ кодировки сетки в pde toolbox в матрицах (p, e, t):
      • в p, размером 2 × np, хранятся координаты узлов сетки (вершин
        элементов): в p(1, i) (p(2, i)) хранится x (y) координата i-го узла;
      • в e, размером 7 × ne, пакуется информация о ребрах элементов,
        которые попали на границы подобластей (на внутренние и гра-
        ничные сегменты).1) Точнее, в e(1 : 2, k) располагаются номера
        вершин ребра с номером k; в e(3 : 4, k) — соответствующие им
        значения параметра параметризации сегмента s; в e(5, k) — но-
        мер сегмента, которому принадлежит ребро, а в e(6 : 7, k) —
        номера подобластей слева и справа от ребра, если следовать па-
        раметризации. Напомним, что дополнение ко всей области имеет
        номер 0;
      • в t, размером 4 × nt, хранятся номера вершин элемента и мет-
        ка подобласти, которой он принадлежит. А именно, в t(1 : 3, j)
        располагаются номера вершин j-го элемента, перечисленные в
        порядке обхода против часовой стрелки, в t(4, j) — номер под-
        области.
Для сетки на рис. 6 эти матрицы имеют следующий вид:
p =[−1 −1             0       1 0 1       1       0             t =[1   4       7   2        5          6
     0 −1             1       1 −1 −1     0       0];               2   3       4   5        6          7
                                                                    8   8       8   8        8          8
                                                                    2   1       1   2        3          3];
 1)
      В нашем случае это все сегменты с номерами 1 — 10 на левом рис. 6.