VTK_GEO_RECT_R8 Function

private function VTK_GEO_RECT_R8(Nx, Ny, Nz, X, Y, Z) result(E_IO)

Function for saving mesh; topology = RECTILINEAR_GRID (R8P).

Arguments

Type IntentOptional AttributesName
integer(kind=I4P), intent(in) :: Nx
integer(kind=I4P), intent(in) :: Ny
integer(kind=I4P), intent(in) :: Nz
real(kind=R8P), intent(in) :: X(1:Nx)
real(kind=R8P), intent(in) :: Y(1:Ny)
real(kind=R8P), intent(in) :: Z(1:Nz)

Return Value integer(kind=I4P)


Called by

proc~~vtk_geo_rect_r8~~CalledByGraph proc~vtk_geo_rect_r8 VTK_GEO_RECT_R8 interface~vtk_geo VTK_GEO interface~vtk_geo->proc~vtk_geo_rect_r8 proc~save_fe_f_vtk save_fe_f_vtk proc~save_fe_f_vtk->interface~vtk_geo

Contents

Source Code


Source Code

  function VTK_GEO_RECT_R8(Nx,Ny,Nz,X,Y,Z) result(E_IO)
  !---------------------------------------------------------------------------------------------------------------------------------
  !! Function for saving mesh; topology = RECTILINEAR\_GRID (R8P).
  !---------------------------------------------------------------------------------------------------------------------------------

  !---------------------------------------------------------------------------------------------------------------------------------
  implicit none
  integer(I4P), intent(IN):: Nx        ! number of nodes in x direction
  integer(I4P), intent(IN):: Ny        ! number of nodes in y direction
  integer(I4P), intent(IN):: Nz        ! number of nodes in z direction
  real(R8P),    intent(IN):: X(1:Nx)   ! x coordinates
  real(R8P),    intent(IN):: Y(1:Ny)   ! y coordinates
  real(R8P),    intent(IN):: Z(1:Nz)   ! z coordinates
  integer(I4P)::             E_IO      ! Input/Output inquiring flag: $0$ if IO is done, $> 0$ if IO is not done
  character(len=maxlen)::    s_buffer  ! buffer string
  integer(I4P)::             n1        ! counter
  !---------------------------------------------------------------------------------------------------------------------------------

  !---------------------------------------------------------------------------------------------------------------------------------
  select case(f_out)
  case(f_out_ascii)
    write(unit=Unit_VTK,fmt='(A,3'//FI4P//')', iostat=E_IO)'DIMENSIONS ',Nx,Ny,Nz
    write(unit=Unit_VTK,fmt='(A,'//FI4P//',A)',iostat=E_IO)'X_COORDINATES ',Nx,' double'
    write(unit=Unit_VTK,fmt=FR8P,              iostat=E_IO)(X(n1),n1=1,Nx)
    write(unit=Unit_VTK,fmt='(A,'//FI4P//',A)',iostat=E_IO)'Y_COORDINATES ',Ny,' double'
    write(unit=Unit_VTK,fmt=FR8P,              iostat=E_IO)(Y(n1),n1=1,Ny)
    write(unit=Unit_VTK,fmt='(A,'//FI4P//',A)',iostat=E_IO)'Z_COORDINATES ',Nz,' double'
    write(unit=Unit_VTK,fmt=FR8P,              iostat=E_IO)(Z(n1),n1=1,Nz)
  case(f_out_binary)
    write(s_buffer,     fmt='(A,3'//FI4P//')', iostat=E_IO)'DIMENSIONS ',Nx,Ny,Nz
    write(unit=Unit_VTK,                       iostat=E_IO)trim(s_buffer)//end_rec
    write(s_buffer,     fmt='(A,'//FI4P//',A)',iostat=E_IO)'X_COORDINATES ',Nx,' double'
    write(unit=Unit_VTK,                       iostat=E_IO)trim(s_buffer)//end_rec
    write(unit=Unit_VTK,                       iostat=E_IO)(X(n1),n1=1,Nx)
    write(unit=Unit_VTK,                       iostat=E_IO)end_rec
    write(s_buffer,     fmt='(A,'//FI4P//',A)',iostat=E_IO)'Y_COORDINATES ',Ny,' double'
    write(unit=Unit_VTK,                       iostat=E_IO)trim(s_buffer)//end_rec
    write(unit=Unit_VTK,                       iostat=E_IO)(Y(n1),n1=1,Ny)
    write(unit=Unit_VTK,                       iostat=E_IO)end_rec
    write(s_buffer,     fmt='(A,'//FI4P//',A)',iostat=E_IO)'Z_COORDINATES ',Nz,' double'
    write(unit=Unit_VTK,                       iostat=E_IO)trim(s_buffer)//end_rec
    write(unit=Unit_VTK,                       iostat=E_IO)(Z(n1),n1=1,Nz)
    write(unit=Unit_VTK,                       iostat=E_IO)end_rec
  endselect
  return
  !---------------------------------------------------------------------------------------------------------------------------------
  endfunction VTK_GEO_RECT_R8