      PROGRAM effec 
************************************************************************
* Effective medium theory for medium 2 bubbles in medium 1.            *
* From standard input it reads:                                        *
* fraction of medium 2, g-factor                                       *
* input filename                                                       *
* The input file should be in x y z u v                                *
* format, containing frequency, 
* real and imaginary part of epsilon1,  and 
* real and imaginary part of epsilon2,
* The resulting x y z file is flushed to standard output.              *
************************************************************************
      parameter(nphys=100000)
      real xx(nphys),y,z,u,v
      complex eps1(nphys),eps2(nphys),clad1,clad2,clad3,clad4,clad5
      CHARACTER*40 flin
      INTEGER I,J,n,mm,ilast                                          
      
      read(*,'(a40)') flin
      read(*,*) f,g
      open(23,FILE=flin)                                      
      mm=10000 
      do 10 i=1,mm                                                  
       READ(23,*,END=11) xx(i),y,z,u,v
       eps1(i)=cmplx(y,z)
       eps2(i)=cmplx(u,v)
10    continue   
11    mm=i-1
      close(23)

      do 31 i=1,mm
       clad1=eps1(i)-eps2(i)/g+f*(1+1/g)*(eps2(i)-eps1(i))
       clad2=csqrt(clad1**2+4*eps1(i)*eps2(i)/g)
       clad3=(clad1+clad2)/2
       clad4=(clad1-clad2)/2
       clad5=clad3
       if ((aimag(clad4).ge.0).and.(aimag(clad3).lt.0)) then
        clad5=clad4
       endif
       write(*,*) xx(i),real(clad5),aimag(clad5) 
31    continue                   
      end 
      
       

