Anda di halaman 1dari 7

7.

Finite Difference
Nama : Graselita M P Lumban Batu
NIM : 200801018
Tanggal : 13 Mei 2022

Projek

1.Difusi Panas
1
Terdapat suatu batangan logam yang panjangnya 10 cm dan memiliki difusivitas termal k = 10
.
Persamaan diferensial yang menggambarkan penyebaran panas dari logam adalah :
δT δ2 T
δt
=k 2
δx
dimana T adalah suhu dan k adalah difusivitas termal.
Gunakan metode Finite Difference untuk mencari solusi numerik dari penyebaran panas dari batan-
gan logam tersebut dari waktu t = 0 hingga t = 10 s, dengan kondisi awal dan kondisi batas yang
diberikan :
a. Pada saat t = 0, titik ujung kiri dari batangan logam tersebut (pada x = 0) memiliki suhu 100
°C.
b. Pada saat t = 0, titik ujung kiri (x = 0) memiliki suhu -100°C dan titik ujung kanan (x = 10 cm)
memiliki suhu 100°C.
Anggaplah terdapat sumber panas eksternal pada titik ujung kanan sehingga suhu pada titik terse-
but terjaga pada 100°C, dan anggaplah terdapat sumber dingin eksternal yang menjaga suhu pada
titik ujung kiri pada -100°C.
Jawaban :
a.
2 Project 7.nb

In[5]:= t0 = 0;
tEnd = 10;
x0 = 0;
xEnd = 10;
mt = 1000;
mx = 100;
tEnd - t0
Δt = ;
mt
xEnd - t0
Δx = ;
mx
T = Range[t0, tEnd, Δt];
X = Range[x0, xEnd, Δx];
Y = Table[0, {i, 0, mt}, {j, 0, mx}];
Y[[1, 1]] = 100;

In[17]:= DoIf[j ⩵ 1, s3 = Y[[i, j]], s3 = Y[[i, j - 1]]];


If[j ⩵ mx + 1, s1 = Y[[i, j]], s1 = Y[[i, j + 1]]];
1 Δt
Y[[i + 1, j]] = N s1 - 2 Y[[i, j]] + s3 + Y[[i, j]];
10 Δx2
, {i, 1, mt}, {j, 1, mx + 1}

In[18]:= X1 = X;
Y1 = Y;
T1 = T;
Manipulate[ListPlot[Transpose[{X1, Y1[[n]]}], Joined → True,
PlotLegends → {"Numerik"}, PlotLabel → "Graselita M P Lumban Batu (200801018)",
AxesLabel → {"x", "T (Suhu)"}], {n, 1, mt + 1, 1}]

Graselita M P Lumban Batu (200801018)


T (Suhu)

100

80

Out[21]=

60
Numerik

40

20

x
2 4 6 8 10

b.
In[22]:= Y[[1, 1]] = - 100;
Y[[1, 101]] = 100;
Project 7.nb 3

In[24]:= DoIf[j ⩵ 1, s3 = Y[[i, j]], s3 = Y[[i, j - 1]]];


If[j ⩵ mx + 1, s1 = Y[[i, j]], s1 = Y[[i, j + 1]]];
1 Δt
Y[[i + 1, j]] = N s1 - 2 Y[[i, j]] + s3 + Y[[i, j]];
10 Δx2
, {i, 1, mt}, {j, 1, mx + 1}

In[25]:= X2 = X;
Y2 = Y;
T2 = T;
Manipulate[ListPlot[Transpose[{X1, Y2[[n]]}], Joined → True,
PlotLegends → {"Numerik"}, PlotLabel → "Graselita M P Lumban Batu (200801018)",
AxesLabel → {"x", "T (Suhu)"}], {n, 1, mt + 1, 1}]

Graselita M P Lumban Batu (200801018)


T (Suhu)

100

50
Out[28]=

Numerik
x
2 4 6 8 10

-50

-100

In[97]:= gif1 = Table[ListPlot[Transpose[{X1, Y1[[n]]}], Joined → True,


PlotLegends → {"Numerik"}, PlotLabel → "Graselita M P Lumban Batu (200801018)",
AxesLabel → {"x", "T (Suhu)"}], {n, 1, mt + 1, 20}];
gif2 = Table[ListPlot[Transpose[{X1, Y2[[n]]}], Joined → True,
PlotLegends → {"Numerik"}, PlotLabel → "Graselita M P Lumban Batu (200801018)",
AxesLabel → {"x", "T (Suhu)"}], {n, 1, mt + 1, 20}];
Export["D:\\Project 7 No 1(a).gif", gif1, AnimationRepetitions → ∞]
Export["D:\\Project 7 No 1(b).gif", gif2, AnimationRepetitions → ∞]
Out[99]= D:\Project 7 No 1(a).gif

Out[100]= D:\Project 7 No 1(b).gif

Graselita M P Lumban Batu (200801018)


2.Gelombang pada tali
Terdapat seutas tali yang memiliki panjang 10 m dengan massa jenis ρ = 10 kg m3 dan tegangan T
= 40 N. Gunakan metode Finite Difference untuk mencari solusi numerik dari pergerakan gelom-
bang pada tali tersebut dari waktu t = 0 hingga t = 10 s, dengan kondisi awal dan kondisi batas yang
diberikan :
4 Project 7.nb

