MED fichier: Fichier source de test25.f

MED fichier

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

test25.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 : test25.f
20 C *
21 C * - Description : ecriture de mailles MED_POLYEDRE dans un maillage MED
22 C *
23 C ******************************************************************************
24 program test25
25 C
26 implicit none
27 include 'med.hf'
28 C
29 integer cret, fid,mdim, sdim
30 parameter(mdim = 3, sdim = 3)
31 character*64 maa
32 integer n
33 parameter(n=2)
34 C Connectivite nodale
35 integer np,nf
36 parameter(nf=9,np=3)
37 integer indexp(np),indexf(nf)
38 integer conn(24)
39 C Connectivite descendante
40 integer np2,nf2
41 parameter(nf2=8,np2=3)
42 integer indexp2(np2),indexf2(nf2)
43 integer conn2(nf2)
44 character*16 nom(n)
45 integer num(n),fam(n)
46 C ** tables des noms et des unites des coordonnees **
47 C profil : (dimension) **
48 character*16 nomcoo(3)
49 character*16 unicoo(3)
50 C
51 data indexp / 1,5,9 /
52 data indexf / 1,4,7,10,13,16,19,22,25 /
53 data conn / 1,2,3,4,5,6,7,8,9,10,11,12,13,14,
54 & 15,16,17,18,19,20,21,22,23,24 /
55 data indexp2 / 1,5,9 /
56 data indexf2 / med_tria3,med_tria3,med_tria3,med_tria3,
57 & med_tria3,med_tria3,med_tria3,med_tria3 /
58 data conn2 / 1,2,3,4,5,6,7,8 /
59 data nom / "poly1", "poly2"/
60 data num / 1,2 /, fam / 0,-1 /
61 data maa /"maa1"/
62 data nomcoo /"x","y","z"/, unicoo /"cm","cm","cm"/
63
64 C ** Creation du fichier test25.med **
65 call mfiope(fid,'test25.med',med_acc_rdwr, cret)
66 print *,cret
67 if (cret .ne. 0 ) then
68 print *,'Erreur creation du fichier'
69 call efexit(-1)
70 endif
71 print *,'Creation du fichier test25.med'
72
73 C ** Creation du maillage **
74 call mmhcre(fid,maa,mdim,sdim,
75 & med_unstructured_mesh,'un maillage pour test 25',
76 & "",med_sort_dtit,med_cartesian,nomcoo,unicoo,cret)
77 if (cret .ne. 0 ) then
78 print *,'Erreur creation du maillage'
79 call efexit(-1)
80 endif
81 print *,cret
82 print *,'Creation du maillage'
83
84 C ** Ecriture des connectivites des mailles polyedres en mode nodal **
85 call mmhphw(fid,maa,med_no_dt,med_no_it,med_undef_dt,med_cell,
86 & med_nodal,np,indexp,nf,indexf,conn,cret)
87 print *,cret
88 if (cret .ne. 0 ) then
89 print *,'Erreur ecriture connectivite des polyedres'
90 call efexit(-1)
91 endif
92 print *,'Ecriture des connectivites des mailles
93 & de type MED_POLYEDRE'
94 print *,'Description nodale'
95
96 C ** Ecriture des connectivites des mailles polyedres en mode descendant **
97 call mmhphw(fid,maa,med_no_dt,med_no_it,med_undef_dt,med_cell,
98 & med_descending,np2,indexp2,nf2,indexf2,conn2,cret)
99 print *,cret
100 if (cret .ne. 0 ) then
101 print *,'Erreur ecriture connectivite des polyedres'
102 call efexit(-1)
103 endif
104 print *,'Ecriture des connectivites des mailles
105 & de type MED_POLYEDRE'
106 print *,'Description descendante'
107
108 C ** Ecriture des noms des mailles polyedres **
109 call mmheaw(fid,maa,med_no_dt,med_no_it,med_cell,
110 & med_polyhedron,n,nom,cret)
111 print *,cret
112 if (cret .ne. 0 ) then
113 print *,'Erreur ecriture noms des polyedres'
114 call efexit(-1)
115 endif
116 print *,'Ecriture des noms des polyedress'
117
118 C ** Ecriture des numeros des mailles polyedres **
119 call mmhenw(fid,maa,med_no_dt,med_no_it,med_cell,
120 & med_polyhedron,n,num,cret)
121 print *,cret
122 if (cret .ne. 0 ) then
123 print *,'Erreur ecriture numeros des polyedres'
124 call efexit(-1)
125 endif
126 print *,'Ecriture des numeros des polyedres'
127
128 C ** Ecriture des numeros des familles des segments **
129 call mmhfnw(fid,maa,med_no_dt,med_no_it,med_cell,
130 & med_polyhedron,n,fam,cret)
131 print *,cret
132 if (cret .ne. 0 ) then
133 print *,'Erreur ecriture numeros de familles polyedres'
134 call efexit(-1)
135 endif
136 print *,'Ecriture des numeros de familles des polyedres'
137
138 C ** Fermeture du fichier **
139 call mficlo(fid,cret)
140 print *,cret
141 if (cret .ne. 0 ) then
142 print *,'Erreur fermeture du fichier'
143 call efexit(-1)
144 endif
145 print *,'Fermeture du fichier'
146 C
147 end
mmheaw
subroutine mmheaw(fid, mname, numdt, numit, entype, geotype, n, ename, cret)
Cette routine permet d'écrire les noms d'un type d'entité d'un maillage.
Definition: medmesh.f:484
mmhfnw
subroutine mmhfnw(fid, name, numdt, numit, entype, geotype, n, num, cret)
Cette routine permet l'écriture des numéros de famille d'un type d'entité d'un maillage.
Definition: medmesh.f:444
mmhphw
subroutine mmhphw(fid, name, numdt, numit, dt, entype, cmode, fisize, findex, nisize, nindex, con, cret)
Cette routine permet l'écriture dans un maillage des connectivités de polyèdres.
Definition: medmesh.f:891
mficlo
subroutine mficlo(fid, cret)
Fermeture d'un fichier MED.
Definition: medfile.f:80
mmhcre
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.
Definition: medmesh.f:20
test25
program test25
Definition: test25.f:24
mfiope
subroutine mfiope(fid, name, access, cret)
Ouverture d'un fichier MED.
Definition: medfile.f:41
mmhenw
subroutine mmhenw(fid, name, numdt, numit, entype, geotype, n, num, cret)
Cette routine permet d'écrire les numéros d'un type d'entité d'un maillage.
Definition: medmesh.f:404