program x2d3d c Converts a planar grid to a 3D grid by extruding c the grid in z direction. c c----------------------------------------------------------------------- Parameter ( nbmax = 1 ) Parameter ( nimax = 100 ) Parameter ( njmax = 100 ) Parameter ( nkmax = 5 ) Character gfile * 20 Integer ni (nbmax) Integer nj (nbmax) Integer nk (nbmax) Real x (nimax,njmax,nkmax,nbmax) Real y (nimax,njmax,nkmax,nbmax) Real z (nimax,njmax,nkmax,nbmax) c----------------------------------------------------------------------- write(*,*) ' ' write(*,*) '-- x2d3d --' c...Read in the planar grid. write(*,*) ' ' write(*,*) 'Enter the planar grid file name (Plot3d,3D,fmt,mb)' read(*,'(a20)') gfile open ( unit=7, file=gfile, form='formatted', status='old' ) read (7,*) nb read (7,*) ( ni(m), nj(m), nk(m), m = 1, nb ) do m = 1, nb read (7,*) ((( x(i,j,k,m), i=1,ni(m)), j=1,nj(m)), k=1,nk(m)), & ((( y(i,j,k,m), i=1,ni(m)), j=1,nj(m)), k=1,nk(m)), & ((( z(i,j,k,m), i=1,ni(m)), j=1,nj(m)), k=1,nk(m)) enddo c...Extrude the grid starting at z=0.0 and ending at z=12.0 using nk=5. nk(1) = 5 do k = 1, nk(1) zz = 12.0 * ( k - 1.0 ) / ( nk(1) - 1.0 ) do i = 1, ni(1) do j = 1, nj(1) x(i,j,k,1) = x(i,j,1,1) y(i,j,k,1) = y(i,j,1,1) z(i,j,k,1) = zz enddo enddo enddo c...Write out the new grid. open ( unit=8, file='new.x.dat', form='unformatted' ) write (8) nb write (8) ( ni(m), nj(m), nk(m), m = 1, nb ) do m = 1, nb write (8) ((( x(i,j,k,m), i=1,ni(m)), j=1,nj(m)), k=1,nk(m)), & ((( y(i,j,k,m), i=1,ni(m)), j=1,nj(m)), k=1,nk(m)), & ((( z(i,j,k,m), i=1,ni(m)), j=1,nj(m)), k=1,nk(m)) enddo c----------------------------------------------------------------------- stop end