a.Kondisi batas : ujung kiri pada tali terikat dan ujung kanan bebas
Kondisi awal : pada saat t = 0, gelombang pada tali memenuhi persamaan :
2
y = e-(x-vt-5)
b.Kondisi batas : ujung kiri pada tali berosilasi, memenuhi persamaan y = sin(10t) dan ujung kanan
bebas
Kondisi awal : tidak terdapat gelombang pada tali pada t = 0
Jawaban :
a.
In[29]:= t0 = 0;
tEnd = 10;
x0 = 0;
xEnd = 10;
mt = 1000;
mx = 100;
tEnd - t0
Δt = ;
mt
xEnd - x0
Δx = ;
mx
T = Range[t0, tEnd, Δt];
X = Range[x0, xEnd, Δx];
Y = Table[0, {i, 0, mt}, {j, 0, mx}];
ρ = 10;
T = 40;

T
v= ;
ρ

2
In[43]:= DoY[[1, n]] = N @ ⅇ-(X[[n]]-5) ;
2
Y[[2, n]] = - 2 Δt (X[[n]] - 5) ⅇ-(X[[n]]-5) + Y[[1, n]];
, {n, 1, mx + 1};
Project 7.nb 5

In[44]:= Manipulate[
ListPlot[Transpose[{X, Y[[t]]}], Joined → True, PlotRange → Full], {t, 1, 2, 1}]

1.0

0.8

Out[44]= 0.6

0.4

0.2

2 4 6 8 10

In[45]:= DoIf[j ⩵ mx + 1, s1 = Y[[i, j]], s1 = Y[[i, j + 1]]];


If[j ⩵ 1, s3 = Y[[i, j]], s3 = Y[[i, j - 1]]];
Δt 2
Y[[i + 1, j]] = Nv2 s1 - 2 Y[[i, j]] + s3 + 2 Y[[i, j]] - Y[[i - 1, j]];
Δx
Y[[i, 1]] = 0; Y[[i, mx + 1]] = Y[[i, mx]];
, {i, 2, mt}, {j, 1, mx + 1}
6 Project 7.nb

In[46]:= X3 = X;
Y3 = Y;
T3 = T;
Manipulate[ListPlot[Transpose[{X3, Y3[[t]]}], Joined → True,
PlotRange → Full, PlotLabel → "Graselita M P Lumban Batu (200801018)",
AxesLabel → {"x", "y"}], {t, 1, mt, 1}]

Graselita M P Lumban Batu (200801018)


y

1.0

0.8

Out[49]=

0.6

0.4

0.2

x
2 4 6 8 10

b.
In[122]:= Do[Y[[1, n]] = 0;
, {n, 1, mx + 1}]

In[123]:= Manipulate[
ListPlot[Transpose[{X, Y[[t]]}], Joined → True, PlotRange → Full], {t, 1, 2, 1}]

1.0

0.8

Out[123]= 0.6

0.4

0.2

2 4 6 8 10
Project 7.nb 7

In[50]:= DoIf[j ⩵ mx + 1, s1 = Y[[i, j]], s1 = Y[[i, j + 1]]];


If[j ⩵ 1, s3 = Y[[i, j]], s3 = Y[[i, j - 1]]];
Δt 2
Y[[i + 1, j]] = Nv2 s1 - 2 Y[[i, j]] + s3 + 2 Y[[i, j]] - Y[[i - 1, j]];
Δx
Y[[i, 1]] = Sin[10 i]; Y[[i, mx + 1]] = Y[[i, mx]];
, {i, 2, mt}, {j, 1, mx + 1}

In[51]:= X4 = X;
Y4 = Y;
T4 = T;
Manipulate[ListPlot[Transpose[{X4, Y4[[t]]}], Joined → True,
PlotRange → Full, PlotLabel → "Graselita M P Lumban Batu (200801018)",
AxesLabel → {"x", "y"}], {t, 1, mt, 1}]

Graselita M P Lumban Batu (200801018)


y

1.0

0.8

Out[54]=

0.6

0.4

0.2

x
2 4 6 8 10

In[129]:= gif5 = Table[ListPlot[Transpose[{X3, Y3[[t]]}], Joined → True,


PlotRange → Full, PlotLabel → "Graselita M P Lumban Batu (200801018)",
AxesLabel → {"x", "y"}], {t, 1, mt, 20}];
gif6 = Table[ListPlot[Transpose[{X4, Y4[[t]]}], Joined → True,
PlotRange → Full, PlotLabel → "Graselita M P Lumban Batu (200801018)",
AxesLabel → {"x", "y"}], {t, 1, mt, 20}];
Export["D:\\Project 7 No 2(a).gif", gif5, AnimationRepetitions → ∞]
Export["D:\\Project 7 No 2(b).gif", gif6, AnimationRepetitions → ∞]
Out[131]= D:\Project 7 No 2(a).gif

Out[132]= D:\Project 7 No 2(b).gif

Graselita M P Lumban Batu (200801018)

Anda mungkin juga menyukai