[Paraview] Writing binary files: C/Fortran interface to VTK XMLfiles.
Stéphane Montésino
Stephane.Montesino at hmg.inpg.fr
Tue Jan 31 06:53:23 EST 2006
With Asci, all is OK except the size of my file.
So how to write my data array in binary with my fortran code.
Does anyone have some details ?
!
******************************************************************************
! **** subrout
paraview_scalar ****
!
******************************************************************************
! Export 3D scalar data upon a Non uniform rectilinear Grid
!
! n1m,n2m,n3m: size of the data and the grid
! y1,y2,y3: coordinates
! scal_data: data to write
! name: name of the data
!
subroutine paraview_3d_scalar(n1m,n2m,n3m,y1,y2,y3,scal_data,name)
!
implicit none
!
INTEGER ,INTENT(IN)::n1m,n2m,n3m
REAL*8,DIMENSION(n1m) ,INTENT(IN)::y1
REAL*8,DIMENSION(n2m) ,INTENT(IN)::y2
REAL*8,DIMENSION(n3m) ,INTENT(IN)::y3
REAL*8,DIMENSION(n1m,n2m,n3m),INTENT(IN)::scal_data
CHARACTER(LEN=10) ,INTENT(IN)::name
!
integer::i,j,k,nfil
!
nfil=41
open(nfil,file=trim(name)//'.vtr')
write(nfil,*)'<VTKFile type="RectilinearGrid" version="0.1"',
& ' byte_order="LittleEndian">'
write(nfil,*)' <RectilinearGrid WholeExtent=',
& '"1 ',n1m,' 1 ',n2m,' 1 ',n3m,'">'
write(nfil,*)' <Piece Extent=',
& '"1 ',n1m,' 1 ',n2m,' 1 ',n3m,'">'
write(nfil,*)' <Coordinates>'
write(nfil,*)' <DataArray type="Float32"',
& ' Name="X_COORDINATES"',
& ' NumberOfComponents="1">'
write(nfil,*) (y1(i),i=1,n1m)
write(nfil,*)' </DataArray>'
write(nfil,*)' <DataArray type="Float32"',
& ' Name="Y_COORDINATES"',
& ' NumberOfComponents="1">'
write(nfil,*) (y2(j),j=1,n2m)
write(nfil,*)' </DataArray>'
write(nfil,*)' <DataArray type="Float32"',
& ' Name="Z_COORDINATES"',
& ' NumberOfComponents="1">'
write(nfil,*) (y3(k),k=1,n3m)
write(nfil,*)' </DataArray>'
write(nfil,*)' </Coordinates>'
write(nfil,*)' <PointData Scalars="scalar">'
write(nfil,*)' <DataArray Name="'//trim(name)//'"',
& ' type="Float32"',
& ' NumberOfComponents="1"',
& ' format="ascii">'
write(nfil,*) (((scal_data(i,j,k),i=1,n1m),j=1,n2m),k=1,n3m)
write(nfil,*)' </DataArray>'
write(nfil,*)' </PointData>'
write(nfil,*)' </Piece>'
write(nfil,*)' </RectilinearGrid>'
write(nfil,*)'</VTKFile>'
close(nfil)
!
return
end
--
Stéphane MONTESINO
Doctorant tel:+33 4 76 82 52 91
LEGI fax:+33 4 76 82 70 22
BP 53
38041 Grenoble Cedex email: stephane.montesino at hmg.inpg.fr
France http://www.legi.hmg.inpg.fr
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Stephane.Montesino.vcf
Type: text/x-vcard
Size: 308 bytes
Desc: not available
Url : http://public.kitware.com/pipermail/paraview/attachments/20060131/9d9d23eb/Stephane.Montesino.vcf
More information about the ParaView
mailing list