Unittest_MEDsupportMesh_3.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 * Tests for support mesh module
00020 C *
00021 C *****************************************************************************
00022       program MEDsupportMesh3
00023 C     
00024       implicit none
00025       include 'med.hf'
00026 C
00027 C     
00028       integer cret
00029       integer fid
00030       character*64  fname
00031       parameter (fname = "Unittest_MEDsupportMesh_1.med")
00032       character*64 smname1
00033       integer sdim1,mdim1
00034       parameter (sdim1=2, mdim1=2)
00035       integer sdim2,mdim2
00036       parameter (sdim2=3,mdim2=2)
00037       parameter (smname1 = "supportMesh1")
00038       character*64 smname2
00039       parameter (smname2 = "supportMesh2")
00040       character*200 description1
00041       parameter (description1="support mesh1 description")
00042       character*200 description2
00043       parameter (description2="support mesh2 description")
00044       character*16 nomcoo2D(2)
00045       character*16 unicoo2D(2)
00046       data  nomcoo2D /"x","y"/, unicoo2D /"cm","cm"/
00047       character*16 nomcoo3D(3)
00048       character*16 unicoo3D(3)
00049       data  nomcoo3D /"x","y","z"/, unicoo3D /"cm","cm","cm"/
00050       integer atype1, atype2
00051       parameter (atype1=MED_CARTESIAN, atype2=MED_CARTESIAN)
00052       integer nsmesh, i
00053       character*64  smname
00054       character*16 aunit(3), aname(3)
00055       character*200 description
00056       integer sdim, mdim, atype
00057 C
00058 C
00059 C     open file in read only access mode
00060       call mfiope(fid,fname,MED_ACC_RDONLY,cret)
00061       print *,'Open file in RD_ONLY access mode',cret
00062       if (cret .ne. 0 ) then
00063          print *,'ERROR : open file in READ_ONLY access mode'
00064          call efexit(-1)
00065       endif  
00066 C
00067 C     How many mesh in the file ?
00068 C
00069       call msmnsm(fid,nsmesh,cret)
00070       print *,'Read number of support mesh : ',nsmesh
00071       print *,cret
00072       if (cret .ne. 0 ) then
00073          print *,'ERROR : read number of support mesh'
00074          call efexit(-1)
00075       endif
00076       if (nsmesh .ne. 2) then
00077          print *,'ERROR : number of support mesh'
00078          call efexit(-1)
00079       endif
00080 C
00081 C
00082 C     Read support mesh information and number of axis 
00083 C     by iterator
00084       do i=1,nsmesh
00085          call msmnax(fid,i,sdim,cret)
00086          if (cret .ne. 0 ) then
00087             print *,'ERROR : read number of axis '
00088             call efexit(-1)
00089          endif  
00090          print *,'Number of axis : ',sdim
00091 c
00092          if (i .eq. 1) then 
00093             if (sdim .ne. sdim1) then
00094                print *,'ERROR : support mesh information'
00095                call efexit(-1)
00096             endif  
00097          endif
00098          if (i .eq. 2) then 
00099             if (sdim .ne. sdim2) then
00100                print *,'ERROR : support mesh information'
00101                call efexit(-1)
00102             endif              
00103          endif
00104 C
00105          call msmsmi(fid,i,smname,sdim,mdim, 
00106      &               description,
00107      &               atype,aname,aunit,cret)
00108          print *,'Support mesh information',cret
00109          if (cret .ne. 0 ) then
00110             print *,'ERROR : read support mesh information'
00111             call efexit(-1)
00112          endif  
00113 c
00114          if (i .eq. 1) then 
00115             if ((sdim .ne. sdim1) .or.
00116      &           (mdim .ne. mdim1) .or.
00117      &           (description .ne. description1) .or.
00118      &           (atype .ne. atype1) .or.
00119      &           (aunit(1) .ne. unicoo2D(1)) .or.
00120      &           (aunit(2) .ne. unicoo2D(2)) .or.
00121      &           (aname(1) .ne. nomcoo2D(1)) .or.
00122      &           (aname(2) .ne. nomcoo2D(2))
00123      &           ) then
00124                print *,'ERROR : support mesh information by name'
00125                call efexit(-1)
00126             endif  
00127          endif
00128 c
00129          if (i .eq. 2) then 
00130             if ((sdim .ne. sdim2) .or.
00131      &           (mdim .ne. mdim2) .or.
00132      &           (description .ne. description2) .or.
00133      &           (atype .ne. atype2) .or.
00134      &           (aunit(1) .ne. unicoo3D(1)) .or.
00135      &           (aunit(2) .ne. unicoo3D(2)) .or.
00136      &           (aunit(3) .ne. unicoo3D(3)) .or.
00137      &           (aname(1) .ne. nomcoo3D(1)) .or.
00138      &           (aname(2) .ne. nomcoo3D(2)) .or.
00139      &           (aname(3) .ne. nomcoo3D(3))
00140      &           ) then
00141                print *,'ERROR : support mesh information by name'
00142                call efexit(-1)
00143             endif     
00144          endif
00145 c
00146       enddo
00147 C
00148 C
00149 C     close file
00150       call mficlo(fid,cret)
00151       print *,'Close file',cret
00152       if (cret .ne. 0 ) then
00153          print *,'ERROR :  close file'
00154          call efexit(-1)
00155       endif
00156 C
00157 C
00158 C
00159       end
00160 

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