gnuplot.f90 Source File


Contents

Source Code


Source Code

module gnuplot
  implicit none
  contains
!===============================================
!Gnuplot形式で結果を出力
!--------------------------
   subroutine gnuplot_out(elem_nod,nod_coord,step,day,day_ID)
   real(8), intent(in) :: nod_coord(:,:)
   integer,intent(in)::elem_nod(:,:),step,day(:,:),day_ID
   integer i,j,yy,mm,dd
   character filename1*17
   character filename2*17
   character filename3*17
   character filename4*17
   !======gnuplot動画出力用コマンド===========
   !データ作成用プログラム
   !連番ファイルの作成-----------------------
   i = step
   yy=day(day_ID,1)
   mm=day(day_ID,2)
   dd=day(day_ID,3)
   write (filename1, '("gnu_out", i6.6, ".txt")') i ! ここでファイル名を生成している
   write (filename3, '("gnu_pet", i6.6, ".txt")') i 
   write (filename4, '("gnu_lef", i6.6, ".txt")') i 
   write (filename2, '("gnu_out", i6.6, ".png")') i
   open(40,file=filename1)
   !----------------------------------------
   
   
   !png出力用スクリプトファイル-----------------
	if(step==1)then
		open(50,file='png_script.gp')
		write(50,*)'set nokey'
		write(50,*)'set  xr[-50:50]'
		write(50,*)'set  yr[-50:50]'
		!write(50,*)'set  zr[0:100]'
		write(50,*)'set view 82,60,1,1'
	else
		open(50,file='png_script.gp',position='append')
	endif
	
	
	write(50,*)'splot ','"',filename1,'" with lines lc rgb "brown" lw 4  '
	write(50,*)'replot ','"',filename3,'"  with lines lc rgb "#00873C" lw 2'
	write(50,*)'replot ','"',filename4,'" with lines lc rgb "#009945" '
	write(50,*)'set label "',yy,'/',mm,'/',dd,'"'
	write(50,*)'set terminal png'
	write(50,*)'set term png size 1024,1024 '
	write(50,*)'set output ','"',filename2,'"'
	write(50,*)'replot'
	write(50,*)'unset label'
	write(50,*)'replot'
	!=============================================

	do i =1, size(elem_nod,1)
			
		write(40,*) nod_coord(elem_nod(i,1),1:3)
		write(40,*) nod_coord(elem_nod(i,2),1:3)
	    write(40,*) '    '
		write(40,*) '    '
	enddo
	
	close(40)
	close(50)

   end subroutine gnuplot_out
end module gnuplot