30 integer cret,fid,mdim,nmaa,npoly,i,j,k,l,nfindex
31 integer edim,nstep,stype,atype, chgt, tsf
32 integer nfaces, nnoeuds
38 integer np,nf,np2,nf2,taille,tmp
39 parameter(np=3,nf=9,np2=3,nf2=8)
40 integer indexp(np),indexf(nf)
42 integer indexp2(np2),indexf2(nf2)
47 character*16 nomcoo(3)
48 character*16 unicoo(3)
49 character(16) :: dtunit
52 call mfiope(fid,
'test25.med',med_acc_rdonly, cret)
54 if (cret .ne. 0 )
then
55 print *,
'Erreur ouverture du fichier'
58 print *,
'Ouverture du fichier test25.med'
63 if (cret .ne. 0 )
then
64 print *,
'Erreur lecture du nombre de maillage'
67 print *,
'Nombre de maillages : ',nmaa
74 call mmhmii(fid,i,maa,edim,mdim,
type,desc,
75 & dtunit,stype,nstep,atype,
78 if (cret .ne. 0 )
then
79 print *,
'Erreur infos maillage'
82 print *,
'Maillage : ',maa
83 print *,
'Dimension : ',mdim
87 call mmhnme(fid,maa,med_no_dt,med_no_it,
88 & med_cell,med_polyhedron,med_index_face,med_nodal,
89 & chgt,tsf,nfindex,cret)
92 if (cret .ne. 0 )
then
93 print *,
'Erreur lecture nombre de polyedre'
96 print *,
'Nombre de mailles MED_POLYEDRE : ',npoly
100 call mmhnme(fid,maa,med_no_dt,med_no_it,
101 & med_cell,med_polyhedron,
102 & med_index_node,med_nodal,
103 & chgt,tsf,taille,cret)
105 if (cret .ne. 0 )
then
106 print *,
'Erreur infos sur les polyedres'
109 print *,
'Taille de la connectivite : ',taille
110 print *,
'Taille du tableau indexf : ', nfindex
113 call mmhphr(fid,maa,med_no_dt,med_no_it,med_cell,
114 & med_nodal,indexp,indexf,conn,cret)
116 if (cret .ne. 0 )
then
117 print *,
'Erreur lecture connectivites polyedres'
120 print *,
'Lecture de la connectivite des polyedres'
121 print *,
'Connectivite nodale'
124 call mmhphr(fid,maa,med_no_dt,med_no_it,med_cell,
125 & med_descending,indexp2,indexf2,conn2,cret)
127 if (cret .ne. 0 )
then
128 print *,
'Erreur lecture connectivite des polyedres'
131 print *,
'Lecture de la connectivite des polyedres'
132 print *,
'Connectivite descendante'
135 call mmhear(fid,maa,med_no_dt,med_no_it,
136 & med_cell,med_polyhedron,nom,cret)
138 if (cret .ne. 0 )
then
139 print *,
'Erreur lecture noms des polyedres'
142 print *,
'Lecture des noms'
145 call mmhfnr(fid,maa,med_no_dt,med_no_it,med_cell,
146 & med_polyhedron,num,cret)
148 if (cret .ne. 0 )
then
149 print *,
'Erreur lecture des numeros des polyedres'
152 print *,
'Lecture des numeros'
155 call mmhfnr(fid,maa,med_no_dt,med_no_it,med_cell,
156 & med_polyhedron,fam,cret)
158 if (cret .ne. 0 )
then
159 print *,
'Erreur lecture numeros de famille polyedres'
162 print *,
'Lecture des numeros de famille'
165 print *,
'Affichage des resultats'
168 print *,
'>> Maille polyhedre ',j
169 print *,
'---- Connectivite nodale ---- : '
170 nfaces = indexp(j+1) - indexp(j)
176 ind2 = indexf(ind1+k-1)
177 nnoeuds = indexf(ind1+k) - indexf(ind1+k-1)
180 print *,
' ',conn(ind2+l-1)
183 print *,
'---- Connectivite descendante ---- : '
184 nfaces = indexp2(j+1) - indexp2(j)
189 print *,
' => Numero : ',conn2(ind1+k-1)
190 print *,
' => Type : ',indexf2(ind1+k-1)
192 print *,
'---- Nom ---- : ',nom(j)
193 print *,
'---- Numero ----: ',num(j)
194 print *,
'---- Numero de famille ---- : ',fam(j)
203 if (cret .ne. 0 )
then
204 print *,
'Erreur fermeture du fichier'
207 print *,
'Fermeture du fichier'
subroutine mmhnmh(fid, n, cret)
Cette routine permet de lire le nombre de maillages dans un fichier.
subroutine mmhphr(fid, name, numdt, numit, entype, cmode, findex, nindex, con, cret)
Cette routine permet la lecture dans un maillage des connectivités de polyèdres.
subroutine mmhear(fid, mname, numdt, numit, entype, geotype, ename, cret)
Cette routine permet de lire les noms d'un type d'entité d'un maillage.
subroutine mficlo(fid, cret)
Fermeture d'un fichier MED.
subroutine mmhnme(fid, name, numdt, numit, entype, geotype, datype, cmode, chgt, tsf, n, cret)
Cette routine permet de lire le nombre d'entités dans un maillage pour une séquence de calcul donnée...
subroutine mmhmii(fid, it, name, sdim, mdim, mtype, desc, dtunit, stype, nstep, atype, aname, aunit, cret)
Cette routine permet de lire les informations relatives à un maillage dans un fichier.
subroutine mmhfnr(fid, name, numdt, numit, entype, geotype, num, cret)
Cette routine permet la lecture des numéros de famille d'un type d'entité d'un maillage.
subroutine mfiope(fid, name, access, cret)
Ouverture d'un fichier MED.