Anda di halaman 1dari 13

LAPORAN SEMENTARA

INVERSI GEOFISIKA TG 3004

MODUL KE – 5
INVERSI NON LINEAR

Oleh:
Muhamad Arif Samsudin 120120158

Asisten :
Alifah Iftinan 119120042
Andika Bonardo Sipahutar 119120122
Bernard Cavin Ronlei 119120087
Kiki Harfianza 119120111
Mu'amar Hafiz 119120084
Nisa Nur Azizah 119120027

PROGRAM STUDI TEKNIK GEOFISIKA


JURUSAN TEKNOLOGI PRODUKSI DAN INDUSTRI
INSTITUT TEKNOLOGI SUMATERA
2022/2023
I. HASIL DAN PEMBAHAN
➢ Problem 1 : Penentuan lokasi hiposenter gempa dengan inversi non
linear Grid Search
1.1 Variasi L:0.1 dan P:10.

Gambar 1.1.1 Metode Grid Search L:0.1 dan P:10

Gambar 1.1.2 Kurva Erms vs Iterasi Metode Grid Search L:0.1 dan P:10
1.2 Variasi L:1 dan P:10.

Gambar 1.2.1 Metode Grid Search L:1 dan P:10

Gambar 1.2.2 Kurva Erms vs Iterasi Metode Grid Search L:1 dan P:10
1.3 Variasi L:3 dan P:10.

Gambar 1.3.1 Metode Grid Search L:3 dan P:10

Gambar 1.3.2 Kurva Erms vs Iterasi Metode Grid Search L:3 dan P:10
1.4 Variasi L:1 dan P:20.

Gambar 1.4.1 Metode Grid Search L:1 dan P:20

Gambar 1.4.2 Kurva Erms vs Iterasi Metode Grid Search L:1 dan P:20
1.5 Variasi L:1 dan P:30.

Gambar 1.5.1 Metode Grid Search L:1 dan P:30

Gambar 1.5.2 Kurva Erms vs Iterasi Metode Grid Search L:1 dan P:30
➢ Problem 2 : Penentuan lokasi hiposenter gempa dengan inversi non
linear Monte Carlo
2.1 Variasi nilai N:100

Gambar 2.1.1 Metode Monte Carlo N:100

Gambar 2.1.2 Kurva Erms vs Iterasi Metode Monte Carlo N:100


2.2 Variasi nilai N:150

Gambar 2.2.1 Metode Monte Carlo N:150

Gambar 2.2.2 Kurva Erms vs Iterasi Metode Monte Carlo N:150


2.3 Variasi nilai N:200

Gambar 2.3.1 Metode Monte Carlo N:200

Gambar 2.3.2 Kurva Erms vs Iterasi Metode Monte Carlo N:200


II. PEMBAHASAN
Metode Grid Search melibatkan pembentukan suatu grid atau kisi-kisi pada area di sekitar
episenter gempa yang mungkin, kemudian mencoba setiap kombinasi grid untuk menentukan
kombinasi yang terbaik sesuai dengan data yang ada. Kisi-kisi tersebut biasanya dibentuk dengan
mempertimbangkan kerapatan stasiun seismik dan jarak relatif antara stasiun seismik tersebut
dengan pusat gempa. Proses inversi non-linear Grid Search dilakukan dengan cara mencari
kombinasi parameter yang dapat menghasilkan model gempa yang paling sesuai dengan data
pengamatan. Setiap kali iterasi dilakukan, model gempa dihasilkan dan dibandingkan dengan data
pengamatan. Jika model tidak cocok dengan data, maka kombinasi parameter akan diperbarui dan
proses iterasi akan diulang kembali sampai solusi terbaik ditemukan.

Variasi nilai L dan P dapat mempengaruhi hasil dari Grid Search. Nilai L menentukan lebar grid
pada ruang model. Semakin kecil nilai L, semakin detail grid yang dihasilkan, sehingga dapat
meningkatkan akurasi dalam menemukan solusi hiposenter yang tepat. Namun, semakin kecil nilai
L, semakin banyak pula iterasi yang diperlukan sehingga waktu komputasi dapat meningkat.
Sementara itu, nilai P menentukan batas kesalahan toleransi atau batas RMS error pada setiap
iterasi. Semakin kecil nilai P, semakin ketat toleransi kesalahan yang diperbolehkan, sehingga
solusi hiposenter yang dihasilkan akan semakin akurat. Namun, semakin kecil nilai P, semakin
sedikit solusi hiposenter yang terpilih dan semakin banyak iterasi yang diperlukan untuk mencapai
solusi hiposenter yang tepat.

