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

UptoLike

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

32 Глава 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
1
1
2
7
3
3
4
5
2
6
10
7
6
8
9
4
10
9
11
5
12
13
8
1
2
3
4 5
6
Рис. 7. Сопряженная P
1
сетка.
f u n c t i o n h=plotadjmeshP1 (p , e , t , ee , f s )
% PLOTADJMESHP1: draw a d j o i n t mesh , element and edge l a b e l s
h=f i g u r e ; pdemesh ( p , e , t ) ; a x i s eq ua l ; hold on
p l o t (p ( 1 , : ) , p ( 2 , : ) , ' . k ' ,' Mark erS ize' , 8 ) ; x l a b e l ('x_1' ) , y l a b e l ('x_2' )
f o r i =1: s i z e ( p , 2 )
t e xt ( p ( 1 , i ) , p (2 , i ) , [ ' ' i n t 2 s t r ( i ) ] , ' Fon tSi ze' , fs 1,' Color' , ' k' ) ;
end
f o r i t =1: s i z e ( ee , 2 ) % draw edge l a b e l s
i=ee (1 , i t ) ; j=ee (2 , i t ) ;
t e xt ( ( p ( 1 , i )+p (1 , j ))/2 0 .06 , ( p ( 2 , i )+p ( 2 , j ) ) / 2 , [ ' ' i n t 2 s t r ( i t ) ] , . . .
' Fo ntS ize ' , f s 2,' Color' , ' r' ) ;
i f ee ( 5 , i t ) , t e x t ( ( p ( 1 , i )+p (1 , j ))/2+0 .05 , ( p ( 2 , i ) +p (2 , j ))/2+0 .05 , . . .
[ ' ' i n t 2 s t r ( ee ( 5 , i t ) ) ] , ' Fon tSi ze' , fs 2,' Color ' ,'k' ) ;
end
end
f o r i =1: s i z e ( t , 2 ) % draw element l a b e l s
I=t ( 1 : 3 , i ) ;
t e xt (sum (p (1 , I ) ) / 3 , sum (p (2 , I ) ) / 3 , i n t 2 s t r ( i ) , ' Fo ntS ize ' , f s 1,' Color' , 'b' ) ;
end
В результате получим рис. 7, на котором подписаны номера вершин,
элементов и ребер; граничные ребра маркированы двумя числами
номером ребра и сегмента (чуть в стороне, мельче шрифт).
32                                                                                    Глава 2. Построение сеток в MatLab



                                                                                                  2
                              1                                              3              5                 4

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




                              0            1               2                 8              13                7

                            −0.2
                                                      1                                               6
                            −0.4
                                               1                                 9                                5
                                       1                   4             10                 12            11
                            −0.6
                                                                     4                  5
                            −0.8
                                                                 3                                4
                             −1            2               3                 5              9                 6
                                      −1                  −0.5           0                  0.5           1
                                                                         x1



                                                   Рис. 7. Сопряженная P1 сетка.
f u n c t i o n h=plotadjmeshP1 ( p , e , t , ee , f s )
% PLOTADJMESHP1: draw a d j o i n t mesh , e l e m e n t and edge l a b e l s

h=f i g u r e ; pdemesh ( p , e , t ) ; a x i s e q u a l ; h o l d on
p l o t ( p ( 1 , : ) , p ( 2 , : ) , ' . k ' , ' M a rk e rS i z e ' , 8 ) ; x l a b e l ( 'x_1' ) , y l a b e l ( 'x_2' )

f o r i =1: s i z e ( p , 2 )
    t e x t ( p ( 1 , i ) , p ( 2 , i ) , [ ' ' i n t 2 s t r ( i ) ] , ' F o n t S i z e ' , f s −1,' C o l o r ' , 'k' ) ;
end

f o r i t =1: s i z e ( ee , 2 ) % draw edge l a b e l s
    i=e e ( 1 , i t ) ; j=e e ( 2 , i t ) ;
    t e x t ( ( p ( 1 , i )+p ( 1 , j ))/2 −0 . 0 6 , ( p ( 2 , i )+p ( 2 , j ) ) / 2 , [ ' ' i n t 2 s t r ( i t ) ] , . . .
           ' F o n t S i z e ' , f s −2,' C o l o r ' , ' r ' ) ;
    i f e e ( 5 , i t ) , t e x t ( ( p ( 1 , i )+p ( 1 , j ))/2+0 . 0 5 , ( p ( 2 , i )+p ( 2 , j ))/2+0 . 0 5 , . . .
            [ ' ' i n t 2 s t r ( e e ( 5 , i t ) ) ] , ' F o n t S i z e ' , f s −2,' C o l o r ' , 'k' ) ;
    end
end

f o r i =1: s i z e ( t , 2 ) % draw e l e m e n t l a b e l s
    I=t ( 1 : 3 , i ) ;
    t e x t ( sum ( p ( 1 , I ) ) / 3 , sum ( p ( 2 , I ) ) / 3 , i n t 2 s t r ( i ) , ' F o n t S i z e ' , f s −1,' C o l o r ' , 'b' ) ;
end

В результате получим рис. 7, на котором подписаны номера вершин,
элементов и ребер; граничные ребра маркированы двумя числами —
номером ребра и сегмента (чуть в стороне, мельче шрифт).