Code untuk metode beda hingga grid kolokasi, dengan hampiran beda Code untuk metode beda hingga grid selang-seling pada persamaan

u=u0; p=p0; while ttstop-0.5Dt for i=2:Nx-1 pnewi=pi-Dt2Dxrhoc2ui+1-ui-1; iterasi Euler tekanan terhadap waktu unewi=ui-Dt2Dx1rhopi+1-pi-1; iterasi Euler kecepatan terhadap waktu end update nilai tekanan dan kecepatan yg baru p = pnew; u = unew; syarat batas p1 = 1; u1 = 0; pNx = 0.1; uNx = 0; update waktu t = t + Dt; gambar hasil figure1 subplot2,1,1 plotx,p, LineWidth ,2 titlesprintf tekanan pada saat t=4.3f ,t xlim[-L L] ylim[0 2] subplot2,1,2 plotx,u, LineWidth ,2 titlesprintf kecepatan pada saat t=4.3f ,t xlim[-L L] ylim[0 2] pause0.01 end

3. Code untuk metode beda hingga grid kolokasi, dengan hampiran beda

mundur untuk diskritisasi ruang dan hampiran beda maju untuk diskritisasi waktu pada persamaan akustik Gambar 4.3. clc; clear all ; Nx = 400; banyaknya langkah pada ruang x1 L = 5; Dx = 2LNx; ukuran langkah pada ruang x x1 = -L:Dx:L; membuat langkah pada ruang dengan dx adalah jarak dari titik a ke b x = x11:Nx+Dx2; membuat langkah pada ruang x1 sehingga jarak langkah semakin kecil Dt = 0.1Dx; ukuran langkah waktu t rho=1; massa jenis fluida c=1; kecepatan rambat gelombang pnew=zeros1,Nx; tempat penyimpanan perhitungan p unew=zeros1,Nx; tempat penyimpanan perhitungan u u0=0x; untuk penyimpanan nilai awal u p0=0x; untuk penyimpanan nilai awal p for i=1:Nx if xi 0 u0i=0; p0i=1; else u0i=0; p0i=0.1; end end plotx,p0; plotx,u0; t=0; waktu awal tstop=1.5; u=u0; p=p0; while ttstop-0.5Dt for i=2:Nx pnewi=pi-DtDxrhoc2ui-ui-1; iterasi Euler tekanan terhadap waktu unewi=ui-DtDx1rhopi-pi-1; iterasi Euler kecepatan terhadap waktu end update nilai tekanan dan kecepatan yg baru p = pnew; u = unew; syarat batas p1 = 1; u1 = 0; pNx = 0; uNx = 0; update waktu t = t + Dt; gambar hasil figure1 subplot2,1,1 plotx,p, LineWidth ,2 titlesprintf tekanan pada waktu t=4.3f ,t xlim[-L L] ylim[0 5] subplot2,1,2 plotx,u, LineWidth ,2 titlesprintf kecepatan pada waktu t=4.3f ,t xlim[-L L] ylim[0 5] pause0.01 end

4. Code untuk metode beda hingga grid selang-seling pada persamaan

akustik Gambar 4.4. clc clear all Nx = 400; banyaknya langkah pada ruang x1 L = 5; Dx = 2LNx; ukuran langkah pada ruang x x1 = -L:Dx:L; membuat langkah pada ruang dengan dx adalah jarak dari titik a ke b x = x11:Nx+Dx2; membuat langkah pada ruang x1 sehingga jarak langkah semakin kecil Dt = 0.1Dx; ukuran langkah waktu t p=zeros1,Nx; tempat penyimpanan perhitungan p u=zeros1,Nx; tempat penyimpanan perhitungan u u0=0x; untuk penyimpanan nilai awal u p0=0x; untuk penyimpanan nilai awal p kondisi awal program for i=1:Nx if xi0 u0i=0; p0i=1; else u0i=0; p0i=0.1; end end gambar awal program plotx,p0 plotx,u0 pause1 tfinal=1; waktu akhir nIteration=tfinalDt; t=0; waktu awal un=u0; untuk input iterasi metode beda hingga staggered grids pn=p0; untuk input iterasi metode beda hingga staggered grids xodd=zeros1,Nx2; membuat ruang untuk menghitung kecepatan air uodd=zeros1,Nx2; membuat ruang untuk perhitungan kecepatan aliran air pada grid ganjil xeven=zeros1,Nx2; membuat ruang untuk menghitung tekanan air peven=zeros1,Nx2; membuat ruang untuk perhitungan tekanan aliran air pada grid genap menghitung kecepatan dan tekanan aliran air. Jika hasil modulonya nol maka hasil perhitungannya masuk ke grid genap. Jika hasil modulonya tidak nol maka hasil perhitungannya masuk ke grid ganjil. for i=1:Nx if modi,2 == 0 xeveni2 = xi; else xoddi+12 = xi; end end initial condition p1,1:Nx2 = 1; p1,Nx2:Nx = 0.1; u1,1:Nx2 = 0; u1,Nx2:Nx = 0; mulai perhitungan figure1 initial condition p1 = 1; pend = 0.1; u1 = 0; uend = 0; tstop=1.5; program ini berjalan sampai waktu tStop detik rho=1; massa jenis fluida c=1; kecepatan rambat gelombang while ttstop-0.5Dt pp=p; uu=u; pnew = zeros1,Nx; unew = zeros1,Nx; for i = 3:Nx-2 if modi,2 == 0 perhitungan tekanan pada grid yang genap uuiph = uui+1; uuimh = uui-1; pnewi = ppi - rhoc2Dt2Dxuuiph - uuimh; end end kondisi batas pnew1:3 = 1; pnewend-3:end = 0.1; unew1:3 = 0; unewend-3:end = 0; perhitungan dengan metode beda hingga grid selang-seling for i=4:Nx-4 if modi,2~=0; perhitungan tekanan pada grid yang ganjil ppiph = ppi+1; ppimh = ppi-1; unewi = uui - 1rhoDt2Dxppiph - ppimh; end end boundary condition pnew1:4 = 1; pnewend-4:end = 0.1; unew1:4 = 0; unewend-4:end = 0; p = pnew; memperbarui hasil perhitungan p u = unew; memperbarui hasil perhitungan U menggambar hasil perhitungan P dan U for i = 1:Nx if modi,2 == 0 peveni2 = pi; else uoddi+12 = ui; end end t=t+Dt; figure1 subplot2,1,1 plotxeven,peven, LineWidth ,2 titlesprintf tekanan pada waktu t t=4.3f ,t xlim[-L L] ylim[0 2] subplot2,1,2 plotxodd,uodd, LineWidth ,2 titlesprintf kecepatan pada waktu t t=4.3f ,t xlim[-L L] ylim[0 2] pause0.01 end

5. Code untuk metode volume hingga Lax-Friedrichs pada persamaan