From 688f499f2db472f8f0156ab452ad5f2d45230c78 Mon Sep 17 00:00:00 2001
From: Dave Whipp <dwhipp@dal.ca>
Date: Mon, 21 Dec 2009 18:18:27 +0000
Subject: [PATCH] Updated output for new values (eviscosity, is_plastic, etc.)

---
 src/VTK/post.f90 | 52 +++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 45 insertions(+), 7 deletions(-)

diff --git a/src/VTK/post.f90 b/src/VTK/post.f90
index cf1bd1fd..ba05b00e 100644
--- a/src/VTK/post.f90
+++ b/src/VTK/post.f90
@@ -8,11 +8,11 @@ MODULE definitions
       double precision,dimension(:),pointer::x,y,z
       double precision,dimension(:),pointer::u,v,w,wpreiso,temp,pressure,strain
       double precision,dimension(:),pointer::nodal_pressure,spressure
-      double precision,dimension(:),pointer::e2d
+      double precision,dimension(:),pointer::e2d,eviscosity
       double precision,dimension(:),pointer::crit
       integer,dimension(:,:),pointer::icon,iconr
       double precision,dimension(:,:),pointer:: lsf
-      integer,dimension(:),pointer::on(:)
+      integer,dimension(:),pointer::on(:),is_plastic
       logical, dimension(:), pointer :: whole_leaf_in_fluid
    end type structure
 
@@ -63,9 +63,12 @@ integer :: output_disp_field
 integer :: output_press_fieldn 
 integer :: output_press_fielde 
 integer :: output_smooth_press_fielde
+integer :: output_countnode_field
 integer :: output_temp_field
 integer :: output_e2d_fielde 
-integer :: output_e2d_fieldn 
+integer :: output_e2d_fieldn
+integer :: output_eviscosity_fielde 
+integer :: output_is_plastic_fielde
 integer :: output_crit_field
 integer :: output_strain_field
 integer :: output_lsf_field
@@ -170,9 +173,12 @@ read(77,*) output_disp_field
 read(77,*) output_press_fieldn 
 read(77,*) output_press_fielde 
 read(77,*) output_smooth_press_fielde
+read(77,*) output_countnode_field
 read(77,*) output_temp_field 
 read(77,*) output_e2d_fielde 
 read(77,*) output_e2d_fieldn
+read(77,*) output_eviscosity_fielde 
+read(77,*) output_is_plastic_fielde
 read(77,*) output_crit_field 
 read(77,*) output_strain_field 
 read(77,*) output_lsf_field 
@@ -192,9 +198,12 @@ write(*,*) 'output disp   field       ->',(output_disp_field==1)
 write(*,*) 'output node press field   ->',(output_press_fieldn==1) 
 write(*,*) 'output raw press field    ->',(output_press_fielde==1) 
 write(*,*) 'output smooth press field ->',(output_smooth_press_fielde==1)
+write(*,*) 'output countnode field    ->',(output_countnode_field==1)
 write(*,*) 'output temp   field       ->',(output_temp_field==1)
 write(*,*) 'output elemental e2d field->',(output_e2d_fielde==1) 
 write(*,*) 'output nodal e2d field    ->',(output_e2d_fieldn==1)
+write(*,*) 'output elem eff viscosity ->',(output_eviscosity_fielde==1) 
+write(*,*) 'output element is plastic ->',(output_is_plastic_fielde==1)
 write(*,*) 'output crit   field       ->',(output_crit_field==1)
 write(*,*) 'output strain field       ->',(output_strain_field==1)
 write(*,*) 'output lsf    field       ->',(output_lsf_field==1)
@@ -215,7 +224,7 @@ allocate(ov%on(nn))
 allocate(ov%x(nn),ov%y(nn),ov%z(nn))
 allocate(ov%u(nn),ov%v(nn),ov%w(nn),ov%wpreiso(nn))
 allocate(ov%pressure(ov%nleaves),ov%strain(nn))
-allocate(ov%e2d(ov%nleaves))
+allocate(ov%e2d(ov%nleaves),ov%eviscosity(ov%nleaves),ov%is_plastic(ov%nleaves))
 allocate(ov%whole_leaf_in_fluid(ov%nleaves))
 allocate(ov%crit(ov%nleaves))
 allocate(ov%temp(nn))
@@ -252,6 +261,8 @@ read(7) (ov%icon(1:8,ie),            &
          ov%spressure(ie),           &
          ov%crit(ie),                &
          ov%e2d(ie),                 &
+         ov%eviscosity(ie),          & 
+         ov%is_plastic(ie),          & 
          ov%whole_leaf_in_fluid(ie), & 
          ie=1,ov%nleaves)
 
@@ -371,8 +382,6 @@ do i=1,ov%nnode
    end if
 end do
 
-deallocate(countnode)
-
 !==============================================================================
 !==============================================================================
 
@@ -785,6 +794,14 @@ if(output_press_fieldn==1) then
    enddo
 end if
 
+if(output_countnode_field==1) then 
+   write(iunit,'(a)')'SCALARS countnode float 1' 
+   write(iunit,'(a)')'LOOKUP_TABLE default' 
+   do i=1,nnn 
+      write(iunit,'(e11.4)') countnode(rtf(i)) 
+   enddo 
+end if 
+ 
 if(output_e2d_fieldn==1) then 
    write(iunit,'(a)')'SCALARS e2dn float 1'
    write(iunit,'(a)')'LOOKUP_TABLE default'
@@ -899,11 +916,32 @@ if(output_smooth_press_fielde==1) then
    enddo 
 end if
 
+if(output_eviscosity_fielde==1) then  
+   write(iunit,'(a)')'SCALARS eff_visc_e float 1' 
+   write(iunit,'(a)')'LOOKUP_TABLE default' 
+   do ie=1,ov%nleaves 
+      if (elvoid(ie).eq.0) then 
+         write(iunit,'(e11.4)') ov%eviscosity(ie) 
+      endif 
+   enddo 
+end if 
+	 
+if(output_is_plastic_fielde==1) then  
+   write(iunit,'(a)')'SCALARS is_plastic_e integer 1' 
+   write(iunit,'(a)')'LOOKUP_TABLE default' 
+   do ie=1,ov%nleaves 
+      if (elvoid(ie).eq.0) then 
+         write(iunit,'(I10)') ov%is_plastic(ie) 
+      endif 
+   enddo 
+end if
+
 write(iunit,'(a)')'done visu.vtk'
 close(iunit)
 write(*,*) '--------------------------------------------------------------------------'
 write(*,*)'opla I am done producing visu.vtk '
 
+deallocate(countnode)
 
 !==============================================================================
 !======[produce norm<i>.vtk file]==============================================
@@ -1179,4 +1217,4 @@ endif
 
 write(*,*) '**************************************************************************'
 
-end
+end
\ No newline at end of file
-- 
GitLab