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

UptoLike

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

§ 5. P
2
сетки 37
i f opt (2)==1 % draw element l a b e l s
f o r i =1: nt
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 ) , ' Fo nt Size' , f s 1,' Color' , ' r' ) ;
end
end
i f opt (3)==1 % draw border and boundary edge segment l a b e l s
f o r i =1: nee
k=ee ( 3 , i ) ;
t e x t ( p ( 1 , k)0 .05 , p ( 2 , k)+0 .02 , [ ' ' i n t 2 s t r ( ee ( 6 , i ) ) ] , . . .
' F on tS ize' , f s 2,' Color' ,' g ' ) ;
end
end
i f opt (4)==1 % draw edge l a b e l s
f o r i =1: nee
k=ee ( 3 , i ) ;
t e x t ( p ( 1 , k ) , p (2 , k)+0 .05 , [ ' ' i n t 2 s t r ( i ) ] , ' FontSize' , f s 2,' Color' ,'b' ) ;
end
end
Для теста рассмотрим L-образную область, изображенную на рис. 6.
С помощью команд
g=' l s hap e g ' ;
[ p , e , t ]= i n itm e sh ( g , 'hmax' , i n f ) ;
[ p2 , e2 , t2 , ee , t e ]=P1meshP2( g , p , e , t ) ;
plotmeshP2 ( g , p2 , e2 , t2 , ee , [ 1 , 1 , 0 , 1 ] , 1 2 ) ;
получим рис. 9, на котором подписаны номера вершин, элементов и
ребер (помельче шрифт). Получены следующие массивы, определяю-
щие кодировку:
e2 =[1 3 2 5 6 4 1 7 5 3 t2 =[ 1 4 7 2 5 6
2 4 5 6 7 7 8 8 8 8 2 3 4 5 6 7
9 13 11 17 19 15 10 21 18 14 8 8 8 8 8 8
0 0 0 0 0 1 0 1 0 1 9 13 15 11 17 19
1 1 1 1 1 0 1 0 1 0 12 14 16 18 20 21
1 2 3 4 5 6 7 8 9 10 10 16 21 12 18 20
2 0 2 3 3 0 0 3 2 1 2 1 1 2 3 3 ] ;
0 1 0 0 0 1 2 1 3 0 ]
ee =[1 1 2 2 3 3 4 4 5 5 6 6 7 te =[1 5 7 3 9 11
2 8 5 8 4 8 7 8 6 8 7 8 8 4 6 8 10 12 13
9 10 11 12 13 14 15 16 17 18 19 20 21 2 8 13 4 10 12
0 0 0 0 0 1 1 0 0 0 0 0 1 2 1 1 2 3 3 ]
1 1 1 0 1 0 0 0 1 1 1 0 0
1 7 3 0 2 10 6 0 4 9 5 0 8
1 0 4 1 0 2 0 3 5 4 6 5 6
0 1 0 4 2 0 3 2 0 5 0 6 3 ]
§ 5. P2 сетки                                                                                                                        37



i f opt (2)==1 % draw e l e m e n t l a b e l s
   f o r i =1: nt
       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 ' , ' r ' ) ;
   end
end

i f opt (3)==1                % draw b o r d e r and boundary edge segment l a b e l s
   f o r i =1: nee
       k=e e ( 3 , i ) ;
       t e x t ( p ( 1 , k)−0 . 0 5 , p ( 2 , k)+0 . 0 2 , [ ' ' i n t 2 s t r ( e e ( 6 , i ) ) ] , . . .
                 ' F o n t S i z e ' , f s −2,' C o l o r ' , 'g' ) ;
   end
end

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

Для теста рассмотрим L-образную область, изображенную на рис. 6.
С помощью команд
g=' l s h a p e g ' ;
[ p , e , t ]= i n i t m e s h ( g , 'hmax' , i n f ) ;
[ p2 , e2 , t2 , ee , t e ]=P1meshP2 ( g , p , e , t ) ;
plotmeshP2 ( g , p2 , e2 , t2 , ee , [ 1 , 1 , 0 , 1 ] , 1 2 ) ;

получим рис. 9, на котором подписаны номера вершин, элементов и
ребер (помельче шрифт). Получены следующие массивы, определяю-
щие кодировку:
e2 =[1 3 2 5 6 4 1 7 5 3                                                t 2 =[ 1        4       7      2      5       6
     2 4 5 6 7 7 8 8 8 8                                                       2        3       4      5      6       7
     9 13 11 17 19 15 10 21 18 14                                              8        8       8      8      8       8
     0 0 0 0 0 1 0 1 0 1                                                       9       13      15     11     17      19
     1 1 1 1 1 0 1 0 1 0                                                      12       14      16     18     20      21
     1 2 3 4 5 6 7 8 9 10                                                     10       16      21     12     18      20
     2 0 2 3 3 0 0 3 2 1                                                       2        1       1      2      3       3];
     0 1 0 0 0 1 2 1 3 0]

e e =[1 1 2 2 3 3 4 4 5 5 6 6 7                                                      t e =[1    5 7 3 9 11
      2 8 5 8 4 8 7 8 6 8 7 8 8                                                            4    6 8 10 12 13
      9 10 11 12 13 14 15 16 17 18 19 20 21                                                2    8 13 4 10 12
      0 0 0 0 0 1 1 0 0 0 0 0 1                                                            2    1 1 2 3 3]
      1 1 1 0 1 0 0 0 1 1 1 0 0
      1 7 3 0 2 10 6 0 4 9 5 0 8
      1 0 4 1 0 2 0 3 5 4 6 5 6
      0 1 0 4 2 0 3 2 0 5 0 6 3]