Sunteți pe pagina 1din 18

NAMA : Ratna Fitri

NIM : F1D317006
PRODI :Teknik Geofisika
1. % Model #1: upper shale - background sand

vp1=[3805;3600];
vs1=[2108;1897];
rho1=[2.43;2.34];
theta=[0:45];
pois1=makepr(vp1,vs1);
ao1=makero(vp1,rho1); %mencari nilai AI
R1=shuey(ao1,pois1,theta); %Mencari nilai KR

%Model #2: upper shale - gas saturated


vp2=[3805;3470];
vs2=[2108;1992];
rho2=[2.43;2.12];
theta=[0:45];
pois2=makepr(vp2,vs2);
ao2=makero(vp2,rho2); %mencari nilai AI
R2=shuey(ao2,pois2,theta); %Mencari nilai KR

%Model #3: bottom shale - oil saturated


vp3=[3932;3185];
vs3=[2210;1936];
rho3=[2.45;2.21];
theta=[0:45];
pois3=makepr(vp3,vs3);
ao3=makero(vp3,rho3); %mencari nilai AI
R3=shuey(ao3,pois3,theta); %Mencari nilai KR

%Plot all results on one figure


figure;
plot(theta,R1,'b',theta,R2,'r',theta,R3,'g');
xlabel('Sudut Datang'); ylabel('Koefisien Refleksi');
%Put legend in the lower left side of figure
legend('upper shale - background sand','upper shale - gas
saturated','bottom shale - oil saturated');
2. %This script creates synthetic seismogram. Traveltimes are calculated
%using raytracing and amplitudes are calculated using Zoeppritz's
%equation. AVA inversion is run on synthetics to get elastic
parameters
%(Poisson's ratio) using Shuey's (1985) approximation

clear all;clc

%model parameters for raytracing : velocity, thickness, and offset


v=[3.805 3.6 3.47 3.185 3.932]; %kecepatan (km/s)
z=[0.4 .6 .8 1 1.2]; %kedalaman (km)
h=diff(z);
D=[0.05:0.05:3];

%the following parameters are not required in raytracing , they're


%required to calculate reflectivity

rho=[2.43 2.34 2.12 2.21 2.45];


vs=[2.108 1.897 1.992 1.936 2.21]
pois=(vs.^2-0.5*v.^2)./(vs.^2-v.^2);

%number of traces and number of interfaces


ntrace=length(D);
nint=min([length(h) length(v)]);

%find ray parameters using MATLAB command : fzero disp('Calculating


ray parameters...');

for j=1:ntrace
offset=D(j);
for i=1:nint
hh=h(1:i);
vv=v(1:i);
er=0.0001;
x=min(1./vv)-er;
p(i,j)=fzero('fun_ray',[-er x],[],offset,hh,vv);
theta(i,j)=(asin(p(i,j)*vv(i)))*180/pi;

%calculate traveltime based on ray parameters


t(i,j)=2*sum(hh./(vv.*sqrt(1-p(i,j)^2*vv.^2)));
end
end

disp('Ray parameter calculation completed');


%plot traveltime

figure
hold on
for i=1:nint
plot(D,t(i,:));axis ij;
axis([min(D) max(D) 0 1.25*max(max(t))]);
title('Traveltime plot');
xlabel('Offset (km)');
ylabel('Time (s)');
end
hold off

%source and receiver depths


zsrc=z(:,1);zrec=zsrc;
figure; flipy;

%trace the rays, iterate over each layer


disp('Tracing rays...');
for k=1:length(z)
zd=z(:,k);
[t2,p2]=traceray_pp(v,z,zsrc,zrec,zd,D,10,-1,10,1,1,2);
end

title(['v(z) medium, P-P mode zsrc=' num2str(zsrc) 'zrec ='


num2str(zrec)])
axis([0 3 0 1.5])

line(D,zrec*ones(size(D)),'color','b','linestyle','none','marker','v')
line(0,zsrc,'color','r','linestyle','none','marker','*')
grid;xlabel('Offset(km)');
ylabel('Depth(km)');
disp('Ray tracing completed');
3. Metode beda hingga adalah metode numerik yang umum digunakan untuk menyelesaikan
persoalan teknis dan problem matematis dari suatu gejala fisis dengan mengganti turunan
yang ada pada persamaan differensial dengan diskritisasi beda hingga berdasarkan deret
Taylordan mempunyai perbedaan yang kecil dengan ruang dan waktu tinjauan.

Andai f dan semua turunannya f', f', 'f', '..., didalam selang [a,b]. Misalkan x o, ϵ [a,b],
maka nilai x disekitar xo dan x ϵ [a,b], f(x) dapat diekspansi kedalam deret taylor:
Jika x-xo = h, maka f(x) dapat dilihat pada persamaan sebagai berikut:

Beberapa macam skema differensi hingga akan dijelaskan sebagai berikut:

1. Skema Maju (Forward difference)

Untuk forward difference, kita ingin mencari nilai suatu fungsi jika independent
variablenya digeser ke depan (makanya namanya forward difference) sebesar ∆x.
Sederhananya, jika kita tahu f(x), maka berapakah f(x+∆x)? Ekspansi Taylor dituliskan sbb

Secara umum, symbol ∂f/∂x*∆x menunjukkan kemiringan (gradient) nilai fungsi f pada f(x)
jika x digeser sebesar ∆x. Sementara symbol ∂ 2f/∂x2 menunjukkan lengkungan (curvature)
dari titik f(x) tsb jika x digeser sebesar ∆x.

Oleh karena nilai setelah term pertama di atas tidak signifikan dibandingkan dgn term kedua,
maka bisa kita bilang klo:

Hubungan di atas menunjukkan kemiringan (gradient) dari fungsi tsb sebesar ∆x ke depan
(lbh besar dari x).

2. Skema mundur (Backward difference)

Pertanyaan yg sama jg kita berikan utk backward difference. Jika kita tahu f(x), maka
berapakah f(x-∆x)? Atau berapakah nilai fungsi tsb jika independent variablenya digeser ke
belakang sebesar ∆x. Ekspansi Taylor dituliskan sbb:
Hubungan
terakhir ini menunjukkan kemiringan (gradient) dari fungsi tsb sebesar ∆x ke belakang (lbh
kecil dari x).

3. Skema tengah (Central difference)

Jenis bedar ketiga adalah beda tengah, di mana kita akan mencari kemiringan dari fungsi
tsb dgn menggunakan perbedaan nilai fungsinya dari beda depan dan beda belakang. Secara
matematis, beda tengah adalah penjumlahan dari beda depan dan beda belakang.

4. Second order derivation

Setelah pendekatan orde satu bisa kita turunkan spt di atas, skrg kita bisa menurunkan
persamaan utk pendekatan orde dua. Penurunan di bawah ini saya mulai dari mengambil
persamaan orde satu dari beda depan (forward difference) yg mengandung penurunan orde
dua (second order differential). Fungsi ∂2f/∂x2 saya keluarkan, dan persamaan utk ∂f/∂x nya
saya ambil dari pendekatan beda belakang (backward difference).
Dengan adanya dua pendekatan (orde satu dan orde dua) ini, kita bisa bekerja dgn contoh
berikut:

Penyelesaian analitiknya adalah sbb:

Kondisi batas yg kita ketahui adalah sbb:

u pada r = 2 atau u(2) = 0.008

u(6.5) = 0.003

Yg ditanyakan adalah berapa nilai u di antara kedua nilai batas di atas.

Dengan metode beda hingga ini, kita akan membuat node2. Katakanlah kita buat 4 node.
Node yg pertama adalah saat u(2), dan node yg keempat adalah u(6.5). 4 node yg kita pilih
terdiri atas 3 rentang, yakni rentang node 1-2, rentang node 2-3, dan rentang node 3-4. Jarak
rentang tsb adalah (6.5-2)/3 = 1.5. Maka, node 2 adalah 2+1.5 = 3.5. Node 3 adalah 3.5+1.5
=5. Yg skrg ingin kita ketahui tentunya adalah nilai u pada saat r = 3.5 atau u(3.5) dan u(5).

Utk yg pertama ini, kita akan gunakan pendekatan beda maju utk orde satu. Dengan
memasukkan pendekatan yg udah kita turunkan ke persamaan diferensial di atas, kita dapat:
gn i = node.

Persamaan ini kita utak-atik utk mendapatkan penyelesaian utk u i, sehingga kita bisa
menyusun persamaan utk u2 dan u3. Sementara u1 dan u4 sudah kita ketahui sebagai kondisi
batas. Klo saya selesaikan di excel, akan didapat sbb:

4. % Forward Modeling of Self Potential (SP) Method

% Model Parameters and Variables:

% q= Shape factor (dimensionless)

% theta = The polarization angle between the axis of polarization

% and the horizontal (in degree)

% k= Electric current dipole moment (mV)

% z= Depth (unit)

% x= A discrete point along x-axis (unit)

% v= SP value (mV)

% theta = 30 degree

% Equation:

%v(xi,z,theta,q)=k.((xi.cos(theta)+z.sin(theta))/(((xi^2)+(z^2))^q))

clc,clear

%------------------------------------------

% Anomaly profile Sphere

q=1.5;

q_1=1.5;

theta_1=30;

k_1=-100;

z_11=2;

z_12=2.5;

z_13=3;
z_14=3.5;

z_15=4;

z_16=4.5;

z_17=5;

x_1=-12:12;

A_11=x_1.*cosd(theta_1);

B_11=z_11*sind(theta_1);

C_11=x_1.^2;

D_11=z_11^2;

a11=A_11+B_11;

b11=C_11+D_11;

c11=a11./(b11.^q_1);

v_11=k_1*c11;

A_12=x_1.*cosd(theta_1);

B_12=z_12*sind(theta_1);

C_12=x_1.^2;

D_12=z_12^2;

a12=A_12+B_12;

b12=C_12+D_12;

c12=a12./(b12.^q_1);

v_12=k_1*c12;
A_13=x_1.*cosd(theta_1);

B_13=z_13*sind(theta_1);

C_13=x_1.^2;

D_13=z_13^2;

a13=A_13+B_13;

b13=C_13+D_13;

c13=a13./(b13.^q_1);

v_13=k_1*c13;

A_14=x_1.*cosd(theta_1);

B_14=z_14*sind(theta_1);

C_14=x_1.^2;

D_14=z_14^2;

a14=A_14+B_14;

b14=C_14+D_14;

c14=a14./(b14.^q_1);

v_14=k_1*c14;

A_15=x_1.*cosd(theta_1);

B_15=z_15*sind(theta_1);

C_15=x_1.^2;

D_15=z_15^2;

a15=A_15+B_15;

b15=C_15+D_15;

c15=a15./(b15.^q_1);

v_15=k_1*c15;
A_16=x_1.*cosd(theta_1);

B_16=z_16*sind(theta_1);

C_16=x_1.^2;

D_16=z_16^2;

a16=A_16+B_16;

b16=C_16+D_16;

c16=a16./(b16.^q_1);

v_16=k_1*c16;

A_17=x_1.*cosd(theta_1);

B_17=z_17*sind(theta_1);

C_17=x_1.^2;

D_17=z_17^2;

a17=A_17+B_17;

b17=C_17+D_17;

c17=a17./(b17.^q_1);

v_17=k_1*c17;

%------------------------------------------

% Anomaly profile Horizontal cylinder (q=1)

q_2=1;

theta_1=30;

k_1=-100;
z_11=2;

z_12=2.5;

z_13=3;

z_14=3.5;

z_15=4;

z_16=4.5;

z_17=5;

x_1=-12:12;

A_21=x_1.*cosd(theta_1);

B_21=z_11*sind(theta_1);

C_21=x_1.^2;

D_21=z_11^2;

a21=A_21+B_21;

b21=C_21+D_21;

c21=a21./(b21.^q_2);

v_21=k_1*c21;

A_22=x_1.*cosd(theta_1);

B_22=z_12*sind(theta_1);

C_22=x_1.^2;

D_22=z_12^2;

a22=A_22+B_22;

b22=C_22+D_22;

c22=a12./(b22.^q_2);
v_22=k_1*c22;

A_23=x_1.*cosd(theta_1);

B_23=z_13*sind(theta_1);

C_23=x_1.^2;

D_23=z_13^2;

a23=A_23+B_23;

b23=C_23+D_23;

c23=a13./(b23.^q_2);

v_23=k_1*c23;

A_24=x_1.*cosd(theta_1);

B_24=z_14*sind(theta_1);

C_24=x_1.^2;

D_24=z_14^2;

a24=A_24+B_24;

b24=C_24+D_24;

c24=a24./(b24.^q_2);

v_24=k_1*c24;

A_25=x_1.*cosd(theta_1);

B_25=z_15*sind(theta_1);

C_25=x_1.^2;

D_25=z_15^2;

a25=A_25+B_25;

b25=C_25+D_25;

c25=a25./(b25.^q_2);
v_25=k_1*c25;

A_26=x_1.*cosd(theta_1);

B_26=z_16*sind(theta_1);

C_26=x_1.^2;

D_26=z_16^2;

a26=A_26+B_26;

b26=C_26+D_26;

c26=a26./(b26.^q_2);

v_26=k_1*c26;

A_27=x_1.*cosd(theta_1);

B_27=z_17*sind(theta_1);

C_27=x_1.^2;

D_27=z_17^2;

a27=A_27+B_27;

b27=C_27+D_27;

c27=a27./(b27.^q_2);

v_27=k_1*c27;

%------------------------------------------

% Anomaly profile Vertical cylinder (q=0.5)

q_3=0.5;
theta_1=30;

k_1=-100;

z_11=2;

z_12=2.5;

z_13=3;

z_14=3.5;

z_15=4;

z_16=4.5;

z_17=5;

x_1=-12:12;

A_31=x_1.*cosd(theta_1);

B_31=z_11*sind(theta_1);

C_31=x_1.^2;

D_31=z_11^2;

a31=A_31+B_31;

b31=C_31+D_31;

c31=a31./(b31.^q_3);

v_31=k_1*c31;

A_32=x_1.*cosd(theta_1);

B_32=z_12*sind(theta_1);

C_32=x_1.^2;

D_32=z_12^2;

a32=A_32+B_32;
b32=C_32+D_32;

c32=a32./(b32.^q_3);

v_32=k_1*c32;

A_33=x_1.*cosd(theta_1);

B_33=z_13*sind(theta_1);

C_33=x_1.^2;

D_33=z_13^2;

a33=A_33+B_33;

b33=C_33+D_33;

c33=a33./(b33.^q_3);

v_33=k_1*c33;

A_34=x_1.*cosd(theta_1);

B_34=z_14*sind(theta_1);

C_34=x_1.^2;

D_34=z_14^2;

a34=A_34+B_34;

b34=C_34+D_34;

c34=a34./(b34.^q_3);

v_34=k_1*c34;

A_35=x_1.*cosd(theta_1);

B_35=z_15*sind(theta_1);

C_35=x_1.^2;

D_35=z_15^2;

a35=A_35+B_35;
b35=C_35+D_35;

c35=a35./(b35.^q_3);

v_35=k_1*c35;

A_36=x_1.*cosd(theta_1);

B_36=z_16*sind(theta_1);

C_36=x_1.^2;

D_36=z_16^2;

a36=A_36+B_36;

b36=C_36+D_36;

c36=a36./(b36.^q_3);

v_36=k_1*c36;

A_37=x_1.*cosd(theta_1);

B_37=z_17*sind(theta_1);

C_37=x_1.^2;

D_37=z_17^2;

a37=A_37+B_37;

b37=C_37+D_37;

c37=a37./(b37.^q_3);

v_37=k_1*c37;

%------------------------------------------

% Plot Grafik Forward Modeling (Masing-masing Anomali)

plot(x_1,v_11,x_1,v_12,x_1,v_13,x_1,v_14,x_1,v_15,x_1,v_16,x_1,v_17)

grid on

xlabel('Distance(unit)')

ylabel('SP(mV)')

title('Forward Modeling (Sphere,theta=30°)')

%plot(x_1,v_21,x_1,v_22,x_1,v_23,x_1,v_24,x_1,v_25,x_1,v_ 26,x_1,v_27)

%grid on
%xlabel('Distance(unit)')

%ylabel('SP(mV)')

%title('Forward Modeling (Horizontal cylinder,theta=30°)')

%plot(x_1,v_31,x_1,v_32,x_1,v_33,x_1,v_34,x_1,v_35,x_1,v_ 36,x_1,v_37)

%grid on

%xlabel('Distance(unit)')

%ylabel('SP(mV)')

%title('Forward Modeling (Vertical cylinder,theta=30°)')

S-ar putea să vă placă și