地域密着型エリア広告配信リクルートの地域密着型広告ドコイク?アドネットワーク Ads by ドコイク?[無料でホームページを作成] [通報・削除依頼]
[無料でホームページを作成] [通報・削除依頼]

レーザーフラッシュ出力処理コード

 NETZSCH製レーザーフラッシュアナライザーでの出力ファイルから必要なデータを抜き出すプログラムです。通常は計算終了後にでも一連のデータを得られるのですが、たまに上手くいかないことがあります。そののときに用いました。
-----------------------------------------------------------------------------
gfortran LFP.f90

data
-----
20 201503043_2_

a.exe

LFP.f90
-----
!=======================================================================
!  LFP.f
!    2015. 3. 5  Version 1.00  written by ***
!=======================================================================

implicit none
integer(4)::dim
parameter (dim = 99)
character(12):: file_name
character(1):: num1
character(2):: num2
character(16):: all_file_name16
character(17):: all_file_name17
character(1):: dum
integer(4):: i, j, num_data, temp(dim)
real(8):: ThDiff(dim), Cp(dim), Rho(dim), Thcond(dim)

open(1, file = 'data' )
read(1,'( i2, x, a12 )' ) num_data, file_name
close(1)

do i=1, num_data
  if( i <= 9 ) then
    write(num1,'(i1)') i
    !read(CHA,*) NUM !integer -> chara
    !write(CHA,*) NUM ! chara -> integer
    all_file_name16(1:12) = file_name
    all_file_name16(13:13) = num1
    all_file_name16(14:16) = ".lf"
    write(6,*) all_file_name16
    open(2,file=all_file_name16)
      do j=1, 38
        if(j==10) then
          read(2, '(14x,i4)') temp(i)
        else if(j==31) then
          read(2, '(15x,f7.4)') ThDiff(i)
        else if(j==35) then
          read(2, '(3x,f6.3)') Cp(i)
        else if(j==36) then
          read(2, '(4x,f7.4)') Rho(i)
        else if(j==37) then
          read(2, '(8x,f6.3)') Thcond(i)
        else
          read(2, '(a)') dum
        end if
      end do
    close(2)
  else
    write(num2,'(i2)') i
    all_file_name17(1:12) = file_name
    all_file_name17(13:14) = num2
    all_file_name17(15:17) = ".lf"
    write(6,*) all_file_name17
    open(2,file=all_file_name17)
      do j=1, 38
        if(j==10) then
          read(2, '(14x,i4)') temp(i)
        else if(j==31) then
          read(2, '(15x,f7.4)') ThDiff(i)
        else if(j==35) then
          read(2, '(3x,f6.3)') Cp(i)
        else if(j==36) then
          read(2, '(4x,f7.4)') Rho(i)
        else if(j==37) then
          read(2, '(8x,f6.3)') Thcond(i)
        else
          read(2, '(a)') dum
        end if
      end do
    close(2)
  end if
end do

open( 3, file = 'out')
write(3, *) "Num, temp, ThDiff, Cp, Rho, Thcond"
do i=1, num_data
  write(3, '(i2,",",i4,",",f7.4,",",f6.3,",",f7.4,",",f6.3)') i, temp(i), ThDiff(i), Cp(i), Rho(i), Thcond(i)
end do
close(3)
stop
end
 
アクセス数
ページビュー数