Metode Monte Carlo merupakan salah satu teknik inversi non-linear untuk menentukan
lokasi hiposenter gempa. Pada metode ini, titik hiposenter akan ditemukan dengan membangkitkan
titik secara acak pada ruang model dan memperbarui titik tersebut berdasarkan nilai residual yang
dihasilkan dari perbandingan waktu tiba gelombang gempa yang diamati dengan waktu tiba
gelombang gempa yang dihitung dengan memasukkan parameter-parameter model yang
dihasilkan. Dalam kode tersebut, parameter N digunakan untuk menentukan lebar grid ruang model
dengan menghasilkan N titik dalam rentang koordinat X dan Y. Ketika nilai N dinaikkan, akan
dihasilkan lebih banyak titik dalam ruang model, sehingga resolusi model akan meningkat. Hal ini
dapat meningkatkan akurasi dalam menentukan lokasi hiposenter gempa. Namun, peningkatan
nilai N juga akan meningkatkan waktu komputasi yang dibutuhkan untuk menghitung posisi
hiposenter gempa, karena program harus menghitung jarak antara setiap titik dalam ruang model
dengan setiap stasiun pengamatan. Oleh karena itu, pemilihan nilai N harus menjadi pertimbangan
antara akurasi dan kecepatan komputasi yang diinginkan.
Lampiran
Script 1 Metode Grid Search
#Muhamad Arif Samsudin
#Modul05_Problem01
#Grid Search
import numpy as np
import matplotlib.pyplot as plt
from numpy.linalg import inv
Vavg = 4
tobs = [7.1,1.8,5.0,7.9]
#Menentukan Jumlah Stasiun
tobs = np.reshape(tobs,(len(tobs),1))
Xsts = [20,50,40,10]
Ysts = [10,25,50,40]
#Definisikan ruang model
L = 1 #lebar grid
X0 = np.arange(0,50,L)
Y0 = np.arange(0,50,L)
P = 30
Erms = []
HypoX = []
HypoY = []
for i in range(len(Y0)):
for j in range(len(X0)):
# tcal = []
Dt = []
for k in range(len(Xsts)):
tcal=(np.sqrt((X0[j]-Xsts[k])**2+(Y0[i]-Ysts[k])**2)/Vavg)
Dt.append((tobs[k]-tcal)**2)
misfit = np.sqrt(np.mean(Dt))
if misfit < P:
HypoX.append(X0[j])
HypoY.append(Y0[i])
Erms.append(misfit)
P = misfit
else : pass
print('Dt', Dt)
Hypo = np.array([HypoX,HypoY])
print(Hypo)
plt.figure()
Xgrid, Ygrid = np.meshgrid(X0, Y0)
plt.scatter(Xgrid.ravel(), Ygrid.ravel(), s=0.5)
plt.plot(HypoX,HypoY, '-r')
plt.plot(HypoX [0],HypoY [0],'*c', label='awal')
plt.plot(HypoX[len(HypoX)-1], HypoY[len(HypoY)-1], '*y',label='akhir')
plt.plot(Xsts,Ysts,'v',label='stasiun')
plt.xlabel('x')
plt.xlabel('y')
plt.legend()
plt.show()
plt.figure()
plt.plot(Erms)
plt.title('Kurva Erms vs Iterasi (120120158)')
plt.xlabel('Jumlah Iterasi')
plt.ylabel('RMS Error')
plt.show()
plt.figure()

Script 2 Metode Monte Carlo


#Muhamad Arif Samsudin
#Modul05_Problem02
#METODE MONTE CARLO
import numpy as np
import matplotlib.pyplot as plt
from numpy.linalg import inv

#Menentukan Kecepatan dan Waktu Observasi


Vavg = 4
tobs = [7.1,1.8,5.0,7.9]

#Menentukan Jumlah Stasiun


tobs = np.reshape(tobs,(len(tobs),1))
Xsts = [20,50,40,10]
Ysts = [10,25,50,40]

#Definisikan Ruang Model


N = 200 #Lebar Grid
X0 =np.random.uniform(low = 0, high = 50, size=[N, 1])
Y0 =np.random.uniform(low = 0, high = 50, size=[N, 1])

#Tebakan Awal
x0 = 0
y0 = 0
dt = []
for i in range (len(Xsts)):
for k in range (len(Ysts)):
tc1 = (np.sqrt((Ysts[i] - y0) **2 + (Xsts[i]-x0)**2)/Vavg)
dt.append((tobs[k]- tc1)**2)

P = np.sqrt(np.mean(dt))

HypoX = []
HypoY = []
Erms = []
for i in range (len(Y0)):
for j in range(len(X0)) :
# tcal = []
Dt = []
Tcal = []
for k in range(len(Xsts)):
tcal =(np.sqrt((X0[j] - Xsts[k]) ** 2 + (Y0[i] - Ysts[k]) ** 2)/Vavg)
Tcal.append(tcal)
Dt.append((tobs[k]-tcal)**2)

misfit = np.sqrt(np.mean(Dt))
if misfit < P:
HypoX.append(X0[j])
HypoY.append(Y0[i])
Erms.append(misfit)
P = misfit

else : pass

Hypo = np.array([HypoX,HypoY])

time = np.reshape(Dt,(len(Dt),1))
print('Nilai Delay Time',time)
print(Hypo)
print('Dt =', Dt)

#Plot Hasil
plt.figure()
Xgrid, Ygrid = np.meshgrid(X0, Y0)
plt.scatter(Xgrid.ravel(), Ygrid.ravel(),s=0.5)
plt.plot(HypoX,HypoY,'-r')
plt.plot(HypoX[0],HypoY[0],'*c',label='Awal')
plt.plot(HypoX[len(HypoX)-1],HypoY[len(HypoY)-1],'*y',label='Akhir')
plt.plot(Xsts,Ysts,'v',label='Stasiun')
plt.xlabel
plt.ylabel
plt.legend()
plt.show()

#Plot Kurva RMS Error


plt.plot(Erms)
plt.title('Kurva ERMS vs N Iterasi')
plt.xlabel('N Iterasi')
plt.ylabel('RMS Error')
plt.show()

Anda mungkin juga menyukai