Seperti pada artikel sebelumnya, telah saya posting tentang
difusi. Perbedaan dengan posting pada artikel ini terletak pada mediumnnya.
Jika artikel sebelumnya pada medium satu dimensi, pada artikel kali ini saya
akan membahas Difusi pada medium dua dimensi.
Pembahasan Difusi pada artikel hanya membahas konduktivitas
pana hingga menjadi tunak pada medium 2 dimensi.
Penghantar panas dengan luasan L x L yang terletak pada
bidang xy dengan salah satu sudutnya terletak pada pusat koordinat xy
tersebut. Mula – mula penghantar
memiliki suhu T0 pada saat t=0.
- Syarat Batas
- Syarat Batas :
Syarat awal
for i = 1:Nx
for i = 1:Nx
for j = 1:Ny
T(i,j)=0;
end
end
T(Nx+1,j)=1;
end
T(i,Ny+1)=1;
end
for i = 2:Nx
for j = 2:Ny
T(i,j) = dt*perhx2*(T(i-1,j)
+T(i+1,j)+T(i,j-1)
+T(i,j+1)-4*T(i,j))+T(i,j);
end
end
T(1,j) = T(1,j)
+ 2*dt*perhx2*(T(2,j)-T(1,j))
+
dt*perhx2*(T(1,j-1)-2*T(1,j)+T(1,j+1));
End
T(i,1) = T(i,1)
+
dt*perhx2*(T(i-1,1)-2*T(i,1)+T(i+1,1))
+ 2*dt*perhx2*(T(i,2)-T(i,1));
end
- Syarat Stabilitas
Sehingga diperoleh pilihan hx = 0,1 dan dx = 0,0025
Script Program dengan menggunakan Fortran adalah sebagai berikut :
---------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------
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(i-1,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 !LE=kurang dari sama dengan
PRINT*, '----------------------------------------------------'
WRITE(*, ' (T2, A, T30, I20)')'n :',n
WRITE(*, ' (T2, A, T30, F12.5)')' :',meanT
END IF
IF (MOD(n,nsave) < 1) THEN
PRINT*, '----------------------------------------------------'
PRINT*, ' S a v e data '
WRITE(*, ' (T2, A, T30, F12.5)')' :',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
--------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------
Kemudian dengan menggunakan paraview Simulasi dapat di visualkan.
Dengan memvariasi nilai D akan di dapat grafik sebagai berikut :
Grafik Hubungan Waktu dengan Suhu Rata-Rata
Garis Merah nilai D adalah 0.5
Garis Biru nilai D adalah 0.25
Video Dua dimensi perambatan Suhu :