[Paraview] Writing binary files: C/Fortran interface to VTK XMLfiles.

Stephen Wornom Stephen.Wornom at sophia.inria.fr
Tue Jan 31 07:56:09 EST 2006


Stéphane Montésino 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')

It is a good question. if want unformatted open as
open(nfil,file=trim(name)//'.vtr',FORM='UNFORMATTED')
and write files as
write(nfil)'<VTKFile type="RectilinearGrid" version="0.1"',
    &         ' byte_order="LittleEndian">'

But does UNFORMATTED=binary?
Can someone explain the difference between binary and UNFORMATTED?
Stephen


>      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
>
>_______________________________________________
>ParaView mailing list
>ParaView at paraview.org
>http://www.paraview.org/mailman/listinfo/paraview
>  
>



More information about the ParaView mailing list