[Paraview] Writing binary files: C/Fortran interface to VTK
XMLfiles.
Berk Geveci
berk.geveci at gmail.com
Tue Jan 31 09:24:00 EST 2006
I don't know if you already tried it but there is a C interface for
writing XML files in VTK 5.0. Exporting this C interface to work with
fortran is simple. Look at:
VTK/IO/Testing/Cxx/TestXMLCInterface.c and
VTK/IO/Testing/Cxx/vtkFortran.h
for an example.
-Berk
On 1/31/06, Stéphane Montésino <Stephane.Montesino at hmg.inpg.fr> wrote:
> 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
>
>
>
> _______________________________________________
> ParaView mailing list
> ParaView at paraview.org
> http://www.paraview.org/mailman/listinfo/paraview
>
>
>
>
More information about the ParaView
mailing list