33 integer mdim,nind,nmaa,
type,quoi,rep,typmaa
34 integer edim,nstep,stype,atype, chgt, tsf
41 character*16 nomcoo(2), unicoo(2)
47 character(16) :: dtunit
51 call mfiope(fid,
'test27.med',med_acc_rdonly, cret)
52 if (cret .ne. 0 )
then
53 print *,
'Erreur ouverture du fichier'
57 print *,
'Ouverture du fichier test27.med'
62 if (cret .ne. 0 )
then
63 print *,
'Erreur lecture du nombre de maillage'
73 call mmhmii(fid,i,maa,edim,mdim,
type,desc,
74 & dtunit,stype,nstep,atype,
77 if (cret .ne. 0 )
then
78 print *,
'Erreur lecture maillage info'
81 print *,
'Maillage de nom : ',maa
82 print *,
'- Dimension : ',mdim
83 if (type.eq.med_structured_mesh)
then
84 print *,
'- Type : structure'
86 print *,
'- Type : non structure'
90 if (type.eq.med_structured_mesh)
then
91 call mmhgtr(fid,maa,typmaa,cret)
93 if (cret .ne. 0 )
then
94 print *,
'Erreur lecture nature de la grille'
97 if (typmaa.eq.med_cartesian_grid)
then
98 print *,
'- Nature de la grille : cartesienne'
100 if (typmaa.eq.med_curvilinear_grid)
then
101 print *,
'- Nature de la grille : curviligne'
107 if ((typmaa.eq.med_curvilinear_grid)
108 & .and. (type.eq.med_structured_mesh))
then
110 call mmhnme(fid,maa,med_no_dt,med_no_it,med_node,
111 & med_none,med_coordinate,med_no_cmode,
112 & chgt,tsf,nnoe,cret)
114 if (cret .ne. 0 )
then
115 print *,
'Erreur lecture nombre de noeud'
118 print *,
'- Nombre de noeuds : ',nnoe
120 call mmhgsr(fid,maa,med_no_dt,med_no_it,strgri,cret)
123 if (cret .ne. 0 )
then
124 print *,
'Erreur lecture structure de la grille'
127 print *,
'- Structure de la grille : ',strgri
129 call mmhcor(fid,maa,med_no_dt,med_no_it,
130 & med_full_interlace,coo,cret)
132 if (cret .ne. 0 )
then
133 print *,
'Erreur lecture des coordonnees des noeuds'
136 print *,
'- Coordonnees :'
142 if ((typmaa.eq.med_cartesian_grid)
143 & .and. (type.eq. med_structured_mesh))
then
147 quoi = med_coordinate_axis1
150 quoi = med_coordinate_axis2
153 quoi = med_coordinate_axis3
157 call mmhnme(fid,maa,med_no_dt,med_no_it,med_node,
158 & med_none,quoi,med_no_cmode,
159 & chgt,tsf,nind,cret)
161 if (cret .ne. 0 )
then
162 print *,
'Erreur lecture taille indice'
166 print *,
'- Nombre d indices : ',nind
168 call mmhgcr(fid,maa,med_no_dt,med_no_it,
171 if (cret .ne. 0 )
then
172 print *,
'Erreur lecture indices de coordonnées'
175 print *,
'- Axe ', nomcoo
176 print *,
' unite : ',unicoo
189 if (cret .ne. 0 )
then
190 print *,
'Erreur fermeture du fichier'
193 print *,
'Fermeture du fichier'
subroutine mficlo(fid, cret)
Fermeture d'un fichier MED.
subroutine mmhnmh(fid, n, cret)
Cette routine permet de lire le nombre de maillages dans un fichier.
subroutine mmhgcr(fid, name, numdt, numit, axis, index, cret)
Cette routine permet la lecture des coordonnées des noeuds d'un maillage structuré selon un axe du re...
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 mmhgtr(fid, name, gtype, cret)
Cette routine permet de lire le type d'un maillage structuré (MED_STRUCTURED_MESH).
subroutine mmhgsr(fid, name, numdt, numit, st, cret)
Cette routine permet la lecture de la structure (nombre de points sur chaque axe du repère) d'un mail...
subroutine mfiope(fid, name, access, cret)
Ouverture d'un fichier MED.
subroutine mmhcor(fid, name, numdt, numit, swm, coo, cret)
Cette routine permet de lire dans un maillage le tableau des coordonnées des noeuds, selon une séquence de calcul donnée.
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...