MED fichier: f/test19.f

MED fichier

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

f/test19.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 C******************************************************************************
19 C * - Nom du fichier : test19.f
20 C *
21 C * - Description : conversion groupes => familles
22 C *
23 C *****************************************************************************
24 program test19
25 C
26 implicit none
27 include 'med.hf'
28 C
29 C
30 C Cas test obsolete avec MED 3.0, on laisse les appels à l'API 2.3
31 C
32 integer cret
33 integer*8 fid
34
35 character *32 maa
36 parameter(maa = "maillage_test19")
37 character*200 des
38 parameter(des = "un maillage pour test19")
39 integer mdim
40 parameter(mdim = 2)
41 C Donnees de tests pour MEDgro2FamCr()
42 C Les noeuds/mailles sont numerotes de 1 a 5 et les
43 C groupes de 1 a 3.
44 C Au depart, on a :
45 C - G1 : 1,2
46 C - G2 : 3,4,6
47 C - G3 : 1,4
48 C Au retour, on foit avoir 4 familles de noeuds + 4 familles de mailles
49 C + la famille 0 dans le fichier :
50 C - F0 : 5 - groupes : aucun groupe par defaut (convention habituelle).
51 C - F1 : 1 - groupes : G1,G3
52 C - F2 : 2 - groupes : G1
53 C - F3 : 3,6 - groupes : G2
54 C - F4 : 4 - groupes : G2,G3
55 C
56 integer ngroup
57 parameter(ngroup = 3)
58 integer nent
59 parameter(nent = 6)
60 character*80 nomgro(ngroup)
61 integer ent(7)
62 integer ind(ngroup+1)
63 integer ngeo
64 parameter(ngeo = 3)
65 integer geo(ngeo)
66 integer indgeo(ngeo+1)
67 character*200 attdes,gro
68 integer attval,attide
69 integer typgeo
70 integer indtmp
71 C
72 data nomgro / "GROUPE1","GROUPE2","GROUPE3" /
73 data ent / 1,2, 3,4,6, 1,4 /
74 data ind / 1, 3, 6, 8 /
75 data geo / med_seg2, med_tria3, med_tetra4 /
76 data indgeo / 1,4,6,7 /
77 C
78 C ** Creation du fichier test19.med
79 call efouvr(fid,'test19.med',med_lecture_ecriture, cret)
80 print *,cret
81 if (cret .ne. 0 ) then
82 print *,'Erreur creation du fichier'
83 call efexit(-1)
84 endif
85 print *,'Creation du fichier test19.med'
86 C
87 C ** Creation du maillage
88 call efmaac(fid,maa,mdim,med_non_structure,des,cret)
89 print *,cret
90 if (cret .ne. 0 ) then
91 print *,'Erreur creation du maillage'
92 call efexit(-1)
93 endif
94 print *,'Creation du maillage'
95 C
96 C ** Creation de la famille 0
97 call effamc(fid,maa,'FAMILLE_0',0,attide,attval,attdes,0,gro,0,
98 & cret)
99 print *,cret
100 if (cret .ne. 0 ) then
101 print *,'Erreur creation de la famille 0'
102 call efexit(-1)
103 endif
104 print *,'Creation de la famille 0'
105 C
106 C ** Creation des familles de noeuds
107 call efg2fc(fid,maa,nomgro,ind,ngroup,ent,nent,med_noeud,
108 & typgeo,indtmp,0,cret)
109 print *,cret
110 if (cret .ne. 0 ) then
111 print *,'Erreur creation des familles de noeud'
112 call efexit(-1)
113 endif
114 print *,'Creation des familles de noeuds dans test19.med'
115 C
116 C ** Creation des familles de mailles
117 call efg2fc(fid,maa,nomgro,ind,ngroup,ent,nent,med_maille,
118 & geo,indgeo,ngeo,cret)
119 print *,cret
120 if (cret .ne. 0 ) then
121 print *,'Erreur creation des familles de maille'
122 call efexit(-1)
123 endif
124 print *,'Creation des familles de mailles dans test19.med'
125 C
126 C ** Fermeture du fichier
127 call efferm (fid,cret)
128 print *,cret
129 if (cret .ne. 0 ) then
130 print *,'Erreur fermeture du fichier'
131 call efexit(-1)
132 endif
133 print *,'Fermeture du fichier'
134 C
135 end