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

UptoLike

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

22 Глава 2. Построение сеток в MatLab
0 0.5 1 1.5 2
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Рис. 3
где функция gtf.m определяет ту же геометрию, что и выше:
f u n c t i o n [ x , y]= g t f ( bs , s )
% GTF Gives geometry data f o r the g t f PDE model
%
% NE=GTF g i v es the number of boundary segment
% D=GTF(BS) g i ve s a matrix with one column f o r each boundary segment
% s p e c i f i e d i n BS.
% Row 1 c o n t a i n s the s t a r t parameter v a l u e .
% Row 2 c o n t a i n s the end parameter v a l u e.
% Row 3 c o n t a i n s the number o f the l e f t hand r e g i o n .
% Row 4 c o n t a i n s the number o f the r ig h t hand r e g i o n .
%
% [X,Y]=GTF(BS , S ) g i v es c o or d i n a t e s of boundary p o i n t s . BS s p e c i f i e s the
% boundary segments and S the c o r r e sp o n d i n g parameter v a l u e s . BS may be
% a s c a l a r .
% Geometry data
% rows d : s_0 , s_1 , l e f t hand regi o n , r i g h t hand r e g i o n
d=[ 0 0 0 0 0 0 0 0 0 0 0 pi 3/2
*
pi 0 p i /2
1 1 1 1 1 1 1 1 1 1 1 3/2
*
pi 2
*
pi pi /2 p i
0 3 3 1 3 3 0 0 0 3 3 0 0 0 0
1 2 2 0 0 2 1 3 3 2 1 1 1 1 1 ] ;
% c o o r d i n a t e s of s t a r t and end poin t ' s o f l i n e segments
xy=[2 1 . 2 5 1 . 2 5 2 2 0 . 7 5 0 0 0 0 . 7 5 0 % x c o o r d . o f s t a r t p o i n t
0 1 . 2 5 0 .7 5 2 2 1 . 2 5 0 0 2 0 . 7 5 2 % x c o o r d . o f end po i nt
1 0 .7 5 0 . 2 5 1 0 0 . 7 5 1 0 1 0 . 2 5 0 % y c o o r d . o f s t a r t po i n t
1 0 .2 5 0 . 2 5 0 1 0 . 7 5 0 1 1 0 . 7 5 0 ] ; % y c o o r d . o f end p o i n t .
% STANDARD code
nbs=s i z e ( d , 2 ) ; % number o f boundary segments
i f nar g in ==0, x=nbs ; re t u r n ; end
i f nar g in ==1, x=d ( : , bs ) ; r e t ur n ; end
x=z e r o s ( s i z e ( s ) ) ; y=z e r o s ( s i z e ( s ) ) ; [m, n]= s i z e ( bs ) ;
i f m==1 && n==1,bs=bs
*
ones ( s i z e ( s ) ) ; end
%
22                                                          Глава 2. Построение сеток в MatLab



                         1

                       0.8

                       0.6

                       0.4

                       0.2

                         0

                      −0.2

                      −0.4

                      −0.6

                      −0.8

                        −1
                                0          0.5          1          1.5          2


                                                   Рис. 3
где функция gtf.m определяет ту же геометрию, что и выше:
f u n c t i o n [ x , y]= g t f ( bs , s )
% GTF Gives geometry data f o r t h e g t f PDE model
%
%      NE=GTF g i v e s t h e number o f boundary segment
%      D=GTF(BS) g i v e s a matrix with one column f o r each boundary segment
%       s p e c i f i e d i n BS.
%      Row 1 c o n t a i n s t h e s t a r t parameter v a l u e .
%      Row 2 c o n t a i n s t h e end parameter v a l u e .
%      Row 3 c o n t a i n s t h e number o f t h e l e f t hand r e g i o n .
%      Row 4 c o n t a i n s t h e number o f t h e r i g h t hand r e g i o n .
%
%       [ X,Y]=GTF(BS , S ) g i v e s c o o r d i n a t e s o f boundary p o i n t s . BS s p e c i f i e s t h e
%       boundary segments and S t h e c o r r e s p o n d i n g parameter v a l u e s . BS may be
%      a scalar.
%−−−−−−−−−− Geometry data −−−−−−−−−−−−−−−−−−−−−−−−−−−−−
% rows d : s_0 , s_1 , l e f t hand r e g i o n , r i g h t hand r e g i o n
d=[ 0          0 0 0 0 0 0 0 0 0 0                                   pi       3/2 * p i 0       p i /2
       1       1 1 1 1 1 1 1 1 1 1                                  3/2 * p i 2 * p i p i /2 p i
       0       3 3 1 3 3 0 0 0 3 3                                   0          0        0       0
       1       2 2 0 0 2 1 3 3 2 1                                   1          1        1       1 ];
% c o o r d i n a t e s o f s t a r t and end p o i n t ' s o f l i n e segments
xy =[2 1 . 2 5 1 . 2 5 2 2 0 . 7 5 0 0 0 0 . 7 5 0                           % x coord. of s t a r t point
       0 1 .25 0 .75 2 2 1 .25 0 0 2 0 .75 2                                 % x c o o r d . o f end p o i n t
     −1 0 . 7 5 0 . 2 5 −1 0 0 . 7 5 −1 0 1 0 . 2 5 0                        % y coord. of s t a r t point
     −1 0 . 2 5 0 . 2 5 0 1 0 . 7 5 0 1 1 0 . 7 5                      0 ] ; % y c o o r d . o f end p o i n t .
%−−−−−−−−−−−−−−−− STANDARD code −−−−−−−−−−−−−−−−−−−−−−−−−
nbs=s i z e ( d , 2 ) ;                          % number o f boundary segments
 i f n a r g i n ==0, x=nbs ; r e t u r n ; end
 i f n a r g i n ==1, x=d ( : , bs ) ; r e t u r n ; end
x=z e r o s ( s i z e ( s ) ) ; y=z e r o s ( s i z e ( s ) ) ; [m, n]= s i z e ( bs ) ;
 i f m==1 && n==1,bs=bs * on e s ( s i z e ( s ) ) ; end
%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−