52 nb_diriX,lab_dirX,nb_diriY,lab_dirY,nb_diriZ,lab_dirZ,&
53 nb_neuX,lab_neuX,nb_neuY,lab_neuY,nb_neuZ,lab_neuZ,&
57 nb_node,xx,yy,zz,nb_hexa,con_hexa,nb_quad,con_quad)
61 character*110 :: inline
62 character*20 :: el_code
63 character*70 :: gridfile
65 integer*4 :: nb_mat,nb_diriX,nb_diriY,nb_diriZ,nb_neuX,nb_neuY,nb_neuZ
67 integer*4 :: nb_node,nb_hexa,nb_quad
68 integer*4 :: inode,ihexa,iquad
69 integer*4 :: nb_elem,ie,i,j,mat_code,ileft,iright,sl,trash,status,control
71 integer*4,
dimension(nb_mat) :: lab_mat
72 integer*4,
dimension(nb_diriX) :: lab_dirX
73 integer*4,
dimension(nb_diriY) :: lab_dirY
74 integer*4,
dimension(nb_diriZ) :: lab_dirZ
75 integer*4,
dimension(nb_neuX) :: lab_neuX
76 integer*4,
dimension(nb_neuY) :: lab_neuY
77 integer*4,
dimension(nb_neuZ) :: lab_neuZ
78 integer*4,
dimension(nb_neuN) :: lab_neuN
79 integer*4,
dimension(nb_abc) :: lab_abc
80 integer*4,
dimension(nb_dg) :: lab_dg
82 integer*4,
dimension(nb_hexa,9) :: con_hexa
83 integer*4,
dimension(nb_quad,5) :: con_quad
93 open(40,file=gridfile)
97 if (inline(1:1) .ne.
'#')
exit
100 read(inline,*)nb_node,nb_elem
103 read(40,*)inode,xx,yy,zz
117 if (inline(i:i).ge.
'A')
exit
121 if (inline(i:i).lt.
'A')
exit
125 el_code = inline(ileft:iright)
127 read(inline(1:ileft),*)trash,mat_code
129 if ((el_code.eq.
'hex').or.(el_code.eq.
'HEX'))
then
132 if (lab_mat(i).eq.mat_code) control = 1
135 if (control.ne.0)
then
137 con_hexa(ihexa,1) = mat_code
138 read(inline(iright:sl),*)(con_hexa(ihexa,j),j=2,9)
141 elseif ((el_code.eq.
'quad').or.(el_code.eq.
'QUAD'))
then
144 if (lab_dirx(i).eq.mat_code) control = 1
147 if (lab_diry(i).eq.mat_code) control = 1
150 if (lab_dirz(i).eq.mat_code) control = 1
153 if (lab_neux(i).eq.mat_code) control = 1
156 if (lab_neuy(i).eq.mat_code) control = 1
159 if (lab_neuz(i).eq.mat_code) control = 1
162 if (lab_neun(i).eq.mat_code) control = 1
165 if (lab_abc(i).eq.mat_code) control = 1
168 if (lab_dg(i).eq.mat_code) control = 1
172 if (control .ne. 0)
then
174 con_quad(iquad,1) = mat_code
175 read(inline(iright:sl),*)(con_quad(iquad,j),j=2,5)
subroutine read_filemesh(gridfile, nb_mat, lab_mat, nb_dirix, lab_dirx, nb_diriy, lab_diry, nb_dir
Reads dimensions in gridfile (*.mesh)