Skip to content
Snippets Groups Projects
Select Git revision
  • 6117386cf2e7dc6b7d4a17f174a696cecf1e7b65
  • master default protected
  • staggered-max
  • unifed-object
  • no_Amalgamated
  • standard_stb
  • parallel_doc_fix
  • release_0.9.3
  • cmake_mpich_tests
  • update_install
  • external_VORO
  • cmake_add_soversion
  • iterative_method
  • cmake_install
  • fixes_042023
  • tensor_max
  • personal/schulz3/tensor_max
  • releases/v0.9
  • ForceBasedDevel
  • refactor
  • feature/simple_test_cases
  • v0.9.3
  • v0.9.2
  • v0.9.1
  • v0.9.0
  • v0.9.0-rc2
26 results

preprocess.sh

Blame
  • vtk_export.f90 1.65 KiB
    module vtk_export
      implicit none
    
      ! VTK export
      !
      ! This module stores the volumes Q first variable 
      ! as VTK polydata
      !
      
    contains
      subroutine save_vtk(Q, x, y, l, m, n, fname, title)
        implicit none
        integer, intent(in) :: l, m, n
        double precision, intent(in), dimension(l, m, n) :: Q
        double precision, intent(in), dimension(n) :: x
        double precision, intent(in), dimension(m) :: y
        character, intent(in) :: fname*(*)
        character, optional :: title*(*)
        integer i,j
    
        open(1, file=fname)
    
        !
        ! Write vtk Datafile header
        !
        write(1,fmt='(A)') '# vtk DataFile Version 2.0'
         if(present(title)) then
           write(1,fmt='(A)') title
        else
           write(1,fmt='(A)') 'VTK'
        end if  
        write(1,fmt='(A)') 'ASCII'
        write(1,fmt='(A)') 'DATASET POLYDATA'
        write(1,*)
        
        !
        ! Store water height as polydata
        !
         write(1,fmt='(A,I8,A)') 'POINTS', m*n,' double'
         do j=1,n
            do i=1,m
               write(1,fmt='(F7.5,F15.6,F17.12)') x(i), y(j), Q(1,i,j)
            end do
         end do
         write(1,*)
         
         write(1,fmt='(A,I12,I12,I12)') 'VERTICES',n,n*(m+1)
         do j=1,n
            write(1,fmt='(I12)', advance='no') m
            do i=0,m-1
               write(1,fmt='(I12)', advance='no') i+(j-1)*(m)
            end do
            write(1,*)
         end do
    
         !
         ! Store lookup table
         !
         write(1,fmt='(A,I12)') 'POINT_DATA',m*n
         write(1,fmt='(A)') 'SCALARS height double 1'
         write(1,fmt='(A)') 'LOOKUP_TABLE default'
         do j=1,n
            do i=1,m
               write(1,fmt='(F15.12)') Q(1,i,j)
            end do
         end do
         write(1,*)
         close(1)
         
       end subroutine save_vtk
    end module vtk_export