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
akustik, dengan ∆� = ∆� Gambar 4.5.
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 = Dx; ukuran langkah waktu t
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
pause1 t=0;
waktu awal un=u0;
untuk input iterasi metode volume hingga pn=p0;
untuk input iterasi metode volume hingga c=1;
cepat rambat gelombang rho=1;
massa jenis air tstop=1.5;
waktu berhenti pada saat t
while ttstop-0.5Dt
SOLUSI NUMERIS unp1=0un;
untuk penyimpanan data perhitungan pnp1=0pn;
untuk penyimpanan data perhitungan for
i=2:Nx-1 Fkanan= 0.5rhoc2uni+1+rhoc2uni -
Dx2Dtpni+1-pni; Fkiri = 0.5rhoc2uni+rhoc2uni-1 -
Dx2Dtpni-pni-1; pnp1i=pni-DtDxFkanan - Fkiri;
Fkanan1= 0.51rhopni+1+1rhopni - Dx2Dtuni+1-uni;
Fkiri1 = 0.51rhopni+1rhopni-1 - Dx2Dtuni-uni-1;
unp1i=uni-DtDxFkanan1 - Fkiri1; end
perbarui nilai batasnya unp11=0;
unp1Nx=0; pnp11=1;
pnp1Nx=0.1; t=t+Dt;
update waktu figure1
subplot2,1,1 plotx,pnp1,
LineWidth ,2
titlesprintf tekanan pada saat t=4.3f
,t xlim[-L L]
ylim[0 2] subplot2,1,2
plotx,unp1, LineWidth
,2 titlesprintf
kecepatan pada saat t=4.3f ,t
xlim[-L L] ylim[0 2]
pause0.01 un=unp1 ;
pn=pnp1 ; end
6. Code untuk metode volume hingga Lax-Friedrichs pada
persamaan akustik, dengan ∆� = . ∗ ∆� Gambar 4.6.
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
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
pause1 t=0;
waktu awal un=u0;
untuk input iterasi metode volume hingga pn=p0;
untuk input iterasi metode volume hingga c=1;
cepat rambat gelombang rho=1;
massa jenis air tstop=1.5;
waktu berhenti pada saat t while
ttstop-0.5Dt SOLUSI NUMERIS
unp1=0un; untuk penyimpanan data perhitungan
pnp1=0pn; untuk penyimpanan data perhitungan
for i=2:Nx-1
Fkanan= 0.5rhoc2uni+1+rhoc2uni - Dx2Dtpni+1-pni;
Fkiri = 0.5rhoc2uni+rhoc2uni-1 - Dx2Dtpni-pni-1;
pnp1i=pni-DtDxFkanan - Fkiri; Fkanan1= 0.51rhopni+1+1rhopni -
Dx2Dtuni+1-uni; Fkiri1 = 0.51rhopni+1rhopni-1 -
Dx2Dtuni-uni-1; unp1i=uni-DtDxFkanan1 - Fkiri1;
end perbarui nilai batasnya
unp11=0; unp1Nx=0;
pnp11=1; pnp1Nx=0.1;
t=t+Dt; update waktu
figure1 subplot2,1,1
plotx,pnp1, LineWidth
,2 titlesprintf
tekanan pada saat t=4.3f ,t
xlim[-L L] ylim[0 2]
subplot2,1,2 plotx,unp1,
LineWidth ,2
titlesprintf kecepatan pada saat t=4.3f
,t xlim[-L L]
ylim[0 2] pause0.01
un=unp1 ; pn=pnp1 ;
end
7. Code untuk residual metode volume hingga Lax-Friedrichs pada