Fortranでvtk binaryファイルの出力する方法について質問です。
こんばんは!
タイトル通りにFortranでvtk binaryファイルを作ろうとしていますが、うまくいかなくてここで質問します!ASCIIではうまく出力し、paraviewでの可視化もできますが、出力ファイルの容量を減らすためにbinaryにしようと思っています。
今出力しているソースコードは以下の通りです。
write(filename1,"('com',i7.7,'.vtk')")int(timestep)
open( 64, iostat=ios, file=filename1, &
form='unformatted', access='stream' ,status='unknown' )
write(64) '# vtk DataFile Version 3.0 \n'
write(64) filename1, '\n'
write(64) 'BINARY \n'
write(64) 'DATASET STRUCTURED_POINTS \n'
write(64) 'DIMENSIONS', nx,ny,nz, '\n'
write(64) 'ORIGIN 0.0 0.0 0.0 \n'
write(64) 'ASPECT_RATIO 1 1 1 \n'
write(64) 'POINT_DATA', nx *ny * nz, '\n'
write(64) 'SCALARS A float \n'
write(64) 'LOOKUP_TABLE default \n'
do k = 1, nz, skip_z
do j = 1, ny, skip_y
do i = 1, nx, skip_x
write(64) A(i,j,k)
enddo
enddo
enddo
close(64)
これでファイル生成まではうまくいきますが、paraviewで開くと以下のようなエラーがでます。
bbd\ecd3383f\build\superbuild\paraview\src\VTK\IO\Legacy\vtkStructuredPointsReader.cxx, line 127
vtkStructuredPointsReader (000002959DF78C40): Error reading dimensions!
vtkファイルの中身を見てみましたが、dimensionとpoint_dataのデータがbinary形式で書いていて無理やり数字に直してみました。すると、そのエラーは出なかったですがデータがうまく表現できませんでした。
経験のある方助けていただけますでしょうか。
よろしくお願いいたします。