Anda di halaman 1dari 29

Forward Modeling

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

Tujuan dilakukannya forward modeling


pada seismic reflection ray tomography
adalah untuk mengestimasi nilai dari
waktu tempuh suatu data seismik
menggunakan metode penelusuran
jejak sinar (ray tracing). Forward
modelling dapat mencari waktu tempuh
dari raypath yang minimum.
Metodologi
Script MATLAB
clear; clc
for z=1:12
lap=[1:12];
nolayers=lap(z);
norays=15;
vel=[1400,1000.1,1200.9,1500,1300.5,1900,1600.7,1900,1400,1500,1600.4,1800.1];
%kecepatan setiap lapisan
dz=[4200.9,3000.4,4600.4,3700.9,4300.8,5400.3,5300.9,5200.8,5400.2,5900.5,5800.8,5800.3];
%ketebalan setiap
lapisan

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!

Anda mungkin juga menyukai