[Paraview] Re: Plot3D
Evgeniy Shapiro
shellinux at gmail.com
Wed May 2 11:02:49 EDT 2007
Paul, thanks a bunch!
convert='big_endian' does the job.
I post complete description to avoid such question in future.
The followinjg code generates a plot3D file which is read by 2.6.0
without problems with the following options:
Binary
Multiblock
Fortran byte order
compiler: ifort 9.1 20061101
==========================
Fortran code example:
program write_example
implicit none
real x(21,21,21),y(21,21,21),z(21,21,21)
real vars(21,21,21,5), r, alpha
integer ni,nj,nk,i,j,k,l
! create gridpoints for a simple example:
ni=21
nj=21
nk=21
do k=1,nk
do j=1,nj
do i=1,ni
x(i,j,k)=real(i-ni/2,kind=4)/ni*2.
y(i,j,k)=real(j-nj/2,kind=4)/nj*2.
z(i,j,k)=real(k-1,kind=4)/nk*10.
r=exp(-sqrt(x(i,j,k)**2+y(i,j,k)**2))*z(i,j,k)/10.
alpha=atan(y(i,j,k)/(x(i,j,k)+1.e-6))
vars(i,j,k,1)=1.
vars(i,j,k,2)=r*sin(alpha)
vars(i,j,k,3)=-r*cos(alpha)
vars(i,j,k,4)=0.01
vars(i,j,k,5)=1.
enddo
enddo
enddo
OPEN(1,FILE="grid.xyz", form="unformatted", status="replace",
& convert='big_endian')
! write blocks
write(1) 1
! write size
write(1) ni,nj,nk
! write grid
write(1) (((x(I,J,K),I=1,ni),J=1,nj),K=1,nk),
& (((y(I,J,K),I=1,ni),J=1,nj),K=1,nk),
& (((z(I,J,K),I=1,ni),J=1,nj),K=1,nk)
close(1)
OPEN(1,FILE="grid.q", form="unformatted", status="replace",
& convert='big_endian')
! write blocks
write(1) 1
! write size
write(1) ni,nj,nk
! mach, alpha, re, time - bogus
write(1) 0.1,0.0,1000.,0.
! write coordinates
write(1) (((( vars(i,j,k,l), i = 1, ni),
& j = 1, nj), k = 1, nk), l = 1, 5 )
close(1)
stop
end program write_example
==============================
More information about the ParaView
mailing list