# test10.f

Aller à la documentation de ce fichier.

    00001 C*  This file is part of MED.
    00002 C*
    00003 C*  COPYRIGHT (C) 1999 - 2012  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 : test10.f
    00020 C *
    00021 C * - Description : ecriture de champs de resultats MED
    00022 C *
    00023 C ******************************************************************************
    00024         program test10
    00025 C
    00026         implicit none
    00027         include 'med.hf'
    00028 C
    00029         integer      ret,fid,USER_INTERLACE,USER_MODE
    00030         real*8       a,b,p1,p2,dt
    00031
    00032         character*64 maa1,maa2,maa3
    00033         character*13 lien_maa2
    00034         character*16 nomcoo(3)
    00035         character*16 unicoo(3)
    00036 C       CHAMP N°1
    00037         character*64 nomcha1
    00038         character*16 comp1(2), unit1(2)
    00039         character*16 dtunit1, nounit
    00040         integer      ncomp1
    00041 C       MODEL N°1 DE LOC. DES PTS DE GAUSS PR CHAMP1
    00042         integer      ngauss1_1
    00043         character*64 gauss1_1
    00044         real*8       refcoo1(12), gscoo1_1(12), wg1_1(6)
    00045         integer      nval1_1, nent1_1
    00046         real*8       valr1_1(1*6*2)
    00047 C       MODEL N°2 DE LOC. DES PTS DE GAUSS PR CHAMP1
    00048         integer      ngauss1_2
    00049         character*64 gauss1_2
    00050         real*8       gscoo1_2(6), wg1_2(3)
    00051         integer      nval1_2, nent1_2
    00052         real*8       valr1_2(2*3*2)
    00053         real*8       valr1_2p(2*3)
    00054 C       MODEL N°3 DE LOC. DES PTS DE GAUSS PR CHAMP1
    00055         integer      ngauss1_3,nval1_3, nent1_3
    00056         real*8       valr1_3(2*3*2)
    00057         real*8       valr1_3p(2*2)
    00058
    00059 C       CHAMP N°2
    00060         character*64 nomcha2
    00061         character*16 comp2(3), unit2(3)
    00062         integer      ncomp2, nval2
    00063         integer      valr2(5*3),   valr2p(3*3)
    00064
    00065 C       CHAMP N°3
    00066         character*64 nomcha3
    00067         character*16 comp3(2), unit3(2)
    00068         integer      ncomp3, nval3, nent3
    00069         integer      valr3(5*4*2),   valr3p(3*4*2)
    00070
    00071 C       PROFILS UTILISES
    00072         character*64 nomprofil1
    00073         integer      profil1(2) , profil2(3)
    00074
    00075         parameter (USER_INTERLACE = MED_FULL_INTERLACE)
    00076         parameter (USER_MODE = MED_COMPACT_PFLMODE )
    00077         parameter ( a=0.446948490915965D0, b=0.091576213509771D0    )
    00078         parameter ( p1=0.11169079483905D0, p2=0.0549758718227661D0  )
    00079 C       MAILLAGES
    00080         parameter ( maa1 = "maa1", maa2 = "maa2", maa3 = "maa3" )
    00081         parameter ( lien_maa2= "./testfoo.med"                  )
    00082 C       CHAMP N°1
    00083         parameter ( nomcha1 = "champ reel" )
    00084         parameter ( ncomp1 = 2 )
    00085         parameter ( dtunit1 = "                ")
    00086         parameter ( nounit  = "                ")
    00087 C       MODEL N°1 DE LOC. DES PTS DE GAUSS PR CHAMP1
    00088         parameter ( gauss1_1 = "Model n1" )
    00089         parameter ( ngauss1_1 = 6 )
    00090 C       MODEL N°2 DE LOC. DES PTS DE GAUSS PR CHAMP1
    00091         parameter ( gauss1_2  = "Model n2" )
    00092         parameter ( ngauss1_2 = 3 )
    00093 C       MODEL N°3 DE LOC. DES PTS DE GAUSS PR CHAMP1
    00094         parameter ( ngauss1_3 = 6 )
    00095         parameter ( nval1_3 = 6 )
    00096 C       CHAMP N°2
    00097         parameter ( nomcha2="champ entier")
    00098         parameter ( ncomp2 = 3, nval2= 5  )
    00099 C       CHAMP N°3
    00100         parameter ( nomcha3="champ entier 3")
    00101         parameter ( ncomp3 = 2, nval3= 5*4  )
    00102 C       PROFILS
    00103         parameter ( nomprofil1  = "PROFIL(champ(1))" )
    00104
    00105
    00106 C       CHAMP N°1
    00107         data comp1 /"comp1", "comp2"/
    00108         data unit1 /"unit1","unit2"/
    00109 C       MODEL N°1 DE LOC. DES PTS DE GAUSS PR CHAMP1
    00110         data nval1_1  / 1*6 /
    00111         data nent1_1  / 1 /
    00112         data refcoo1  / -1.0,1.0, -1.0,-1.0, 1.0,-1.0, -1.0,0.0,
    00113      1                  0.0,-1.0, 0.0,0.0 /
    00114         data valr1_1  /  0.0,1.0, 2.0,3.0, 10.0,11.0, 12.0,13.0,
    00115      1                   20.0,21.0, 22.0,23.0/
    00116 C       MODEL N°2 DE LOC. DES PTS DE GAUSS PR CHAMP1
    00117         data nent1_2  / 2 /
    00118         data valr1_2  / 0.0,1.0, 2.0,3.0, 10.0,11.0,
    00119      1                  12.0,13.0, 20.0,21.0, 22.0,23.0 /
    00120         data valr1_2p / 12.0,13.0, 20.0,21.0, 22.0,23.0 /
    00121 C       MODEL N°3 DE LOC. DES PTS DE GAUSS PR CHAMP1
    00122         data nent1_3  / 6 /
    00123         data valr1_3  / 0.0,1.0, 2.0,3.0, 10.0,11.0, 12.0,13.0,
    00124      1                  20.0,21.0, 22.0,23.0 /
    00125         data valr1_3p / 2.0,3.0, 10.0,11.0   /
    00126 C       CHAMP N°2
    00127         data comp2 /"comp1", "comp2", "comp3"/
    00128         data unit2 /"unit1","unit2", "unit3"/
    00129         data valr2 / 0,1,2, 10,11,12, 20,21,22, 30,31,32, 40,41,42 /
    00130         data valr2p / 0,1,2,           20,21,22,           40,41,42 /
    00131 C       CHAMP N°3
    00132         data nent3 / 5 /
    00133         data comp3 /"comp1", "comp2"/
    00134         data unit3 /"unit1","unit2"/
    00135         data valr3 / 0,1, 10,11, 20,21, 30,31,
    00136      1           40,41, 50,51, 60,61, 70,71,
    00137      1           80,81, 90,91, 100,101, 110,111,
    00138      1           120,121, 130,131, 140,141, 150,151,
    00139      1           160,161, 170,171, 180,181, 190,191 /
    00140         data valr3p / 0,1, 10,11, 20,21, 30,31,
    00141      1            80,81, 90,91, 100,101, 110,111,
    00142      1            160,161, 170,171, 180,181, 190,191 /
    00143
    00144
    00145 C       PROFILS
    00146         data profil1 /2,3/
    00147         data profil2 /1,3,5/
    00148
    00149         data  nomcoo /"x","y","z"/, unicoo /"cm","cm","cm"/
    00150
    00151         ret = 0
    00152
    00153         gscoo1_1(1) =  2*b-1
    00154         gscoo1_1(2) =  1-4*b
    00155         gscoo1_1(3) =  2*b-1
    00156         gscoo1_1(4) =  2*b-1
    00157         gscoo1_1(5) =  1-4*b
    00158         gscoo1_1(6) =  2*b-1
    00159         gscoo1_1(7) =  1-4*a
    00160         gscoo1_1(8) =  2*a-1
    00161         gscoo1_1(9) =  2*a-1
    00162         gscoo1_1(10) =  1-4*a
    00163         gscoo1_1(11) =  2*a-1
    00164         gscoo1_1(12) =  2*a-1
    00165
    00166         wg1_1(1) =  4*p2
    00167         wg1_1(2) =  4*p2
    00168         wg1_1(3) =  4*p2
    00169         wg1_1(4) =  4*p1
    00170         wg1_1(5) =  4*p1
    00171         wg1_1(6) =  4*p1
    00172
    00173         nval1_2 = 2*3
    00174         gscoo1_2(1) = -2.0D0/3
    00175         gscoo1_2(2) =  1.0D0/3
    00176         gscoo1_2(3) = -2.0D0/3
    00177         gscoo1_2(4) = -2.0D0/3
    00178         gscoo1_2(5) =  1.0D0/3
    00179         gscoo1_2(6) = -2.0D0/3
    00180
    00181         wg1_2(1) =  2.0D0/3
    00182         wg1_2(2) =  2.0D0/3
    00183         wg1_2(3) =  2.0D0/3
    00184
    00185 C     ** ouverture du fichier                            **
    00186         call mfiope(fid,'test10.med',MED_ACC_RDWR, ret)
    00187         print *,ret
    00188         if (ret .ne. 0 ) then
    00189            print *,'Erreur à l''ouverture du fichier  : ','test10.med'
    00190            call efexit(-1)
    00191         endif
    00192
    00193 C     ** creation du maillage maa1 de dimension 3         **
    00194         call mmhcre(fid,maa1,3,3,
    00195      &     MED_UNSTRUCTURED_MESH,'Maillage vide',
    00196      &     "",MED_SORT_DTIT,MED_CARTESIAN,nomcoo,unicoo,ret)
    00197         print *,ret
    00198         if (ret .ne. 0 ) then
    00199            print *,'Erreur à la création du maillage : ', maa1
    00200            call efexit(-1)
    00201         endif
    00202
    00203 C     ** creation du maillage maa3 de dimension 3         **
    00204         call mmhcre(fid,maa3,3,3,
    00205      &     MED_UNSTRUCTURED_MESH,'Maillage vide',
    00206      &     "",MED_SORT_DTIT,MED_CARTESIAN,nomcoo,unicoo,ret)
    00207         print *,ret
    00208         if (ret .ne. 0 ) then
    00209            print *,'Erreur à la création du maillage : ', maa3
    00210            call efexit(-1)
    00211         endif
    00212
    00213
    00214 C     ** creation du champ réel n°1                        **
    00215         call mfdcre(fid,nomcha1,MED_FLOAT64,ncomp1,comp1,unit1,
    00216      &              dtunit1,maa1,ret)
    00217         print *,ret
    00218         if (ret .ne. 0 ) then
    00219            print *,'Erreur à la création du champ : ', nomcha1
    00220            call efexit(-1)
    00221         endif
    00222
    00223 C     ** creation du champ entier n°2                      **
    00224         call mfdcre(fid,nomcha2,MED_INT32,ncomp2,comp2,unit2,
    00225      &              dtunit1,maa1,ret)
    00226         print *,ret
    00227         if (ret .ne. 0 ) then
    00228            print *,'Erreur à la création du champ : ', nomcha2
    00229            call efexit(-1)
    00230         endif
    00231
    00232 C     ** creation du lien au fichier distant contenant maa2 **
    00233         call mlnliw(fid,maa2,lien_maa2,ret)
    00234         print *,ret
    00235         if (ret .ne. 0 ) then
    00236            print *,'Erreur à la création du lien : ', lien_maa2
    00237            call efexit(-1)
    00238         endif
    00239
    00240
    00241 C     ** creation de la localisation des points de Gauss modèle n°1 **
    00242         call mlclow(fid,gauss1_1,MED_TRIA6,2,refcoo1,USER_INTERLACE,
    00243      &              ngauss1_1,gscoo1_1, wg1_1,MED_NO_INTERPOLATION,
    00244      &              MED_NO_MESH_SUPPORT, ret)
    00245         print *,ret
    00246         if (ret .ne. 0 ) then
    00247            print *,'Erreur à la création du modèle n°1 : ', gauss1_1
    00248            call efexit(-1)
    00249         endif
    00250
    00251 C     ** creation de la localisation des points de Gauss modèle n°2 **
    00252         call mlclow(fid,gauss1_2,MED_TRIA6,2,refcoo1,USER_INTERLACE,
    00253      &              ngauss1_2,gscoo1_2, wg1_2,MED_NO_INTERPOLATION,
    00254      &              MED_NO_MESH_SUPPORT, ret)
    00255         print *,ret
    00256         if (ret .ne. 0 ) then
    00257            print *,'Erreur à la création du modèle n°2 : ', gauss1_2
    00258            call efexit(-1)
    00259         endif
    00260
    00261
    00262 C     ** Ecriture du champ n°1
    00263 C     ** - enregistre uniquement la composante n°2 de valr1_1
    00264 C     ** - pas de pas de temps, ni de numero d'ordre
    00265         dt = 0.0
    00266         call mfdrpw(fid,nomcha1,MED_NO_DT,MED_NO_IT,dt,MED_CELL,
    00267      &              MED_TRIA6,USER_MODE,MED_ALLENTITIES_PROFILE,
    00268      &              gauss1_1,USER_INTERLACE,2,nent1_1,valr1_1,ret)
    00269         print *,ret
    00270         if (ret .ne. 0 ) then
    00271            print *,'Erreur à l''écriture du champ : ', nomcha1,'et.1'
    00272            call efexit(-1)
    00273         endif
    00274
    00275 C     ** Nouvelle Ecriture du champ reel en mode remplacement
    00276 C     ** - complete le champ precedent en enregistrant les composantes 1
    00277 C     ** - pas de pas de temps, ni de numero d'ordre
    00278         call mfdrpw(fid,nomcha1,MED_NO_DT,MED_NO_IT,dt,MED_CELL,
    00279      &              MED_TRIA6,USER_MODE,MED_ALLENTITIES_PROFILE,
    00280      &              gauss1_1,USER_INTERLACE,1,nent1_1,valr1_1,ret)
    00281         print *,ret
    00282         if (ret .ne. 0 ) then
    00283            print *,'Erreur à l''écriture du champ : ', nomcha1,'et.2'
    00284            call efexit(-1)
    00285         endif
    00286
    00287 C     ** Ecriture sur le champ reel
    00288 C     ** - De la 1ere composante du tableau valr1_2
    00289 C     ** - Avec un pas de temps égal a 5.5
    00290 C     ** - Pas de numero d'ordre
    00291 C     ** - maa2 est distant
    00292         dt = 5.5
    00293         call mfdrpw(fid,nomcha1,1,MED_NO_IT,dt,MED_CELL,MED_TRIA6,
    00294      &              USER_MODE,MED_ALLENTITIES_PROFILE,gauss1_2,
    00295      &              USER_INTERLACE,1,nent1_2,valr1_2,ret)
    00296         print *,ret
    00297         if (ret .ne. 0 ) then
    00298            print *,'Erreur à l''écriture du champ : ', nomcha1,'et.3'
    00299            call efexit(-1)
    00300         endif
    00301
    00302 C     ** Ecriture sur le champ reel
    00303 C     ** - De la 2ere composante du tableau valr1_2
    00304 C     ** - Avec un pas de temps égal a 5.5
    00305 C     ** - Pas de numero d'ordre
    00306 C     ** - maa1 est local
    00307         call mfdrpw(fid,nomcha1,1,MED_NO_IT,dt,MED_CELL,MED_TRIA6,
    00308      &              USER_MODE,MED_ALLENTITIES_PROFILE,gauss1_2,
    00309      &              USER_INTERLACE,2,nent1_2,valr1_2,ret)
    00310         print *,ret
    00311         if (ret .ne. 0 ) then
    00312            print *,'Erreur à l''écriture du champ : ', nomcha1,'et.4'
    00313            call efexit(-1)
    00314         endif
    00315
    00316
    00317 C     ** Ecriture sur le champ reel
    00318 C     ** - De la 1ere composante du tableau valr1_1
    00319 C     ** - Avec un pas de temps égal a 5.5
    00320 C     ** - Numero d'ordre egal a 2
    00321         call mfdrpw(fid,nomcha1,1,2,dt,MED_CELL,MED_TRIA6,
    00322      &              USER_MODE,MED_ALLENTITIES_PROFILE,gauss1_1,
    00323      &              USER_INTERLACE,1,nent1_1,valr1_1,ret)
    00324         print *,ret
    00325         if (ret .ne. 0 ) then
    00326            print *,'Erreur à l''écriture du champ : ', nomcha1,'et.5'
    00327            call efexit(-1)
    00328         endif
    00329
    00330 C     ** Creation de profil
    00331 C     ** - qui selectionne uniquement le 2e element du tableau valr1
    00332         call mpfprw(fid,nomprofil1,1,profil1,ret)
    00333         print *,ret
    00334         if (ret .ne. 0 ) then
    00335            print *,'Erreur à la création du profil : ', nomprofil1
    00336            call efexit(-1)
    00337         endif
    00338
    00339
    00340 C     ** Ecriture du champ reel
    00341 C     ** - Toutes les composantes du 2e element de valr1_1 (MED_ALL)
    00342 C     ** - Extrait a partir du profil de nom "profil1(1)"
    00343 C     ** - Pas de temps = 5.6
    00344 C     ** - Numero d'ordre = 2
    00345         dt = 5.6
    00346         call mfdrpw(fid,nomcha1,2,2,dt,MED_CELL,MED_TRIA6,
    00347      &              USER_MODE, nomprofil1, MED_NO_LOCALIZATION,
    00348      &              USER_INTERLACE,MED_ALL_CONSTITUENT,
    00349      &              nval1_3,valr1_3p,ret)
    00350         print *,ret
    00351         if (ret .ne. 0 ) then
    00352            print *,'Erreur à l''écriture du champ : ', nomcha1,'et.6'
    00353            call efexit(-1)
    00354         endif
    00355
    00356 C     ** Ecriture du champ reel
    00357 C     ** - Toutes les composantes du 2e element de valr1_2p (MED_ALL)
    00358 C     ** - Extrait a partir du profil de nom "profil1(1)"
    00359 C     ** - Pas de temps = 5.6
    00360 C     ** - Numero d'ordre = 2
    00361         call mfdrpw(fid,nomcha1,2,2,dt,MED_CELL,MED_TRIA6,
    00362      &              USER_MODE, nomprofil1, gauss1_2,
    00363      &              USER_INTERLACE,MED_ALL_CONSTITUENT,
    00364      &              nent1_2,valr1_2p,ret)
    00365         print *,ret
    00366         if (ret .ne. 0 ) then
    00367            print *,'Erreur à l''écriture du champ : ', nomcha1,'et.7'
    00368            call efexit(-1)
    00369         endif
    00370
    00371
    00372 C     ** Ecriture du champ reel
    00373 C     ** - 2e composante du 2e element du champ
    00374 C     ** - Extrait a partir du profil de nom "profil1(1)"
    00375 C     ** - Pas de temps = 5.7
    00376 C     ** - Numero d'ordre = 2
    00377         dt = 5.7
    00378         call mfdrpw(fid,nomcha1,3,2,dt,MED_CELL,MED_TRIA6,
    00379      &              USER_MODE, nomprofil1, MED_NO_LOCALIZATION,
    00380      &              USER_INTERLACE,2,
    00381      &              nent1_3,valr1_3p,ret)
    00382         print *,ret
    00383         if (ret .ne. 0 ) then
    00384            print *,'Erreur à l''écriture du champ : ', nomcha1,'et.8a'
    00385            call efexit(-1)
    00386         endif
    00387
    00388 C     ** Ecriture du champ reel
    00389 C     ** - 1e composante du 2e element du champ
    00390 C     ** - Extrait a partir du profil de nom "profil1(1)"
    00391 C     ** - Pas de temps = 5.7
    00392 C     ** - Numero d'ordre = 2
    00393         dt = 5.7
    00394         call mfdrpw(fid,nomcha1,3,2,dt,MED_CELL,MED_TRIA6,
    00395      &              USER_MODE, nomprofil1, MED_NO_LOCALIZATION,
    00396      &              USER_INTERLACE,1,
    00397      &              nent1_3,valr1_3p,ret)
    00398         print *,ret
    00399         if (ret .ne. 0 ) then
    00400            print *,'Erreur à l''écriture du champ : ', nomcha1,'et.8b'
    00401            call efexit(-1)
    00402         endif
    00403
    00404
    00405 C     ** Ecriture du champ entier n°2
    00406 C     ** - 1ere composante des éléments de valr2
    00407 C     ** - pas de pas de temps, ni de numero d'ordre
    00408         dt = 0.0
    00409         call   mfdivw(fid,nomcha2,MED_NO_DT,MED_NO_IT,dt,
    00410      &               MED_DESCENDING_EDGE,MED_SEG2,USER_INTERLACE,
    00411      &               1,nval2,valr2,ret)
    00412         print *,ret
    00413         if (ret .ne. 0 ) then
    00414            print *,'Erreur à l''écriture du champ : ', nomcha2,'et.1'
    00415            call efexit(-1)
    00416         endif
    00417
    00418 C     ** Ecriture du champ entier n°2
    00419 C     ** - 2ere composante des éléments de valr2
    00420 C     ** - pas de pas de temps, ni de numero d'ordre
    00421 C     ** - pour des raisons de complétude des tests on change
    00422 C     **   le type d'élément (aucun sens phys.))
    00423         call mfdivw(fid,nomcha2,MED_NO_DT,MED_NO_IT,dt,
    00424      &              MED_NODE,MED_NONE,USER_INTERLACE,
    00425      &              2,nval2,valr2,ret)
    00426         print *,ret
    00427         if (ret .ne. 0 ) then
    00428            print *,'Erreur à l''écriture du champ : ', nomcha2,'et.2'
    00429            call efexit(-1)
    00430         endif
    00431
    00432
    00433 C     ** Ecriture du champ entier n°2
    00434 C     ** - 3ere composante des éléments de valr2
    00435 C     ** - pas de pas de temps, ni de numero d'ordre
    00436 C     ** - pour des raisons de complétude des tests on change
    00437 C     **   le type d'élément (aucun sens phys.))
    00438         call mfdivw(fid,nomcha2,MED_NO_DT,MED_NO_IT,dt,
    00439      &              MED_DESCENDING_FACE,MED_TRIA6,USER_INTERLACE,
    00440      &              3,nval2,valr2,ret)
    00441         print *,ret
    00442         if (ret .ne. 0 ) then
    00443            print *,'Erreur à l''écriture du champ : ', nomcha2,'et.3'
    00444            call efexit(-1)
    00445         endif
    00446
    00447 C     ** Creation de profil
    00448 C     ** - selectionne les elements 1,3,5 du tableau valr2
    00449         call mpfprw(fid,"PROFIL(champ2)",3,profil2,ret)
    00450         print *,ret
    00451         if (ret .ne. 0 ) then
    00452            print *,'Erreur à l''écriture du profil : ',
    00453      1              'profil2(champ2)'
    00454            call efexit(-1)
    00455         endif
    00456
    00457
    00458 C     ** Ecriture du champ entier n°2
    00459 C     ** - 3eme composante des éléments de valr2
    00460 C     ** - pas de pas de temps, ni de numero d'ordre
    00461 C     ** - profils
    00462 C     ** - pour des raisons de complétude des tests on change
    00463 C     **   le type d'élément (aucun sens phys.))
    00464         call  mfdipw(fid,nomcha2,MED_NO_DT,MED_NO_IT,dt,
    00465      &               MED_CELL,MED_TRIA6,USER_MODE,"PROFIL(champ2)",
    00466      &               MED_NO_LOCALIZATION,USER_INTERLACE,3,
    00467      &               nval2,valr2p,ret)
    00468         print *,ret
    00469         if (ret .ne. 0 ) then
    00470            print *,'Erreur à l''écriture du profil : ',
    00471      1             'profil2(champ2)'
    00472            call efexit(-1)
    00473         endif
    00474
    00475 C     ** creation du champ entier n°3                      **
    00476         call mfdcre(fid,nomcha3,MED_INT32,ncomp3,comp3,unit3,
    00477      &              dtunit1,maa1,ret)
    00478         print *,ret
    00479         if (ret .ne. 0 ) then
    00480            print *,'Erreur à la création du champ : ', nomcha3
    00481            call efexit(-1)
    00482         endif
    00483
    00484 C     ** Ecriture du champ entier n°3
    00485 C     ** - 1ere composante des éléments de valr3
    00486 C     ** - pas de pas de temps, ni de numero d'ordre
    00487 C     ** - pour des raisons de complétude des tests on change
    00488 C     **   le type d'élément (aucun sens phys.))
    00489         call mfdivw(fid,nomcha3,MED_NO_DT,MED_NO_IT,dt,
    00490      &              MED_CELL,MED_QUAD4,USER_INTERLACE,
    00491      &              1,nval3,valr3,ret)
    00492         print *,ret
    00493         if (ret .ne. 0 ) then
    00494            print *,'Erreur à l''écriture du champ : ', nomcha3,'et.1'
    00495            call efexit(-1)
    00496         endif
    00497
    00498 C     ** Ecriture du champ entier n°3
    00499 C     ** - les composantes des éléments de valr3
    00500 C     ** - pas de pas de temps, ni de numero d'ordre
    00501 C     ** - pour des raisons de complétude des tests on change
    00502 C     **   le type d'élément (aucun sens phys.))
    00503         call mfdivw(fid,nomcha3,MED_NO_DT,MED_NO_IT,dt,
    00504      &              MED_NODE_ELEMENT,MED_QUAD4,USER_INTERLACE,
    00505      &              MED_ALL_CONSTITUENT,nent3,valr3,ret)
    00506         print *,ret
    00507         if (ret .ne. 0 ) then
    00508            print *,'Erreur à l''écriture du champ : ', nomcha3,'et.2'
    00509            call efexit(-1)
    00510         endif
    00511
    00512 C     ** Ecriture du champ entier n°3
    00513 C     ** - les composantes des éléments de valr3
    00514 C     ** - pas de pas de temps, ni de numero d'ordre
    00515 C     ** - profils
    00516 C     ** - pour des raisons de complétude des tests on change
    00517 C     **   le type d'élément (aucun sens phys.))
    00518 c       call efchae(fid,maa3,nomcha3,valr3p,USER_INTERLACE,nval3,
    00519 c     1     MED_NOGAUSS,MED_ALL,"PROFIL(champ2)",USER_MODE,
    00520 c     1               MED_NOEUD_MAILLE,
    00521 c     1               MED_QUAD4,MED_NOPDT,nounit,dt,MED_NONOR,ret)
    00522         call  mfdipw(fid,nomcha3,MED_NO_DT,MED_NO_IT,dt,
    00523      &               MED_NODE_ELEMENT,MED_QUAD4,USER_MODE,
    00524      &               "PROFIL(champ2)",MED_NO_LOCALIZATION,
    00525      &               USER_INTERLACE,MED_ALL_CONSTITUENT,
    00526      &               nent3,valr3p,ret)
    00527         print *,ret
    00528         if (ret .ne. 0 ) then
    00529            print *,'Erreur à l''écriture du profil : ',
    00530      1             'profil2(champ2)'
    00531            call efexit(-1)
    00532         endif
    00533
    00534 C     ** Fermeture du fichier *
    00535         call mficlo(fid,ret)
    00536         if (ret .ne. 0 ) then
    00537            print *,'Erreur à la fermeture du fichier : '
    00538            ret = -1
    00539         endif
    00540
    00541         print *,"Le code retour : ",ret
    00542         call efexit(ret)
    00543
    00544         end
    00545
    00546
    00547