MED fichier: Fichier source de test24.f

MED fichier

- Documentation MED
- Guides d'utilisation
- Guides de référence

test24.f
Aller à la documentation de ce fichier.
1 C* This file is part of MED.
2 C*
3 C* COPYRIGHT (C) 1999 - 2017 EDF R&D, CEA/DEN
4 C* MED is free software: you can redistribute it and/or modify
5 C* it under the terms of the GNU Lesser General Public License as published by
6 C* the Free Software Foundation, either version 3 of the License, or
7 C* (at your option) any later version.
8 C*
9 C* MED is distributed in the hope that it will be useful,
10 C* but WITHOUT ANY WARRANTY; without even the implied warranty of
11 C* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 C* GNU Lesser General Public License for more details.
13 C*
14 C* You should have received a copy of the GNU Lesser General Public License
15 C* along with MED. If not, see <http://www.gnu.org/licenses/>.
16 C*
17
18 C *******************************************************************************
19 C * - Nom du fichier : test24.f
20 C *
21 C * - Description : lecture de mailles MED_POLYGONE dans le maillage MED
22 C * du fichier test23.med
23 C *
24 C ******************************************************************************
25 program test23
26 C
27 implicit none
28 include 'med.hf'
29 C
30 integer cret, fid,mdim,nmaa,npoly,i,j,k,taille
31 integer edim,nstep,stype,atype, chgt, tsf
32 character*64 maa
33 character*200 desc
34 integer ni, n, isize;
35 parameter(ni=4, n=3)
36 integer index(ni),ind1,ind2
37 character*16 nom(n)
38 integer num(n),fam(n)
39 integer con(16)
40 integer type
41 character*16 nomcoo(2)
42 character*16 unicoo(2)
43 character(16) :: dtunit
44 C
45 C Ouverture du fichier test23.med en lecture seule
46 call mfiope(fid,'test23.med',med_acc_rdonly, cret)
47 print *,cret
48 if (cret .ne. 0 ) then
49 print *,'Erreur ouverture du fichier'
50 call efexit(-1)
51 endif
52 print *,'Ouverture du fichier test23.med'
53 C
54 C Lecture du nombre de maillages
55 call mmhnmh(fid,nmaa,cret)
56 print *,cret
57 if (cret .ne. 0 ) then
58 print *,'Erreur lecture nombre de maillage'
59 call efexit(-1)
60 endif
61 print *,'Nombre de maillages : ',nmaa
62 C
63 C Lecture de toutes les mailles MED_POLYGONE
64 C dans chaque maillage
65 do 10 i=1,nmaa
66 C
67 C Info sur chaque maillage
68 call mmhmii(fid,i,maa,edim,mdim,type,desc,
69 & dtunit,stype,nstep,atype,
70 & nomcoo,unicoo,cret)
71 if (cret .ne. 0 ) then
72 print *,'Erreur lecture infos maillage'
73 call efexit(-1)
74 endif
75 print *,cret
76 print *,'Maillage : ',maa
77 print *,'Dimension : ',mdim
78 C
79 C Combien de mailles polygones
80 call mmhnme(fid,maa,med_no_dt,med_no_it,med_cell,med_polygon,
81 & med_index_node,med_nodal,chgt,tsf,isize,cret)
82 npoly = isize - 1;
83 print *,cret
84 if (cret .ne. 0 ) then
85 print *,'Erreur lecture du nombre de polygone'
86 call efexit(-1)
87 endif
88 print *,'Nombre de mailles MED_POLYGONE : ',npoly
89 C
90 C Taille des connectivites
91 call mmhnme(fid,maa,med_no_dt,med_no_it,med_cell,med_polygon,
92 & med_connectivity,med_nodal,chgt,tsf,taille,cret)
93 print *,cret
94 if (cret .ne. 0 ) then
95 print *,'Erreur lecture infos polygones'
96 call efexit(-1)
97 endif
98 print *,'Taille de la connectivite : ',taille
99 C
100 C Lecture de la connectivite
101 call mmhpgr(fid,maa,med_no_dt,med_no_it,med_cell,
102 & med_nodal,index,con,cret)
103 print *,cret
104 if (cret .ne. 0 ) then
105 print *,'Erreur lecture des connectivites polygones'
106 call efexit(-1)
107 endif
108 print *,'Lecture de la connectivite des polygones'
109 C
110 C Lecture des noms
111 call mmhear(fid,maa,med_no_dt,med_no_it,
112 & med_cell,med_polygon,nom,cret)
113 print *,cret
114 if (cret .ne. 0 ) then
115 print *,'Erreur lecture des noms des polygones'
116 call efexit(-1)
117 endif
118 print *,'Lecture des noms'
119 C
120 C Lecture des numeros
121 call mmhfnr(fid,maa,med_no_dt,med_no_it,med_cell,med_polygon,
122 & num,cret)
123 print *,cret
124 if (cret .ne. 0 ) then
125 print *,'Erreur lecture des numeros des polygones'
126 call efexit(-1)
127 endif
128 print *,'Lecture des numeros'
129 C
130 C Lecture des numeros de familles
131 call mmhfnr(fid,maa,med_no_dt,med_no_it,med_cell,med_polygon,
132 & fam,cret)
133 print *,cret
134 if (cret .ne. 0 ) then
135 print *,'Erreur lecture des numeros de famille des
136 & polygones'
137 call efexit(-1)
138 endif
139 print *,'Lecture des numeros de famille'
140 C
141 C Affichage des resultats
142 print *,'Affichage des resultats'
143 do 20 j=1,npoly
144 C
145 print *,'>> Maille polygone ',j
146 print *,'---- Connectivite ---- : '
147 ind1 = index(j)
148 ind2 = index(j+1)
149 do 30 k=ind1,ind2-1
150 print *,con(k)
151 30 continue
152 c print *,'---- Nom ---- : ',nom(j)
153 print *,'---- Numero ----: ',num(j)
154 print *,'---- Numero de famille ---- : ',fam(j)
155 C
156 20 continue
157 C
158 10 continue
159 C
160 C Fermeture du fichier
161 call mficlo(fid,cret)
162 print *,cret
163 if (cret .ne. 0 ) then
164 print *,'Erreur fermeture du fichier'
165 call efexit(-1)
166 endif
167 print *,'Fermeture du fichier'
168 C
169 end
mmhnmh
subroutine mmhnmh(fid, n, cret)
Cette routine permet de lire le nombre de maillages dans un fichier.
Definition: medmesh.f:40
mmhear
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.
Definition: medmesh.f:504
mficlo
subroutine mficlo(fid, cret)
Fermeture d'un fichier MED.
Definition: medfile.f:80
mmhnme
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...
Definition: medmesh.f:525
mmhmii
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.
Definition: medmesh.f:106
test23
program test23
Definition: test23.f:24
mmhfnr
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.
Definition: medmesh.f:464
mfiope
subroutine mfiope(fid, name, access, cret)
Ouverture d'un fichier MED.
Definition: medfile.f:41
mmhpgr
subroutine mmhpgr(fid, name, numdt, numit, entype, cmode, index, con, cret)
Cette routine permet la lecture des connectivités de polygones.
Definition: medmesh.f:871