1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
25
26 implicit none
27 include 'med.hf'
28
29 integer*8 fid
30 integer cret
31
32 character*64 maa
33 integer mdim, sdim
34 character*64 nomfam
35 integer numfam
36 integer ngro
37 character*80 gro
38 integer nfamn
39 character*16 str
40 character*16 nomcoo(2)
41 character*16 unicoo(2)
42
43 parameter( mdim = 2, nfamn = 2 , sdim = 2)
44 data maa /"maa1"/
45 data nomcoo /"x","y"/, unicoo /"cm","cm"/
46
47
48 call mfiope(fid,
'test8.med',med_acc_rdwr, cret)
49 print *,cret
50 if (cret .ne. 0 ) then
51 print *,'Erreur creation du fichier'
52 call efexit(-1)
53 endif
54
55
56 call mmhcre(fid,maa,mdim,sdim,med_unstructured_mesh,
57 & 'un maillage pour test8',"",med_sort_dtit,
58 & med_cartesian,nomcoo,unicoo,cret)
59 print *,cret
60 if (cret .ne. 0 ) then
61 print *,'Erreur creation du maillage'
62 call efexit(-1)
63 endif
64
65
66
67
68
69
70
71
72
73
74
75
76 numfam = 0
77 nomfam="FAMILLE_0"
78 ngro = 0
79 call mfacre(fid,maa,nomfam,numfam,ngro,gro,cret)
80 print *,cret
81 if (cret .ne. 0 ) then
82 print *,'Erreur creation de la famille 0'
83 call efexit(-1)
84 endif
85
86
87
88 do numfam=-1,-3,-1
89 write(str,'(I1.0)') (-numfam)
90 nomfam = "FAMILLE_ELEMENT_"//str
91 gro="groupe1"
92 ngro = 1
93 call mfacre(fid,maa,nomfam,numfam,ngro,gro,cret)
94 print *,cret
95 if (cret .ne. 0 ) then
96 print *,'Erreur creation de famille'
97 call efexit(-1)
98 endif
99 end do
100
101 do numfam=1,nfamn
102 write(str,'(I1.0)') numfam
103 nomfam = "FAMILLE_NOEUD_"//str
104 gro="groupe1"
105 ngro = 1
106 call mfacre(fid,maa,nomfam,numfam,ngro,gro,cret)
107 print *,cret
108 if (cret .ne. 0 ) then
109 print *,'Erreur creation de famille'
110 call efexit(-1)
111 endif
112 end do
113
114
115
117 print *,cret
118 if (cret .ne. 0 ) then
119 print *,'Erreur fermeture du fichier'
120 call efexit(-1)
121 endif
122
123 end
124
125
126
127
128
129
subroutine mfacre(fid, name, fname, fnum, ngro, gname, cret)
Cette routine permet la création d'une famille portant sur les entités d'un maillage.
subroutine mfiope(fid, name, access, cret)
Ouverture d'un fichier MED.
subroutine mficlo(fid, cret)
Fermeture d'un fichier MED.
subroutine mmhcre(fid, name, sdim, mdim, mtype, desc, dtunit, stype, atype, aname, aunit, cret)
Cette routine permet de créer un maillage dans un fichier.