All pastes #2094460 Raw Edit

MF

public text v1 · immutable
#2094460 ·published 2011-11-23 05:29 UTC
rendered paste body

  program main
  
  implicit none

  integer, parameter :: experiment_number=50
  
  integer, parameter :: fileid=10
 
  real(kind=4)::N(experiment_number)
  real(kind=8)::D(experiment_number)
  real(kind=8)::surface_area(experiment_number)
  real(kind=8)::klap(experiment_number)
  real(kind=8)::klab(experiment_number)
    
   
  integer i, num, error,ii
  common/dat/N,D,surface_area,ii

  open(unit=fileid, status="old",file="condition.txt",iostat=error)
  if ( error/=0 ) then
    write(*,*) "Open condition.txt fail."
	stop
  end if

    do i=1,experiment_number
    read(fileid,*) num, N(i), D(i), surface_area(i)
    end do

 ii=1

  do i=1,experiment_number
   
	call mass_transfer(N(i),D(i),surface_area(i), klap(i), klab(i))

    ii=ii+1
    write(*,*)klap(i),klab(i)

	open(unit=20,file="result.txt")

	write(20,*)klap(i),klab(i)
  

  end do

stop 
end

!***************main program stop here!

! *********************** calculate mass transfer coefficient !
  subroutine mass_transfer(speed,diffusion,area,coefficient_packing,coefficient_blade)
  use IMSL
  implicit none
  real(kind=8)::speed,diffusion,area, coefficient_packing,coefficient_blade

  real, external::F1,F2
  real, parameter :: A = 0.078
  real, parameter :: B = 0.093
  real, parameter :: C = 0.108
  real, parameter :: ERRABS = 1E-5
  real, parameter :: ERRREL = 1E-5
  real ANS, ERR

  call QDAGS (F1, A, B, ERRABS, ERRREL, ANS, ERR)

  coefficient_packing=ans

  call QDAGS (F2, B, C, ERRABS, ERRREL, ANS, ERR)

  coefficient_blade=ans

   return
end
!*************************************

!*******************************integrand function in the packing!

real function F1(r)
  
  real:: r                                 !radius,m
  real(kind=8)::ae,kl,Lf
  integer, parameter :: experiment_number=50
  real(kind=8):: acceleration,diameter,thickness,velocity,holdup
  common/dat/N,D,ii
  real(kind=4)::N(experiment_number)
  real(kind=8)::D(experiment_number)
  
  integer ii

  real,parameter::p=1113.4                  !density,kg/m3
  real,parameter::q=0.07833                 !surface tension,kg/s2
  real,parameter::v=0.000001486             !viscosity,m2/s
  real,parameter::L=80.0                    !liqudi flow rate ,L/h
  
   
  Lf=(L*0.001/3600)/(2*3.1415926*r*0.05)
  acceleration=r*(2.0*3.1415926*N(ii)/60)**2.0
  diameter=0.7284*(q/(acceleration*p)**0.5)
  velocity=((Lf/0.039)*((acceleration/100.0)**(0.5))*(0.01**(0.6))*(V/0.000001)**(-0.22))**(1.0/1.6)
  holdup=0.039*(acceleration/100.0)**(-0.5)*(velocity/0.01)**0.6*(v/0.000001)**(0.22)
 
  ae=6*holdup/diameter 
  kl=(D(ii)*8*velocity/0.015)**(0.5)
  F1 = ae*kl*r

return
end
!**********************************************

!*************************integrand function in the blades!
real function F2(r)
  
  real:: r                                 !radius,m
  real(kind=8)::ae,kl,Lf
  integer, parameter :: experiment_number=50
  real(kind=8):: acceleration,diameter,thickness,velocity,holdup
  common/dat/N,D,surface_area,ii
  real(kind=4)::N(experiment_number)
  real(kind=8)::D(experiment_number)
  real(kind=8)::surface_area(experiment_number)
  integer ii

  real,parameter::p=1113.4                  !density,kg/m3
  real,parameter::q=0.07833                 !surface tension,kg/s2
  real,parameter::v=0.000001486             !viscosity,m2/s
  real,parameter::L=80.0                    !liqudi flow rate ,L/h
  
   
  Lf=(L*0.001/3600)/(2*3.1415926*r*0.05)
  acceleration=r*(2.0*3.1415926*N(ii)/60)**2.0
  diameter=0.7284*(q/(acceleration*p)**0.5)
  !thickness=(3*v*Lf/acceleration)**(1/3)
  thickness=4.2*(10**8.0)*v*Lf/(surface_area(ii)*acceleration)
  velocity=((Lf/0.039)*((acceleration/100.0)**(0.5))*(0.01**(0.6))*(V/0.000001)**(-0.22))**(1.0/1.6)
  holdup=0.039*(acceleration/100.0)**(-0.5)*(velocity/0.01)**0.6*(v/0.000001)**(0.22)
 
  ae=6*(holdup-thickness*surface_area(ii))/diameter + surface_area(ii)
  kl=(D(ii)*1*velocity/0.015)**(0.5)
  F2 = ae*kl*r

return
end
!**********************************