Précédent: "Premier exemple"
Suivant: "Description des sous-programmes appelables en C et C++"
Haut: "Exemples d'appels"
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