2.3.6/test25.f

Aller à la documentation de ce fichier.
00001 C*  This file is part of MED.
00002 C*
00003 C*  COPYRIGHT (C) 1999 - 2015  EDF R&D, CEA/DEN
00004 C*  MED is free software: you can redistribute it and/or modify
00005 C*  it under the terms of the GNU Lesser General Public License as published by
00006 C*  the Free Software Foundation, either version 3 of the License, or
00007 C*  (at your option) any later version.
00008 C*
00009 C*  MED is distributed in the hope that it will be useful,
00010 C*  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 C*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012 C*  GNU Lesser General Public License for more details.
00013 C*
00014 C*  You should have received a copy of the GNU Lesser General Public License
00015 C*  along with MED.  If not, see <http://www.gnu.org/licenses/>.
00016 C*
00017 
00018 C       *******************************************************************************
00019 C       * - Nom du fichier : test25.f
00020 C       *
00021 C       * - Description : ecriture de mailles MED_POLYEDRE dans un maillage MED
00022 C       *
00023 C       ******************************************************************************
00024         program test25
00025 C       
00026         implicit none
00027         include 'med.hf'
00028 C       
00029         integer cret, fid,mdim
00030         parameter  (mdim = 3)
00031         character*32 maa        
00032         integer n
00033         parameter (n=2)
00034 C       Connectivite nodale
00035         integer np,nf
00036         parameter (nf=9,np=3)
00037         integer indexp(np),indexf(nf)
00038         integer conn(24)
00039 C       Connectivite descendante
00040         integer np2,nf2
00041         parameter (nf2=8,np2=3)
00042         integer indexp2(np2),indexf2(nf2)
00043         integer conn2(nf2)
00044         character*16 nom(n)
00045         integer num(n),fam(n)
00046 C
00047         data indexp / 1,5,9 /
00048         data indexf / 1,4,7,10,13,16,19,22,25 /
00049         data conn / 1,2,3,4,5,6,7,8,9,10,11,12,13,14,
00050      &              15,16,17,18,19,20,21,22,23,24 /    
00051         data indexp2 / 1,5,9 /
00052         data indexf2 / MED_TRIA3,MED_TRIA3,MED_TRIA3,MED_TRIA3,
00053      &                 MED_TRIA3,MED_TRIA3,MED_TRIA3,MED_TRIA3 /
00054         data conn2 / 1,2,3,4,5,6,7,8 /
00055         data nom  / "poly1", "poly2"/ 
00056         data num  / 1,2 /, fam / 0,-1 /
00057         data maa /"maa1"/
00058 
00059 C       ** Creation du fichier test25.med  **
00060         call efouvr(fid,'test25.med',MED_LECTURE_ECRITURE, cret)
00061         print *,cret
00062         if (cret .ne. 0 ) then
00063            print *,'Erreur creation du fichier'
00064            call efexit(-1)
00065         endif      
00066         print *,'Creation du fichier test25.med'
00067 
00068 C       ** Creation du maillage          **
00069         call efmaac(fid,maa,mdim,MED_NON_STRUCTURE,
00070      &                 'un maillage pour test25',cret)
00071         if (cret .ne. 0 ) then
00072            print *,'Erreur creation du maillage'
00073            call efexit(-1)
00074         endif      
00075         print *,cret
00076         print *,'Creation du maillage'
00077 
00078 C       ** Ecriture des connectivites des mailles polyedres en mode nodal **
00079         call efpece(fid,maa,indexp,np,indexf,nf,conn,MED_NOD,cret) 
00080         print *,cret
00081         if (cret .ne. 0 ) then
00082            print *,'Erreur ecriture connectivite des polyedres'
00083            call efexit(-1)
00084         endif      
00085         print *,
00086 'Ecriture des connectivites des mailles     & de type MED_POLYEDRE'
00087         print *,'Description nodale'
00088 
00089 C       ** Ecriture des connectivites des mailles polyedres en mode descendant **
00090         call efpece(fid,maa,indexp2,np2,indexf2,nf2,conn2,MED_DESC,cret) 
00091         print *,cret
00092         if (cret .ne. 0 ) then
00093            print *,'Erreur ecriture connectivite des polyedres'
00094            call efexit(-1)
00095         endif      
00096         print *,
00097 'Ecriture des connectivites des mailles      & de type MED_POLYEDRE'
00098         print *,'Description descendante'
00099 
00100 C       ** Ecriture des noms des mailles polyedres          **
00101         call efnome(fid,maa,nom,n,MED_MAILLE,MED_POLYEDRE,
00102      &                 cret)
00103         print *,cret
00104         if (cret .ne. 0 ) then
00105            print *,'Erreur ecriture noms des polyedres'
00106            call efexit(-1)
00107         endif      
00108         print *,'Ecriture des noms des polyedress'
00109 
00110 C       ** Ecriture des numeros des mailles polyedres **
00111         call efnume(fid,maa,num,n,MED_MAILLE,MED_POLYEDRE,
00112      &                 cret)
00113         print *,cret
00114         if (cret .ne. 0 ) then
00115            print *,'Erreur ecriture numeros des polyedres'
00116            call efexit(-1)
00117         endif      
00118         print *,'Ecriture des numeros des polyedres'
00119 
00120 C       ** Ecriture des numeros des familles des segments  **
00121         call effame(fid,maa,fam,n,
00122      &              MED_MAILLE,MED_POLYEDRE,cret)
00123         print *,cret
00124         if (cret .ne. 0 ) then
00125            print *,'Erreur ecriture numeros de familles polyedres'
00126            call efexit(-1)
00127         endif      
00128         print *,'Ecriture des numeros de familles des polyedres'
00129 
00130 C       ** Fermeture du fichier                            **
00131         call efferm (fid,cret)
00132         print *,cret
00133         if (cret .ne. 0 ) then
00134            print *,'Erreur fermeture du fichier'
00135            call efexit(-1)
00136         endif      
00137         print *,'Fermeture du fichier'
00138 C
00139         end

Généré le Thu Oct 8 14:26:17 2015 pour MED fichier par  doxygen 1.6.1