program CoopJ implicit none ! Cooper-Jacob approximatation for transient head during pumping in ideal aquifer ! ho-h(r)=(2.303Q/4piT)*log(2.25Tt/r^2S) ! h(r)=-(2.303Q/4piT)*log(2.25Tt/r^2S)+ho ! u=r^2S/4Tt<0.05...ish ! Delcare integer :: i, j integer,parameter :: row=100,col=1+6+6 ! First column time, next five head, next five u real,parameter :: pi=3.14159 real,dimension(row,col) :: A real,dimension(6) :: r real :: K, b, T, S, Q, ti, ho ! Define K=28.3/3.5 b=5. T=K*b S=0.25 Q=-42.8 ti=0.3125 ho=100.+0.75 r(1)=1. do j=2,6 r(j)=(j-1.)*5. end do ! Compute do i=1,row do j=1,col A(i,j)=0. end do end do do i=1,row A(i,1)=i*(ti/row) end do do j=2,col-6 do i=1,row A(i,j)=-(2.303*Q)/(4.*pi*T)*log10((2.25*T*A(i,1))/((r(j-1)**2.)*S))+ho end do end do do i=1,row do j=8,col A(i,j)=((r(j-7)**2.)*S)/(4.*T*A(i,1)) end do end do write(*,10) ((A(i,j),j=1,col),i=1,row) 10 format(1x,13f10.4) open(unit=1000, file='CoopJ_out.txt') ! Open new or overwrite old output file write(1000,100) ((A(i,j),j=1,col),i=1,row) 100 format(1x,13f10.4) close(1000) ! Output end program CoopJ