Advertisement
Guest User

pipes

a guest
Jan 29th, 2015
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.       program gauss_seidel_iterative
  2.       implicit double precision (a-h,o-z)
  3.       parameter (kdim=20)
  4.       dimension T(11,11), C(11,11), R(11,11), roi(11)
  5.       agog(X)=A0+A1*X+A2*(X**2)+A3*(X**3)
  6.       olok(i)=(2/10)*(roi(i)+4*roi(i+1)+roi(i+2))*(1/6)
  7.      
  8.      
  9.       write(*,*)' Enter Relaxation Factor'
  10.       read(*,*)omega
  11.       write(*,*)' Enter epsilon(sfalma)'
  12.       read(*,*)eps
  13.  
  14. c
  15.       do i=1,11
  16.          do j=1,11
  17.             T(i,j)=400
  18.          ENDDO
  19.       ENDDO
  20.      
  21.       do i=1,11
  22.          do j=1,11
  23.             C(i,j)=0
  24.          ENDDO
  25.       ENDDO
  26.      
  27.       do i=1,11
  28.          T(i,1)=220
  29.       enddo
  30. c     GRAMMIKH PAREMVOLH 1
  31.       T(11,11)=615
  32.       T(1,11)=650
  33.       remold=0
  34.      
  35.       DIFF1=(T(11,11)-T(11,1))/10
  36.      
  37.       do j=2,10
  38.          T(11,j)=T(11,j-1)+DIFF1
  39.       ENDDO
  40.  
  41. c     grammikh paremvolh1 telos
  42. c     GRAMMIKH PAREMVOLH 2
  43.       DIFF2=(T(1,11)-T(1,1))/10
  44.       do j=2,10
  45.          T(1,j)=T(1,j-1)+DIFF2
  46.       enddo
  47. c     grammikh paremvolh2 telos
  48.  
  49.       do K=1,10**6-1
  50.         do i=2,10
  51.           do j=2,10
  52.  
  53.            IF(j.lt.10) THEN
  54.            T(i,j)=0.25*(T(i+1,j)+T(i-1,j)+T(i,j+1)+T(i,j-1))
  55.  
  56.            ELSEIF(j.eq.10) THEN !IF(j.eq.10) THEN
  57.            T(i,j)=(1.d0/3.d0)*( T(i+1,j)+T(i-1,j)+T(i,j-1) )
  58.  
  59.            ENDIF
  60.           T(i,j) = omega*T(i,j) + (1.d0-omega)*C(i,j)
  61.           q=(T(i,j)-C(i,j))/C(i,j)
  62.           R(i,j)=abs(q)
  63.           !=err
  64.           C(i,j)=T(i,j)
  65.       ENDDO
  66.       ENDDO
  67.  
  68.       !err0=1e-6
  69.  
  70.       !sum=0
  71.       !do i=2,10
  72.       !   do j=2,10
  73.       !      sum=R(i,j)+sum
  74.       !   enddo
  75.       !enddo
  76.      
  77.       !avgsf=sum/90        !90=(N-2)*(N-1)
  78.      
  79.       !if (avgsf.le.eps) THEN
  80.       !exit
  81.       !endif
  82.  
  83.       err0=R(2,2)
  84.       do i=2,10
  85.          do j=2,9
  86.             if (R(i,j).gt.err0) THEN
  87.             err0=R(i,j)
  88.             endif
  89.           enddo
  90.       enddo
  91.  
  92.  
  93.       if (err0.le.eps) THEN
  94.       EXIT
  95.       endif
  96.  
  97.  
  98.       ENDDO
  99.  
  100.  
  101.  
  102.       do i=2,10
  103.             T(i,11)=T(i,10)
  104.       enddo
  105.          
  106.       open(1,file='solution12.dat')
  107.       do j=1,11
  108.             write(1,21) (T(i,j), i=1,11)
  109.   21      format(50(f10.5,3x))
  110.       enddo
  111.       write (1,*) K, omega
  112.       open (2,file='timesAD.txt')
  113.       do i=1,11
  114.             write(2,*) T(11,i)
  115.       enddo
  116.       close(2)
  117.      
  118.       !roh
  119.       open(3,file='COEF.TXT')
  120.  
  121.       READ (3,*) A0,A1,A2,A3
  122.       CLOSE (3)
  123.       do X=1,11
  124.       !write(3,*) agog(x)
  125.       roi(X) = -agog(X)*(T(11,X)-T(10,X))/10
  126.       write(*,*) roi(X)
  127.       write(1,*) roi(X)
  128.  
  129.       enddo
  130.  
  131.      
  132.       !integraltion
  133.       sum=0
  134.  
  135.       !dh=2/(N-1) !2/(N-1)
  136.       do i=1,9,2
  137.          sum = sum + olok(i)
  138.       enddo
  139.       write(1,*) sum
  140.       write(1,*) 'THERMIKI ROH =',sum,' W/m'
  141.       close(1)
  142.  
  143.  
  144.  
  145.  
  146.  
  147.       !stop
  148.  
  149.       END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement