Anda di halaman 1dari 8

Nama: Nadia Putri Luckytasari

NRP: 03411540000038

1. Script forward modelling gravity (anomaly faults)


Script matlab:
clc
clear all

%--- Parameter Model (rho)


rho = 1; % Perbedaan densitas (kg/m^3)

%--- Konstanta
z1 = 50; % Kedalaman plat dalam (m)
z2 = 150; % Kedalaman plat dangkal

x0 = 150; % Letak patahan (m)


x1 = 100;
x2 = 10;
x3 = 250;

t = 40; % Tebal patahan (m)


cGrav = 6.674e-11; % Konstanta Gravitasi (m^3 kg^-1 s^-2)
si2mg = 1e5; % 1 SI (ms^-2) = 1e5 mGal

%--- Lokasi Pengukuran


x = -500:15:500;

%%--- FORMULA FORWARD SPHERE


k = 2*cGrav*rho*t;
for i = 1:length(x)
dg(i) = k*(pi+(atan((x(i)-x0)/z1))-(atan((x(i)-
x0)/z2))+(atan((x(i)-x1)/z1))-(atan((x(i)-x1)/z2))+(atan((x(i)-x2)/z1))-
(atan((x(i)-x2)/z2))+(atan((x(i)-x3)/z1))-(atan((x(i)-x3)/z2))); %ms^2
end

%--- Forward modeling


dg = dg*si2mg; %1 SI = 1e5 mGal

%%--------- PLOT FORWARD ---------%%


figure(1)
subplot(2,1,1)
plot(x,dg,'.','color','r','MarkerSize',15);
xlim([min(x) max(x)]);
xlabel('\bf \fontsize{12}\fontname{Times}Position (m)');
ylabel('\bf \fontsize{12}\fontname{Times}\Delta g (mGal)');
title('\bf \fontsize{14}\fontname{Times}Modeling Gravity - Fault');

% Gambar patahan
subplot(2,1,2)
% Zona 1
left = x(1);
right = x1;
right_= x2;
top = -z2;
bottom= top-t;
xx = [left left right right_];
yy = [bottom top top bottom];
fill(xx,yy,'g');
hold on

% Zona 2
left_2 = x0;
left_2_ = x3;
right_2 = x(length(x));
top_2 = -z1;
bottom_2= top_2-t;
xx_2 = [left_2 left_2_ right_2 right_2];
yy_2 = [bottom_2 top_2 top_2 bottom_2];
fill(xx_2,yy_2,'g');
xlim([min(x) max(x)]);
title(['\bf \fontsize{12} \fontname{Times}Model => ','\rho = ', ...
num2str(rho),' kg/m^3 ; z_1 = ',num2str(z1),...
' m ; z_2 = ',num2str(z2),' m ; t = ',num2str(t),' m ; x_0 =
',...
num2str(x0),' m']);
xlabel('\bf \fontsize{12}\fontname{Times}Position (m) ' );
ylabel('\bf \fontsize{12}\fontname{Times}Depth (m) ');
xlim([min(x) max(x)]);
axis equal;

Hasil running:
Pada saat nilai kemiringan patahan ditambah, maka bentuk forward modelling menjadi:

Apabila nilai sudut diperbesar, kurva forward modelling akan semakin membentuk patahan
yang hampir tegak, mengikuti nilai sudutnya.

2. Sript gravity dengan eror kurang lebih 0.25 dan penentuan jenis inversinya

Script matlab:
% script inversi gravity
clc;
clear all;
close all;
%definisi konstanta gravity dan parameternya
kons_G=6.67*10^(-11); % nilai G = 6.67*10^-11
R=100; %jarak R yang diketahui
rho_model=50;%menentukan posisi PUSAT model
x0= 300; % posisi x awal sebesar 500
z0= 250; % posisi depth yang diketahui sebesar 250
xlin = 0:50:950;
zlin= zeros(length(xlin),1); %posisi lintang yang diketahui

%perhitungan Data nilai g_obs(rumus dasar dari script ini)


g_obs=zeros(length(xlin),1);
for i=1:length(xlin); % data pertama sampai data lintang berikutnya,
dengan variasi konstanta 1
g_obs(i)=kons_G*(4/3*pi*(R^3)*z0*rho_model*10^5 / ...
((xlin(i)-x0)^2+(zlin(i)-z0)^2)^(3/2)); %satuan dalam mGal
end

%Plot data observasi awal dan juga model bawah yang digunakan
subplot(2,2,1);
plot(xlin,g_obs,'or','MarkerFaceColor','r');
xlabel('Jarak (m)');
ylabel('Gravity Anomaly (mgal)');
title('Observasi awal anomali gravity');
subplot(2,2,3);

%script penge-Plotkan g observasi lebih lanjut...


