Ditinjau penghantar panas persegi dengan luas penampang L × L yang terletak di bidang xy dengan salah satu sudutnya terletak di pusat koordinat seperti disajikan pada Gambar 1. Penghantar ini dipandang sebagai tampang lintang (cross section) penghantar tiga dimensi yang panjangnya tak hingga dan homogen dalam arah panjangnya. Mula-mula penghantar bertemperatur To. Pada saat t = 0, sisi penghantar yang terletak di x = L dan di y = L secara bersamaan ditempelkan pada reservoir bertemperatur Tb dimana Tb > To. Sementara pada sisi penghantar yang terletak di x = 0 dan di y = 0 dijaga sedemikian rupa sehingga tidak ada aliran kalor. Selanjutnya akan dicari keadaan sistem pada saat t.
Gambar 1. Sistem fisis yang ditinjau |
Syarat Stabilitas
Syarat stabilitas terpenuhi dengan rumus
Sehingga diperoleh pilihan hx = 0,1 dan dx = 0,0025
Script program menggunakan Fortran
---------------------------------------------------------------------
PROGRAM DIFUSI2D
!Deklarasi Variabel
IMPLICIT NONE
INTEGER, PARAMETER:: imax = 1000, jmax = 1000
CHARACTER(36) :: label
REAL :: L,dt,hx,perhx,perhx2,meanT,D
INTEGER :: i,j,nwrite,nsave,tmax,n,nn,Nx,Ny
REAL :: T(1:imax,1:jmax)
INTEGER :: X(1:imax,1:jmax),Y(1:imax,1:jmax)
!Input
L = 1
D = 1
dt = 0.0025
hx = 0.1
perhx = 1/hx
perhx2 = perhx*perhx
Nx = L/hx
Ny = Nx
tmax = 4000000
nwrite = 50
nsave = 200
!perintah membuat file baru
OPEN(80,FILE='data.csv',STATUS='NEW',FORM='FORMATTED')
!isi file baru
WRITE(80,*) 'n,','dt*n,','meanT'
CLOSE(80)
!Syarat awal T
DO j = 1, Ny+1
DO i =1, Nx+1
T(i,j) = 0
END DO
END DO
DO j = 1, Ny
T(Nx+1,j) = 1
END DO
DO i = 1, Nx
T(i,Ny+1) = 1
END DO
T(Nx+1,Ny+1) = 1
PRINT*, ' Bismillaahirrahmaanirrahiim....'
DO n = 1, tmax
!Menghitung
DO j = 2, Ny
DO i = 2, Nx
T(i,j) = (D*dt/perhx2)*(T(i1,j)+T(i+1,j)+T(i,j-
1)+T(i,j+1)-4*T(i,j))+T(i,j);
END DO
END DO
DO j = 2, Ny
T(1,j) = T(1,j)+2*D*dt/perhx2*(T(2,j)-T(1,j))+dt/perhx2*
(T(1,j-1)-2*T(1,j)+T(1,j+1));
END DO
DO i = 2, Nx
T(i,1) = T(i,1)+2*D*dt/perhx2*(T(i,2)-T(i,1))+dt/perhx2*(T(i-
1,1)-2*T(i,1)+T(i+1, 1));
END DO
T(1,1) = 0.5*(T(2,1)+T(1,2));
meanT = 0
DO i = 1, Nx+1
DO j = 1, Ny+1
meanT = meanT + T(i,j)
END DO
END DO
meanT = meanT/((Nx+1)*(Ny+1))
IF (MOD(n,nwrite) < 1) THEN
PRINT*, '---------------------------------------------'
WRITE(*, ' (T2, A, T30, I20)')'n :',n
WRITE(*, ' (T2, A, T30, F12.5)')'T :',meanT
END IF
IF (MOD(n,nsave) < 1) THEN
PRINT*, '-------------------------------------------'
PRINT*, ' S a v e data '
WRITE(*, ' (T2, A, T30, F12.5)')'T :',meanT
!Menyimpan n, dt*n, meanT
OPEN (80,ACCESS='APPEND',FILE='data.csv',FORM='FORMATTED')
WRITE (80, 81) n, dt*n , meanT
81 FORMAT (i8',',F10.3',', F7.5)
CLOSE(80)
nn = n + 70000000
!Menyimpan T
WRITE (Label, 51) 'T', nn
51 FORMAT (A, i8,'.csv')
OPEN (11, file = Label)
DO i = 1, (Nx+1)
DO j = 1,(Ny+1)
X(i,j) = i
Y(i,j) = j
WRITE (11,31) X(i,j), Y(i,j), T(i,j)
31 FORMAT(i5',',i5',',F7.5)
END DO
END DO
CLOSE (11)
END IF
END DO
PRINT*,'----------------------------------------------'
PRINT*,"ALHAMDULILLAH"
PRINT*,"Perhitungan telah selesai"
PRINT*,'----------------------------------------------'
END PROGRAM DIFUSI2D
---------------------------------------------------------------------
Selanjutnya data meanT dengan variasi D 'data.csv' dibuka di software PARAVIEW, dan dibuat grafik seperti di bawah ini.
dan untuk data suhu 'T7.csv' dibuka di software PARAVIEW, dan dibuat video seperti di bawah ini.
Tidak ada komentar:
Posting Komentar