Ray Tomography
Kelompok 06 - Geotomografi A
Kelompok 06
01 02
Nisya Aviani Reno Fadila R
03411840000009 03411840000046
03 04
Kevin Munthe Afiyah Khaulah
03411840000053 03411840000054
Table of contents
01 02
Forward Modeling Seismic Forward Modeling
Ray Tomography : Series Seismic Anisotropy Ray Tomography :
Expansion Methods Series Expansion Methods
● Tujuan ● Tujuan
● Metodologi ● Metodologi
● Script MATLAB ● Script MATLAB
● Hasil dan Pembahasan ● Hasil dan Pembahasan
01
Forward Modeling
Seismic Ray Tomography :
Series Expansion Methods
Tujuan
for i=1:norays
theta(i)=i*2; %sudut tembak sinar
end
for k=1:norays
for i=1:nolayers-1
theta(i+1,k)=(180/pi) * asin(sin(theta(i,k).*pi/180).*(vel(i+1)./vel(i))); %menghitung
perubahan sudut sinar di setiap lapisan dengan menggunakan hukum snelius
end
end
Script MATLAB
for k=1:norays
p(k)=sin(theta(1,k).*pi/180)./vel(1); %menghitung ray parameter
end
for k=1:norays
for i=1:nolayers
dx(i,k)=(p(k)*vel(i).*dz(i))/sqrt(1-p(k)*p(k).*vel(i).*vel(i)); %menghitung
jarak lateral di setiap lapisan
dt(i,k)=dz(i)/(vel(i).*sqrt(1-p(k)*p(k).*vel(i).*vel(i))); %menghitung waktu
tempuh di setiap lapisan
end
end
for k=1:norays
twt(k)=2*sum(dt(:,k)); %menghitung twt untuk masing-masing sinar
end
Script MATLAB
%memanipulasi offset %memanipulasi kedalaman
dx_down=dx; dz=dz(1:nolayers);
dx_up=flipud(dx_down); dz(1)=dz(1);
dx=[dx_down;dx_up]; for i=2:nolayers,
dx(1,1)=dx(1,1); dz(i)=dz(i-1)+dz(i);
for k=1:norays end
for i=2:nolayers*2, dz_down=dz';
dx(i,k)=dx(i-1,k)+dx(i,k); dz_up=flipud(dz_down);
end dz_up=dz_up(2:nolayers);
end dz=[0;dz_down;dz_up;0];
nol=[1:norays]*0; offset=dx(nolayers*2+1,:);
dx=[nol;dx];
a=size(dx);
Script MATLAB dx=reshape(dx,a(1,1)*a(1,2),1);
x = [0 max(dx)];
for i=1:nolayers
% plot hasil y = [dz(i) dz(i)];
for k=1:norays plot(x,y,'r'); hold on
subplot(1,2,1) end
plot(dx(:,k),dz); hold on axis([0 max(dx) 0 max(dz)]);
end
xlabel('offset(m)') subplot(1,2,2)
ylabel('depth(m)') plot(offset,twt,'linewidth',3); grid on;
title('Jejak Sinar') hold on
state=set(gca,'ydir'); xlabel('offset(m)')
if (strcmp(state,'reverse')) ylabel('twt(s)')
set(gca,'ydir','reverse') title('Kurva Waktu Tempuh')
else state=set(gca,'ydir');
set(gca,'ydir','reverse') if (strcmp(state,'reverse'))
end set(gca,'ydir','reverse')
else
set(gca,'ydir','reverse')
end
clear
end
Hasil & Pembahasan
02
Forward Modeling
Seismic Anistropy Ray Tomography :
Series Expansion Methods
Tujuan
Model forward modelling seismic
anisotropy ray tomography digunakan
dalam pengukuran kompleks pada
pengolahan data seismik.
Metodologi
Script MATLAB (Vp)
clear all
close all hidden
clc
for z=1:7
%parameter awal (lapisan, velocity, ketebalan lapisan)
lap=[1:7];
nolayers=lap(z);
norays=5;
vel=[2500,2750,3000,3250,3500,3750,4000];
dz=[100,200,300,400,450,500,550];
for i=1:norays
theta(i)=i*4 %sudut inisial
end
%Parameter anisotropi (eta, delta)
eps_para =[0,0,0,0,0.070,0.080,0.090];
delta_para = [0,0,0,0,0.150,0.160,0.170];
for k=1:norays
for i =1:nolayers-1
if i<4
theta(i+1, k)=(180/pi) * asin(sind(theta(i,k)).*(vel(i+1)./vel(i)));
end
if i>=4
theta(i+1, k)=(180/pi) *
atan(tand(theta(i,k)).*(1+2*(delta_para(i+1))+4*(eps_para(i+1)-delta_para(i+1)).*(sind(theta(i,k)))^2))
end
end
end
if i==6
Script MATLAB
coef2 =
[p0(k)*vel(i)*(eps_para(i)-delta_para(i)) 0
p0(k)*vel(i)*delta_para(i) -1 p0(k)*vel(i)];
for k=1:norays phip2 = roots(coef2);
p0(k)=sind(theta(1,k))./vel(1); phip2 = asind(phip2(4));
end dt(i,k)=dz(i)/(cosd(phip2)*vel(i)*(i+delta_pa
for k=1:norays ra(i)*(sind(theta(i)^2))*((cosd(theta(i)))^2)
for i=1:nolayers +eps_para(i)*((sind(theta(i))^4))));
if i<=4 end
dx(i,k)=(p0(k)*vel(i).*dz(i))/sqrt(1-p0(k)*p0 if i==7
(k).*vel(i).*vel(i)); coef3 =
end [p0(k)*vel(i)*(eps_para(i)-delta_para(i)) 0
if i>4 p0(k)*vel(i)*delta_para(i) -1 p0(k)*vel(i)];
dx(i,k)=dz(i)*tand(theta(i)) phip3 = roots(coef3);
end phip3 = asind(phip3(4));
if i<=4 dt(i,k)=dz(i)/(cosd(phip3)*vel(i)*(i+delta_pa
dt(i,k)=dz(i)/(vel(i).*sqrt(1-p0(k)*p0(k).*ve ra(i)*(sind(theta(i)^2))*((cosd(theta(i)))^2)
l(i).*vel(i))); +eps_para(i)*((sind(theta(i))^4))));
end end
if i==5 for k=1:norays
coef1 = TWT(k)=2*sum(dt(:,k))
[p0(k)*vel(i)*(eps_para(i)-delta_para(i)) 0 end
p0(k)*vel(i)*delta_para(i) -1 p0(k)*vel(i)]; dx_down=dx;
phip1 = roots(coef1); dx_up=flipud(dx_down);
phip1 = asind(phip1(4)); dx=[dx_down;dx_up];
dt(i,k)=dz(i)/(cosd(phip1)*vel(i)*(i+delta_pa dx(1,1)=dx(1,1);
ra(i)*(sind(theta(i)^2))*((cosd(theta(i)))^2) for k=1:norays
+eps_para(i)*((sind(theta(i))^4)))); for i=2:nolayers*2,
end dx(i,k)=dx(i-1,k)+dx(i,k);
end
Script MATLAB
end
a=size(dx);
nol=[1:norays]*0;
dx=reshape(dx,a(1,1)*a(1,2),1);
dx=[nol;dx];
x = [0 max(dx)];
dz=dz(1:nolayers);
for i=1:nolayers
dz(1)=dz(1);
y = [dz(i) dz(i)];
for i=2:nolayers
plot(x,y,'r'); hold on
dz(i)=dz(i-1)+dz(i);
end
end
axis([0 max(dx) 0 max(dz)]);
dz_down=dz';
subplot(1,2,2)
dz_up=flipud(dz_down);
plot(offset,TWT,'linewidth',3); grid on; hold
dz_up=dz_up(2:nolayers);
on
dz=[0;dz_down;dz_up;0];
ylim ([0 0.5])
offset=dx(nolayers*2+1,:);
xlabel('offset(m)')
figure(2)
ylabel('twt(s)')
for k=1:norays
title('Kurva Two-Way-Time')
subplot(1,2,1)
state=set(gca,'ydir');
plot(dx(:,k),dz); hold on
if (strcmp(state,'reverse'))
end
set(gca,'ydir','reverse')
xlabel('offset(m)')
else
ylabel('depth(m)')
set(gca,'ydir','reverse')
title('Ray Tracing')
end
state=set(gca,'ydir');
clear
if (strcmp(state,'reverse'))
end
set(gca,'ydir','reverse')
else
set(gca,'ydir','reverse')
end
Script MATLAB (Vsv)
clear all
close all hidden
clc
for h=1:7
layers=[1:7];
numblayers=layers(h);
numbrays=5;
velocity=[2500,2750,3000,3250,3500,3750,4000];
beta = [200,500,1100,1900,1801,1704,1603];
dh=[100,150,200,250,200,150,240];
gamma = [0,0,0,0,0.105,0.250,0.046];
for i=1:numbrays
theta(i)=i*4
end
eps_para =[0,0,0,0,0.070,0.080,0.090];
delta_para = [0,0,0,0,0.150,0.160,0.170];
for k=1:numbrays
for i =1:numblayers-1
if i<4
theta(i+1, k)=(180/pi) * asin(sind(theta(i,k)).*(velocity(i+1)./velocity(i)));
end
if i>=4
theta(i+1, k)=(180/pi) * atan(tand(theta(i,k)).*(1+(2*gamma(i))));
end
end
end
Script MATLAB
for k=1:numbrays
p0(k)=sind(theta(1,k))./velocity(1);
end
for k=1:numbrays
for i=1:numblayers
if i<=4
dx(i,k)=(p0(k)*velocity(i).*dh(i))/sqrt(1-p0(k)*p0(k).*velocity(i).*velocity(i));
end
if i>4
dx(i,k)=dh(i)*tand(theta(i))
end
if i<=4
dt(i,k)=dh(i)/(velocity(i).*sqrt(1-p0(k)*p0(k).*velocity(i).*velocity(i)));
end
if i==5
coef1 = [p0(k)*velocity(i)*(eps_para(i)-delta_para(i)) 0 p0(k)*velocity(i)*delta_para(i) -1 p0(k)*velocity(i)];
phip1 = roots(coef1);
phip1 = asind(phip1(4)); %mengambil hasil polynomial 4 karena ketika dicoba lihat di workspcae tidak ada imajiner nya
dt(i,k)=dh(i)/(cosd(phip1)*beta(i)*(1+(gamma(i)*(sind(theta(i)^2)))));
end
if i==6
dt(i,k)=dh(i)/(cos(asin(sin(theta(i))/velocity(1)))*velocity(i))
end
if i==7
coef3 = [p0(k)*velocity(i)*(eps_para(i)-delta_para(i)) 0 p0(k)*velocity(i)*delta_para(i) -1 p0(k)*velocity(i)];
phip3 = roots(coef3);
phip3 = asind(phip3(4));
dt(i,k)=dh(i)/(cosd(phip1)*beta(i)*(1+(gamma(i)*(sind(theta(i)^2)))));
end
end
end
Script MATLAB
for k=1:numbrays figure(2) axis([0 max(dx) 0 max(dh)]);
TWT(k)=2*sum(dt(:,k)) for k=1:numbrays subplot(1,2,2)
end subplot(1,2,1) plot(offset,TWT,'linewidth',3); grid on; hold on
dx_down=dx; plot(dx(:,k),dh); hold on ylim ([0 0.5])
dx_up=flipud(dx_down); end xlabel('offset(m)')
dx=[dx_down;dx_up]; xlabel('offset(m)') ylabel('twt(s)')
dx(1,1)=dx(1,1); ylabel('depth(m)') title('Kurva Two-Way-Time')
for k=1:numbrays title('Ray Tracing') state=set(gca,'ydir');
for i=2:numblayers*2, state=set(gca,'ydir'); if (strcmp(state,'reverse'))
dx(i,k)=dx(i-1,k)+dx(i,k); if (strcmp(state,'reverse')) set(gca,'ydir','reverse')
end set(gca,'ydir','reverse') else
end else set(gca,'ydir','reverse')
nol=[1:numbrays]*0; set(gca,'ydir','reverse') end
dx=[nol;dx]; end clear
dh=dh(1:numblayers); a=size(dx); end
dh(1)=dh(1); dx=reshape(dx,a(1,1)*a(1,2),1);
for i=2:numblayers x = [0 max(dx)];
dh(i)=dh(i-1)+dh(i); for i=1:numblayers
end y = [dh(i) dh(i)];
dz_down=dh'; plot(x,y,'r'); hold on
dz_up=flipud(dz_down); end
dz_up=dz_up(2:numblayers);
dh=[0;dz_down;dz_up;0];
offset=dx(numblayers*2+1,:);
Script MATLAB (Vsh)
clear all
close all hidden
clc
for h=1:7
layers=[1:7];
numblayers=layers(h);
numbrays=5;
velocity=[2500,2750,3000,3250,3500,3750,4000];
beta = [200,500,1100,1900,1801,1604,1703];
dh=[100,150,200,250,200,150,240];
for i=1:numbrays
theta(i)=i*4
end
eps_para =[0,0,0,0,0.070,0.080,0.090];
delta_para = [0,0,0,0,0.150,0.160,0.170];
for k=1:numbrays
for i =1:numblayers-1
if i<4
theta(i+1, k)=(180/pi) * asin(sind(theta(i,k)).*(velocity(i+1)./velocity(i)));
end
if i>=4
theta(i+1, k)=(180/pi) *
atan(tand(theta(i,k)).*(1+2*((velocity(i+1)/beta(i+1)).^2).*(eps_para(i+1)-delta_para(i+1)
).*(1-2*sind(theta(i,k)))^2))
end
end
end
for k=1:numbrays
p0(k)=sind(theta(1,k))./velocity(1);
end
Script MATLAB
for k=1:numbrays
for i=1:numblayers
if i<=4 dx(i,k)=(p0(k)*velocity(i).*dh(i))/sqrt(1-p0(k)*p0(k).*velocity(i).*velocity(i));
end
if i>4
dx(i,k)=dh(i)*tand(theta(i))
end
if i<=4 dt(i,k)=dh(i)/(velocity(i).*sqrt(1-p0(k)*p0(k).*velocity(i).*velocity(i)));
end
if i==5
coef1 = [p0(k)*velocity(i)*(eps_para(i)-delta_para(i)) 0 p0(k)*velocity(i)*delta_para(i) -1 p0(k)*velocity(i)];
phip1 = roots(coef1);
phip1 = asind(phip1(4)); %mengambil hasil polynomial 4 karena ketika dicoba lihat di workspcae tidak ada imajiner nya
dt(i,k)=
dh(i)/(cosd(phip1)*beta(i)*(1+(velocity(i)^2)/(beta(i)^2)*(eps_para(i)-delta_para(i)*(sind(theta(i)^2))*((cosd(theta(i)))^2))))
;
end
if i==6
dt(i,k)=dh(i)/(cos(asin(sin(theta(i))/velocity(1)))*velocity(i))
end
if i==7
coef3 = [p0(k)*velocity(i)*(eps_para(i)-delta_para(i)) 0 p0(k)*velocity(i)*delta_para(i) -1 p0(k)*velocity(i)];
phip3 = roots(coef3);
phip3 = asind(phip3(4));
dt(i,k)=
dh(i)/(cosd(phip3)*beta(i)*(1+(velocity(i)^2)/(beta(i)^2)*(eps_para(i)-delta_para(i)*(sind(theta(i)^2))*((cosd(theta(i)))^2))))
;
end
end
end
Script MATLAB
for k=1:numbrays figure(2) axis([0 max(dx) 0 max(dh)]);
TWT(k)=2*sum(dt(:,k)) for k=1:numbrays subplot(1,2,2)
end subplot(1,2,1) plot(offset,TWT,'linewidth',3); grid on; hold on
dx_down=dx; plot(dx(:,k),dh); hold on ylim ([0 0.5])
dx_up=flipud(dx_down); end xlabel('offset(m)')
dx=[dx_down;dx_up]; xlabel('offset(m)') ylabel('twt(s)')
dx(1,1)=dx(1,1); ylabel('depth(m)') title('Kurva Two-Way-Time')
for k=1:numbrays title('Ray Tracing') state=set(gca,'ydir');
for i=2:numblayers*2, state=set(gca,'ydir'); if (strcmp(state,'reverse'))
dx(i,k)=dx(i-1,k)+dx(i,k); if (strcmp(state,'reverse')) set(gca,'ydir','reverse')
end set(gca,'ydir','reverse') else
end else set(gca,'ydir','reverse')
nol=[1:numbrays]*0; set(gca,'ydir','reverse') end
dx=[nol;dx]; end clear
dh=dh(1:numblayers); a=size(dx); end
dh(1)=dh(1); dx=reshape(dx,a(1,1)*a(1,2),1);
for i=2:numblayers x = [0 max(dx)];
dh(i)=dh(i-1)+dh(i); for i=1:numblayers
end y = [dh(i) dh(i)];
dz_down=dh'; plot(x,y,'r'); hold on
dz_up=flipud(dz_down); end
dz_up=dz_up(2:numblayers);
dh=[0;dz_down;dz_up;0];
offset=dx(numblayers*2+1,:);
Hasil & Pembahasan (Vp)
Hasil & Pembahasan (Vsv)
Hasil & Pembahasan (Vsh)
03
Kesimpulan
Kesimpulan
● Hasil perhitungan travel time dalam forward modelling memakai
metode series expansion yang dipengaruhi oleh kecepatan,
ketebalan, dan ray parameter yang dimasukan kedalam script
matlab.
● Semakin besar nilai two-way traveltime maka semakin jauh offset yg
dicapai, begitu juga sebaliknya.
● Pada forward modelling, kecepatan rendah menghasilkan
gelombang kontinu dan memiliki jarak yang relatif rapat. Hal ini
disebabkan oleh waktu tempuh yang relatif lebih lama pada media
tersebut, begitu juga sebaliknya.
● Media anisotropi dapat dikenali dari perbandingan travel time
kedatangan pertama dari jalur sinar vertikal dan horizontal.
Terima
Kasih!