d= R*2;
px= x0-R;
py=z0-R;
rectangle('Position',[px py d d],'Curvature',[1,1],'FaceColor','r');
daspect([1,1,1]);
ylim([0,500]);
xlim([0,1000]);
set(gca,'ydir','reverse');
xlabel('jarak (m)');
ylabel('kedalaman (m)');
title('Model Bawah Permukaan');
% Processing data gravity untuk Prediksi Model awal
iterasi=1;
eps=0.25;
while eps >= 0.0025
if iterasi==1
x0_model=100;
z0_model=100;
else
x0_model=x0_pertu;
z0_model=z0_pertu;
end
%menghitung data g_calculation
g_cal=zeros(length(xlin),1);
for i=1:length(xlin)
g_cal(i)=kons_G*(4/3*pi*(R^3)*z0_model*rho_model)*10^5 /...
((xlin(i)- x0_model)^2+(zlin(i)-z0_model)^2)^(3/2); %sudah
dalam mgal
end
%menghitung MISFIT
dg_misfit = g_obs - g_cal;
eps=std(abs(dg_misfit));
e_plot(iterasi)=eps;
%membuat kondisi IF untuk inversi jacobi
if (std(abs(dg_misfit))) >=0.00001;
%membuat matriks JACOBI
for i=1:length(xlin)
derivative_x(i)=kons_G*(4/3*pi*(R^3)*rho_model)*...
(3*z0_model*(xlin(i)-x0_model))*10^5/...
((xlin(i)-x0_model)^2+(zlin(i)-z0_model)^2)^(5/2); %sudah
dalam mGal
derivative_z(i)=kons_G*(4/3*pi*(R^3)*rho_model)*...
(zlin(i)^2 + zlin(i)*z0_model + xlin(i)^2 -
2*xlin(i)*x0_model...
- 2*z0_model^2 + x0_model^2)*10^5 / ...
((xlin(i)-x0_model)^2+(zlin(i)-z0_model)^2)^(5/2); %sudah dalam
mGal
end
J=ones(length(xlin),2);
J(:,1)=derivative_x';
J(:,2)=derivative_z';
%menghitung PERTURBASI MODEL
dm_perturbasi= inv(J'*J)*J'*dg_misfit;
x0_pertu=x0_model + dm_perturbasi(1);
z0_pertu=z0_model + dm_perturbasi(2);
%Plot model prediksi bawah permukaan ter-perturbasi
subplot(2,2,4);
d = R*2;
px = x0_pertu-R;
py = z0_pertu-R;
rectangle('Position',[px py d
d],'Curvature',[1,1],'EdgeColor','b');
daspect([1,1,1]);
ylim([0,500]);
xlim([0,1000]);
set(gca,'ydir','reverse');
xlabel('Jarak (m)');
ylabel('Kedalaman (m)');
title('Model Prediksi')
iterasi=iterasi+1;
end
end
%PLOT data kalkulasi dan std dari misfit
subplot(2,2,2);
plot(xlin,g_cal,'o','MarkerFaceColor','b')
hold on
plot (xlin,g_obs,'-r');
xlabel('jarak (m)');
ylabel('"Gravity Anomaly (mGal)');
title('Grafik g kalkulasi (ForMod)');
legend ('g obs','g cal')

figure(2);
plot([1:1:(length(e_plot))],e_plot,'Color','m','LineStyle','-
','LineWidth',2);
xlabel('Iterasi');
ylabel('Std Misfit');
title('Grafik Misfit');

Script divariasikan pada nilai R (jari-jari /jarak dari permukaan ke pusat anomali) sebesar 100,
densitas model sebesar 50, lokasi anomali pada kedalaman 250 dan pada posisi x = 300. Pada script
diberikan nilai eror lebih 0,25 agar memberikan variasi pada hasil yang didapatkan. Sehingga
menghasilkan grafik sebagai berikut
Jika nilai eror atau noise yang diberikan berikisar 0,25 (secara acak) di g_obs, dengan
memasukkan script sebagai berikut:

maka didapatkan hasil kurva sebagai berikut:


Dari script yang ada, ditentukan bahwa script tersebut adalah inversi under-determined. Inversi
under-determined adalah ketika jumlah data lebih kecil dibandingkan dengan jumlah parameter
model sehingga secara teoritis permasalaan bersifat kurang kendala. Menurut Hendra Grandis (2009),
solusi untuk inversi under-determined (N<M) dapat dituliskan sebagai berikut:

Dalam script matriks kernel diisi dengan matriks jacobi

“dm_perturbasi= inv(J'*J)*J'*dg_misfit”

Pada buku yang ditulis oleh Hendra Grandis, dikatakan bahwa data penguuran gravitasi hanya
terletak pada permukaan di sepanjang lintasan yang memotong anomali. Hal ini menyebabkan jumlah
data secara umum lebih sedikit dari jumlah parameter model yang dicari. Maka dari itu disimpulkan
bahwa script inversi gravity ini memiliki konsep inversi under-determined.

Anda mungkin juga menyukai