right up left contents index
Précédent: "Premier exemple"
Suivant: "Description des sous-programmes appelables en C et C++"
Haut: "Exemples d'appels"

Deuxième exemple

      program testte
c -----------------------------
c       lecture d'un fichier lu par Narcisse
c       test de l'appel spxgda
c -----------------------------
      character*80 sccsid
      data sccsid/" %W% %G% P. Brochard"/
c -----------------------------

c
      integer dimbloc,dimxy,dimz,dimc,dimmai,dimvol
      parameter(dimbloc=1,dimxy=12000,dimz=12000,dimc=12000)
      parameter(dimmai=1,dimvol=1)
      real x(dimxy,dimbloc),y(dimxy,dimbloc)
      real z(dimz,dimbloc),c(dimc,dimbloc)
      integer nx(dimbloc),ny(dimbloc),nz(dimbloc)
      integer type(dimbloc),typec(dimbloc),typemailles(dimbloc)
      integer nmailles(dimbloc),dimmailles(dimbloc)
      integer nvolumes(dimbloc),dimvolumes(dimbloc)
      integer mailles(dimmai,dimbloc),volumes(dimvol,dimbloc)

      integer spcfile
      integer spcopen
      integer spxfile
      integer spxopen
      integer spxgda

      spcfile = spcopen('NARCISSE.1')

      ier = spxgda(dimbloc,dimxy,dimz,dimc,dimmai,dimvol,
     s		x,y,z,c,nbloc,nx,ny,nz,type,typec,typemailles,
     s		nmailles,dimmailles,mailles,
     s		nvolumes,dimvolumes,volumes,spcfile)

      call spxclose(spcfile)

c ier vaut 1 si l'une des dimensions dim...
c est insuffisante pour contenir
c le fichier lu par Narcisse
c ier vaut 0 si tout va bien
c ier vaut -1 si le spcopen n'a pas ouvert de sockets

      print*," ier ",ier," nbloc ",nbloc

      spxfile = spxopen('/tmp/toto.spx')

      do i=1,min(nbloc,dimbloc)
        print*," type ",type(i)
        print*," nx ",nx(i)
        print*," ny ",ny(i)
        print*," nz ",nz(i)

	if(type(i).eq.3) then
          call spx4tec(nx(i),ny(i),x(1,i),nx(i),y(1,i),nx(i),
     s                 z(1,i),nx(i),c(1,i),nx(i),spxfile)
	else if(type(i).eq.-2) then
          call spx4nsc(nx(i),x(1,i),y(1,i),z(1,i),c(1,i),nmailles(i),
     s                 dimmailles(i),mailles(1,i),spxfile)
        endif

      enddo

      call spxclose(spxfile)

      end