MED fichier
f/test32.f
1 C* This file is part of MED.
2 C*
3 C* COPYRIGHT (C) 1999 - 2019 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 
19 C ******************************************************************************
20 C * - Nom du fichier : test32.f
21 C *
22 C * - Description : lecture nominale d'une numerotation globale dans un maillage MED
23 C *
24 C ******************************************************************************
25  program test32
26 C
27  implicit none
28  include 'med.hf'
29 C
30 C
31  integer*8 fid
32  integer cret
33  character*64 maa
34  character*200 des
35  integer nmaa, mdim ,nnoe,type,sdim
36  character*16 nomcoo(2)
37  character*16 unicoo(2)
38  character(16) :: dtunit
39  integer nstep, stype, atype,chgt,tsf
40  integer numglb(100),i
41 
42 
43 C ** Ouverture du fichier test31.med **
44  call mfiope(fid,'test31.med',med_acc_rdonly, cret)
45  print '(I1)',cret
46  if (cret .ne. 0 ) then
47  print *,'Erreur ouverture du fichier test31.med'
48  call efexit(-1)
49  endif
50 
51 C ** lecture des infos pour le premier maillage
52 
53  call mmhmii(fid,1,maa,sdim,mdim,type,des,dtunit,
54  & stype,nstep,atype,nomcoo,unicoo,cret)
55  print '(I1)',cret
56  if (cret .ne. 0 ) then
57  print *,'Erreur acces au premier maillage'
58  call efexit(-1)
59  endif
60 
61  nnoe = 0
62  call mmhnme(fid,maa,med_no_dt,med_no_it,med_node,med_none,
63  & med_coordinate,med_no_cmode,chgt,tsf,nnoe,cret)
64  if (cret .ne. 0 ) then
65  print *,'Erreur acces au nombre de noeud du premier maillage'
66  call efexit(-1)
67  endif
68 
69 
70  print '(A,I1,A,A4,A,I1,A,I4)','maillage '
71  & ,0,' de nom ',maa,' et de dimension ',mdim,
72  & ' comportant le nombre de noeud ',nnoe
73 
74 
75 C ** lecture de la numerotation globale
76  call mmhgnr(fid,maa,med_no_dt,med_no_it,med_node,med_none,
77  & numglb,cret)
78 
79  if (cret .ne. 0 ) then
80  print *,'Erreur lecture numerotation globale '
81  call efexit(-1)
82  endif
83 
84 
85 C ** Ecriture à l'ecran des numeros globaux
86 
87  do i=1,min(nnoe,100)
88  print '(A,I3,A,I4)',
89  & 'Numero global du noeud ',i,' : ',numglb(i)
90  enddo
91 
92 
93 C ** Fermeture du fichier **
94  call mficlo(fid,cret)
95  print '(I1)',cret
96  if (cret .ne. 0 ) then
97  print *,'Erreur fermeture du fichier'
98  call efexit(-1)
99  endif
100 C
101  end