[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