ВУЗ:
Составители:
34 Глава 2. Построение сеток в MatLab
определяет связность элементов, а ее столбцы содержат номера узлов
на элементе и номер подобласти. Заметим, что каждый новый узел
(по сравнению с P
1
сеткой), связан со своим ребром; поэтому при ну-
мерации новых узлов оказывается полезной реберная (сопряженная)
кодировка P
1
сетки. Сопряженная кодировка Р2-сеток определяется
так же, как и в случае P
1
сеток.
Следующая функция позволяет реализовать сказанное выше; с
ее помощью можно построить как P
2
сетку, так и ее сопряженную.
Она в достаточной мере самодокументирована; при ее чтении полез-
но пользоваться справочной информацией MatLab по поводу незна-
комых Вам функций (возможно таких, как unique, intersect, setdiff,
pdeigeom).
f u n c t i o n [ p2 , e2 , t2 , ee , te ]=P1meshToP2 ( g , p , e , t )
% P1MESHTTOP2: co nve rt P1−mesh (p , e , t ) to P2−mesh
%
% [ p2 , e2 , t2 ]=P1meshToP2(g , p , e , t ) <−− g i v e s P2−mesh
% [ p2 , e2 , t2 , ee , te ]=P 1meshToP2 ( g , p , e , t ) <−− g i v e s P2 & a d j o i n t P2−mesh ( ee , te )
%
% p , e , t : P1−mesh as in MatLab f u n c t i o n [ p , e , t ]= i nit mes h ( g ) .
% p2 : 2xnp 2 , matrix o f nodes c o o r d i n a t e s
% t2 : 7xnt , matrix o f t r i a n g l e s c o n n e c t i v i t y :
% t2 ( 1 : 3 , : ) = t ( 1 : 3 , : ) are v e r t e x i n d i c e s ,
% t2 ( 4 , : ) = p oi n t i n d i c e s between t2 ( 1 , : ) and t2 ( 2 , : ) ,
% t2 ( 5 , : ) = p oi n t i n d i c e s between t2 ( 2 , : ) and t2 ( 3 , : ) ,
% t2 ( 6 , : ) = p oi n t i n d i c e s between t2 ( 3 , : ) and t2 ( 1 , : ) ,
% t2 ( 7 , : ) − element s d l numbers
% e2 : 7xne , matrix o f b o r d e r and boundary ed g e s :
% e2 ( 1 : 2 , : ) = vor t ex i n d i c e s
% e2 ( 3 , : ) = edge midpoint i n d i c e s
% e2 ( 4 : 5 , : ) = s t a r t and end parameter v a l u e s
% e2 ( 6 , : ) = segment i n d i c e s
% e2 ( 7 : 8 , : ) = i n d i c e s o f l e f t hand and r i g h t hand subdomain
%
% ee : 8xK, matrix o f e d g e s ; K − number of e d g e s .
% ee ( 1 , i ) = ind ex o f th e 1− s t po i n t on the edge i ,
% ee ( 2 , i ) = ind ex o f th e 2−nd p o i n t on the edge i .
% ee ( 3 , i ) = ind ex o f th e midpoint on the edge i .
% ee ( 4 : 5 , i )= s t a r t and end parameter va l u e s , i f the edge i l i e s on
% bo r d e r or boundary segment ; e l s e ee ( 4 : 5 , i ) = [ 0 ; 0 ] .
% ee ( 6 , i ) = b o r d e r or boundary segment index , i f the edge i l i e s
% on segment ; e l s e ee ( 6 , i )=0
% ee ( 7 : 8 , i )= i n d i c e s o f l e f t hand and r i g h t hand t r i a n g l e s .
%
% t e : 4 xnt , matrix o f t r i a n g l e s , composed by edge i n d i c e s ;
% t e ( 1 : 3 , i )= i n d i c e s o f edges on element i .
% t e ( 4 , : ) = s d l numbers
34 Глава 2. Построение сеток в MatLab
определяет связность элементов, а ее столбцы содержат номера узлов
на элементе и номер подобласти. Заметим, что каждый новый узел
(по сравнению с P1 сеткой), связан со своим ребром; поэтому при ну-
мерации новых узлов оказывается полезной реберная (сопряженная)
кодировка P1 сетки. Сопряженная кодировка Р2-сеток определяется
так же, как и в случае P1 сеток.
Следующая функция позволяет реализовать сказанное выше; с
ее помощью можно построить как P2 сетку, так и ее сопряженную.
Она в достаточной мере самодокументирована; при ее чтении полез-
но пользоваться справочной информацией MatLab по поводу незна-
комых Вам функций (возможно таких, как unique, intersect, setdiff,
pdeigeom).
f u n c t i o n [ p2 , e2 , t2 , ee , t e ]=P1meshToP2 ( g , p , e , t )
% P1MESHTTOP2: c o n v e r t P1−mesh ( p , e , t ) t o P2−mesh
%
% [ p2 , e2 , t 2 ]=P1meshToP2 ( g , p , e , t ) <−− g i v e s P2−mesh
% [ p2 , e2 , t2 , ee , t e ]=P1meshToP2 ( g , p , e , t ) <−− g i v e s P2 & a d j o i n t P2−mesh ( ee , t e )
%
% p , e , t : P1−mesh a s i n MatLab f u n c t i o n [ p , e , t ]= i n i t m e s h ( g ) .
% p2 : 2xnp2 , matrix o f nodes c o o r d i n a t e s
% t2 : 7 xnt , matrix o f t r i a n g l e s c o n n e c t i v i t y :
% t2 ( 1 : 3 , : ) = t ( 1 : 3 , : ) are vertex i n d i c e s ,
% t 2 ( 4 , : ) = p o i n t i n d i c e s between t 2 ( 1 , : ) and t 2 ( 2 , : ) ,
% t 2 ( 5 , : ) = p o i n t i n d i c e s between t 2 ( 2 , : ) and t 2 ( 3 , : ) ,
% t 2 ( 6 , : ) = p o i n t i n d i c e s between t 2 ( 3 , : ) and t 2 ( 1 , : ) ,
% t 2 ( 7 , : ) − e l e m e n t s d l numbers
% e2 : 7 xne , matrix o f b o r d e r and boundary e d g e s :
% e2 ( 1 : 2 , : ) = v o r t e x i n d i c e s
% e2 ( 3 , : ) = edge midpoint i n d i c e s
% e2 ( 4 : 5 , : ) = s t a r t and end parameter v a l u e s
% e2 ( 6 , : ) = segment i n d i c e s
% e2 ( 7 : 8 , : ) = i n d i c e s o f l e f t hand and r i g h t hand subdomain
%
% ee : 8xK , matrix o f e d g e s ; K − number o f e d g e s .
% e e ( 1 , i ) = i n d e x o f t h e 1− s t p o i n t on t h e edge i ,
% e e ( 2 , i ) = i n d e x o f t h e 2−nd p o i n t on t h e edge i .
% e e ( 3 , i ) = i n d e x o f t h e midpoint on t h e edge i .
% e e ( 4 : 5 , i )= s t a r t and end parameter v a l u e s , i f t h e edge i l i e s on
% b o r d e r o r boundary segment ; e l s e e e ( 4 : 5 , i ) = [ 0 ; 0 ] .
% e e ( 6 , i ) = b o r d e r o r boundary segment index , i f t h e edge i l i e s
% on segment ; e l s e e e ( 6 , i )=0
% e e ( 7 : 8 , i )= i n d i c e s o f l e f t hand and r i g h t hand t r i a n g l e s .
%
% te : 4 xnt , matrix o f t r i a n g l e s , composed by edge i n d i c e s ;
% t e ( 1 : 3 , i )= i n d i c e s o f e d g e s on e l e m e n t i .
% t e ( 4 , : ) = s d l numbers
Страницы
- « первая
- ‹ предыдущая
- …
- 32
- 33
- 34
- 35
- 36
- …
- следующая ›
- последняя »
