MED fichier: f/test14.f

MED fichier

f/test14.f
1 C* This file is part of MED.
2 C*
3 C* COPYRIGHT (C) 1999 - 2023 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 : test14.f
20 C *
21 C * - Description : ecriture des noeuds d'un maillage MED
22 C * a l'aide des routines de niveau 2
23 C * MED - equivalent a test4.f
24 C *
25 C ******************************************************************************
26 program test14
27 C
28 implicit none
29 include 'med.hf'
30 C
31 integer*8 fid
32 integer cret
33 C ** la dimension du maillage **
34 integer mdim,sdim
35 C ** nom du maillage de longueur maxi MED_TAILLE_NOM **
36 character*64 maa
37 C ** le nombre de noeuds **
38 integer nnoe
39 parameter(mdim=2,maa="maa1",nnoe=4,sdim=2)
40 C ** table des coordonnees
41 real*8 coo(mdim*nnoe)
42 C ** tables des noms et des unites des coordonnees
43 character*16 nomcoo(mdim), unicoo(mdim)
44 C ** tables des noms, numeros, numeros de familles des noeuds
45 C autant d'elements que de noeuds - les noms ont pout longueur
46 C MED_TAILLE_PNOM : 8 **
47 character*16 nomnoe(nnoe)
48 integer numnoe(nnoe), nufano(nnoe)
49 real*8 dt
50 parameter(dt=0.0)
51
52 data coo /0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0/
53 data nomcoo /"x","y"/, unicoo /"cm","cm"/
54 data nomnoe /"nom1","nom2","nom3","nom4"/
55 data numnoe /1,2,3,4/,nufano /0,1,2,2/
56
57 C ** Creation du fichier test14.med **
58 call mfiope(fid,'test14.med',med_acc_rdwr, cret)
59 print *,cret
60 if (cret .ne. 0 ) then
61 print *,'Erreur creation du fichier'
62 call efexit(-1)
63 endif
64
65 C ** Creation du maillage **
66 call mmhcre(fid,maa,mdim,sdim,med_unstructured_mesh,
67 & 'un maillage pour test14',"",med_sort_dtit,
68 & med_cartesian,nomcoo,unicoo,cret)
69 print *,cret
70 if (cret .ne. 0 ) then
71 print *,'Erreur creation du maillage'
72 call efexit(-1)
73 endif
74
75 C ** Ecriture des noeuds d'un maillage MED :
76 C - Des coordonnees en mode MED_FULL_INTERLACE : (X1,Y1,X2,Y2,X3,Y3,...)
77 C dans un repere cartesien
78 C - Des noms (optionnel dans un fichier MED)
79 C - Des numeros (optionnel dans un fichier MED)
80 C - Des numeros de familles des noeuds **
81 call mmhnow(fid,maa,med_no_dt,med_no_it,dt,med_full_interlace,
82 & nnoe,coo,med_true,nomnoe,med_true,numnoe,
83 & med_true,nufano,cret)
84 print *,cret
85 if (cret .ne. 0 ) then
86 print *,'Erreur ecriture des noeuds'
87 call efexit(-1)
88 endif
89
90 C ** Fermeture du fichier **
91 call mficlo(fid,cret)
92 print *,cret
93 if (cret .ne. 0 ) then
94 print *,'Erreur fermeture du fichier'
95 call efexit(-1)
96 endif
97 C
98 end
99
100
101
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
mmhnow
subroutine mmhnow(fid, name, numdt, numit, dt, swm, n, coo, iname, nname, inum, num, ifam, fam, cret)
Cette routine permet l'écriture des noeuds d'un maillage non structuré pour une étape de calcul donné...
Definition: medmesh.f:726
mficlo
subroutine mficlo(fid, cret)
Fermeture d'un fichier MED.
Definition: medfile.f:82
test14
program test14
Definition: test14.f:26
mfiope
subroutine mfiope(fid, name, access, cret)
Ouverture d'un fichier MED.
Definition: medfile.f:42