Anda di halaman 1dari 14

Research paper

pyGIMLi: An open-source library for modelling and inversion in


geophysics

Carsten Rücker a,*, Thomas Günther b, Florian M. Wagner c

a Berlin University of Technology, Department of Applied Geophysics, Berlin, Germany

b Leibniz Institute for Applied Geophysics, Hannover, Germany

c University of Bonn, Steinmann Institute, Department of Geophysics, Bonn, Germany

Banyak tugas dalam geosains terapan tidak dapat diselesaikan dengan pengukuran tunggal, tetapi
membutuhkan integrasi metode geofisika, geoteknik dan hidrologi.
Teknik simulasi numerik sangat penting baik untuk perencanaan dan interpretasi, serta untuk
proses pemahaman metode geofisika modern. Ini tren mendorong arsitektur perangkat lunak
terbuka, sederhana, dan modern yang bertujuan untuk antarmuka yang seragam untuk
pemodelan interdisipliner dan fleksibel dan pendekatan inversi.
Kami menyajikan pyGIMLi (Perpustakaan Python untuk Pembalikan dan Pemodelan dalam
Geofisika), kerangka kerja open-source yang menyediakan alat untuk pemodelan dan inversi dari
berbagai metode geofisika tetapi juga hidrologi.

Komponen pemodelan memasok manajemen diskritisasi dan dasar numerik untuk elemen hingga
dan volume hingga pemecah dalam 1D, 2D dan 3D pada jerat terstruktur sewenang-wenang.
Kerangka inversi umum memecahkan masalah minimisasi dengan Gauss-Newton
algoritma untuk operator penyerang fisik apa pun dan memberikan peluang untuk analisis
ketidakpastian dan resolusi. Persyaratan yang lebih umum, seperti regularisasi yang fleksibel
strategi, pemrosesan selang waktu dan berbagai jenis metode individual kopling disediakan secara
terpisah dari metode aktual yang digunakan. Penggunaan pyGIMLi pertama kali didemonstrasikan
dengan menyelesaikan persamaan panas kondisi-mapan, diikuti oleh demonstrasi kemampuan
yang lebih kompleks untuk kombinasi berbagai set data geofisika. Suatu inversi hidrogeofisika yang
sepenuhnya digabungkan dari data tomografi resistivitas listrik (ERT) dari eksperimen pelacak
disimulasikan disajikan bahwa memungkinkan untuk secara langsung merekonstruksi distribusi
konduktivitas hidrolik yang mendasari akuifer. Contoh lain menunjukkan peningkatan pembalikan
bersama ERT dan data ultrasonik berkenaan dengan saturasi dengan pendekatan baru yang
menggabungkan hubungan petrofisika dalam inversi.

Aplikasi potensial yang disajikan Kerangka kerja bermacam-macam dan termasuk inversi time-
lapse, constrained, joint, dan coupled dari berbagai set data geofisika dan hidrologis
1. Perkenalan
Dalam aplikasi geofisika modern, sering diinginkan untuk memaksimalkan
informasi tentang bawah permukaan dengan kombinasi pengukuran yang berbeda metode. Ketika
perubahan dinamis dipantau, tautan tambahan untuk model proses yang sesuai (mis.,
hidrogeologi atau geomekanis model) dapat mengarah pada peningkatan pemahaman proses dan
menawarkan peluang untuk memperkirakan parameter multi-fisik bawah permukaan. Bersama
dan inversi berbasis proses karena itu topik penelitian berkembang di bidang hidrogeofisika yang
muncul (mis., Binley et al., 2015; Linde dan Doetsch, 2016).

Namun, upaya tersebut terkait dengan teknis yang cukup tantangan. Penggandaan yang
diperlukan dari model numerik yang berbeda mewakili hambatan potensial bagi banyak praktisi
dan siswa. Bahkan pengguna yang secara teknis serba guna biasanya membangun sendiri-sendiri
solusi khusus dengan menghubungkan berbagai yang sudah ada (dan berpotensi komersial)
paket perangkat lunak melalui skrip, yang menghalangi reproduktifitas temuan ilmiah (Peng,
2011). Ini memotivasi dan mendukung perlu untuk arsitektur perangkat lunak terbuka, sederhana,
dan modern untuk utama tugas numerik dalam geofisika.

Uieda et al. (2013) menyajikan perangkat lunak untuk analisis data geofisika dengan fokus pada
gravitasi dan metode magnetik. Maju rutinitas pemodelan tersedia untuk mensimulasikan medan
gravitasi dan magnet pada berbagai jerat 2D dan 3D termasuk tesseroid (prisma bola). Itu
paket inversi memungkinkan estimasi parameter non-linear dengan Levenberg-Marquardt, paling
curam-layak, serta pendekatan Gauss-Newton. Hansen et al. (2013) menyediakan perangkat lunak
inversi umum untuk masalah geofisika. Masalah Gaussian invers linier dipecahkan menggunakan
pemecah kuadrat-terkecil, sedangkan non-linear umum (mis. non-Gaussian) masalah terbalik
diselesaikan dengan algoritma Metropolis yang diperluas.

Sementara perangkat lunak menyediakan pendekatan inversi yang fleksibel untuk geofisika
masalah, fungsi pemodelan ke depan berfokus pada linier dan perhitungan waktu perjalanan non-
linear. Schaa et al. (2016) menyajikan a pustaka elemen hingga untuk solusi linear dan non-linear,
ditambah, dan persamaan diferensial parsial bergantung waktu. Para penulis menunjukkan
kemampuan pemodelan berdasarkan resistivitas listrik 3D dan 2D simulasi magnetotelurik.
Cockett et al. (2015) menyajikan perangkat lunak untuk simulasi dan estimasi parameter berbasis
gradien dalam geofisika. Mereka pendekatan didasarkan pada diskretisasi volume hingga pada
terstruktur dan jerat semi-terstruktur dan termasuk algoritma optimasi cembung

Uieda et al. (2013) menyajikan perangkat lunak untuk analisis data geofisika
Para penulis menyatakan bahwa inversi bersama dan terintegrasi pada umumnya mungkin
melalui beberapa fungsi ketidakcocokan, fisika, dan regularisasi fungsional. Paket perangkat
lunak yang disebutkan di atas adalah sumber terbuka, terdokumentasi dengan baik, dan
bertujuan untuk diperpanjang dan reproduktifitas geofisika simulasi. Dengan motivasi yang
sebanding, kami menghadirkan pyGIMLi (Geophysical Inversion and Modeling Library in Python),
sebuah serbaguna dan kerangka kerja yang efisien secara komputasi untuk pemodelan dan
inversi dalam aplikasi geofisika. Berbeda dengan pendekatan yang ada, pyGIMLi
secara eksplisit menargetkan aspirasi modern dalam geofisika termasuk terkendala, bersama,
dan inversi berbasis proses bersama dengan yang dibutuhkan memajukan kebutuhan pemodelan
pyGIMLi telah aktif dalam pengembangan sejak 2009 dan menawarkan Fungsionalitas modular
dapat diakses dari berbagai tingkat abstraksi bertujuan memuaskan berbagai kebutuhan dalam
penelitian dan pendidikan. Itu Bahasa pemrograman python dipilih sebagai dasar untuk pyGIMLi
sifatnya bebas, fleksibel, dan lintas platform yang kompatibel, yang karenanya membuatnya
digunakan secara luas di komunitas ilmiah (geo) (mis., Guyer et al., 2009; Logg dan Wells, 2010;
P? Erez et al., 2011; Wellmann et al., 2012; Uieda et al., 2013; Cockett et al., 2015; Weigand dan
Kemna, 2016; Hector dan Hinderer, 2016; Schaa et al., 2016). Satu keuntungan berbeda adalah
bahwa itu dapat dengan mudah diperluas dengan modul yang dikompilasi dari C atau Fortran
untuk misalnya, memungkinkan pengguna untuk memperpanjang kode lawas atau melakukan
outsourcing pengambilan waktu bagian dalam ekstensi yang efisien secara komputasi.

Kami memanfaatkan fleksibilitas ini dan telah menerapkan semua bagian sensitif runtime di a
Perpustakaan inti Cþþ. Ikatan Python lengkap ke pustaka inti inidilengkapi dengan fungsionalitas
yang ditulis dengan Python murni, sehingga menawarkan baik efisiensi dan fleksibilitas untuk
pengembangan cepat yang tangguh aplikasi pemodelan dan inversi. Komponen pemodelan
menawarkan manajemen mesh serta elemen hingga dan pemecah volume hingga di
1D, 2D, dan 3D. Komponen inversi didasarkan pada deterministik Algoritma Gauss-Newton dan
bekerja dengan operator forward fisik apa pun disediakan Beberapa rutinitas pasca pemrosesan
disediakan untuk memvisualisasikan hasil dalam 2D menggunakan Matplotlib (Hunter, 2007) dan
dalam 3D menggunakan perangkat lunak ParaView (Ayachit, 2015) atau Mayavi (Ramachandran
dan Varoquaux,
2011).

Setelah pengenalan arsitektur perangkat lunak termasuk detail deskripsi tingkat abstraksi yang
berbeda, inversi umum Kerangka disajikan. Ini diikuti oleh demonstrasi tentang cara melakukan
pemodelan dasar. Kami kemudian menekankan tujuan utama pyGIMLi, mis., dengan mudah
mengintegrasikan set data interdisipliner, dengan dua aplikasi: i) inversi hidrogeofisika yang
sepenuhnya digabungkan secara langsung invert untuk distribusi konduktivitas hidrolik akuifer
dan ii) a inversi bersama petrofisika baru berdasarkan resistivitas listrik dan tomografi waktu
perjalanan untuk memperkirakan secara langsung saturasi air

2. Desain perangkat lunak


Tugas utama yang harus diselesaikan dengan pyGIMLi adalah pemodelan dan inversi. Komponen
pemodelan diwujudkan dengan elemen hingga = volume kotak alat dengan semua bentuk sel
umum untuk basis linier dan kuadratik fungsi dalam domain 1D, 2D, dan 3D. Pembalikan standar
diterapkan dengan pendekatan Gauss-Newton umum dengan fleksibel regularisasi. Selain
perpustakaan inti, bagian ekstensi dari pyGIMLi juga terdiri dari dependensi pihak ketiga yang
menyediakan fungsionalitas tingkat lanjut. Kami menerapkan generator mesh seperti Triangle
(Shewchuk, 1996), Tetgen (Si, 2015) dan Gmsh (Geuzaine dan Remacle, 2009), serta tingkat
tinggi pemecah numerik seperti SuiteSparse (Davis, 2006). Gambar. 1 menunjukkan arsitektur
dasar pyGIMLi dengan berbeda level abstraksi ditulis dengan Python. Berdasarkan bagian
ekstensi, ada
adalah modul Python untuk mengeksploitasi kemampuan scripting yang mudah digunakan dan
untuk menyediakan kelas-kelas yang lebih mudah untuk dipertahankan dan diuji. Tingkat
persamaan menyediakan antarmuka umum untuk solusi diferensial parsial umum persamaan
(PDE). Tingkat pemodelan menyediakan fungsionalitas operator maju yang bertujuan untuk
mendukung metode geofisika tertentu

Di tingkat aplikasi, kami mendefinisikan kerangka kerja umum untuk menyelesaikan dasar
dan tugas inversi lanjutan seperti selang waktu atau inversi bersama. Itu manajer metode
menggabungkan semua level untuk menyelesaikan tugas lengkap untuk masalah geofisika
dengan data spesifik. Semua level abstraksi ini berkomunikasi melalui antarmuka terpadu dan
dengan demikian dapat digabungkan terlepas dari metode geofisika yang mendasarinya

2.1. Perpustakaan inti Cþþ

Python adalah bahasa scripting yang kuat untuk pengembangan cepat


progres, tetapi tidak memiliki kinerja runtime untuk kode Python murni. Ini mendukung
beberapa paradigma yang memungkinkan fungsional dan berorientasi objek
pemrograman dan dapat dengan mudah diperpanjang dengan kinerja tinggi pra-disusun
Ekstensi Cþþ. Kami mengembangkan perpustakaan inti Cþþ dengan a desain berorientasi objek
yang kuat untuk semua kebutuhan sensitif runtime dan menyediakan akses penuh ke semua
bagian perpustakaan inti ini dengan secara otomatis dibuat Binding Python.

Salah satu manfaat utama menggunakan Python adalah pembuatan prototipe abstrak, mis., Kami
mengimplementasikan solver solver utama dalam Cþþ dengan menggunakan abstrak
matriks dasar dan dapat menggunakannya dengan matriks lanjutan khusus apa pun langsung dari
Python. Ini menghasilkan fleksibilitas dari jenis matriks yang digunakan dengan upaya
pengkodean minimal dan gangguan runtime minimal. Di Selain jenis matriks padat dan berbeda,
ada juga matriks khusus seperti matriks baris atau kolom-skala atau Kronecker matriks.

Selanjutnya, kami menerapkan blok matriks yang berisi referensi ke sejumlah matriks dari jenis
sewenang-wenang. Dapat digunakan untuk matriks kendala yang efisien atau matriks gabungan
Jacobian tanpa kinerja kerugian. Untuk fleksibilitas tinggi regularisasi, kami menerapkan apa yang
disebut "Konsep wilayah", di mana seseorang dapat menentukan bagian dari domain inversi dan
rawat, konfigurasikan, atau pasangkan wilayah ini satu per satu. Ikhtisar dari latar belakang dan
berbagai kemungkinan memasukkan informasi diberikan oleh Rücker (2011). Coscia et al. (2011)
menyajikan inversi ERT contoh, di mana bagian-bagian bawah permukaan yang berbeda (lapisan
geologi, lubang bor) telah dipisahkan dan diperlakukan oleh operator regularisasi yang berbeda.
Kelemahan kinerja utama dari bahasa yang ditafsirkan Python mengulang kode melalui loop
bersarang karena konversi tipe dinamis dari penerjemah Python, yang membutuhkan waktu yang
cukup lama antara dua instruksi skrip.

Paket numerik berlaku lanjut fitur geometri dan mesh menghabiskan runtime yang signifikan
dalam manajemen mesh, integrasi numerik, interpolasi, atau tugas-tugas umum seperti
pencarian tetangga terdekat. Oleh karena itu, kami menerapkan manajemen jala dan fungsi
terkait sebagai bagian dari perpustakaan inti Cþþ. Mayoritas pendekatan numerik untuk solusi
diferensial parsial persamaan (PDE) didasarkan pada diskritisasi spasial, yang disebut jala atau
kotak. Jaring menggabungkan N node, sel C, dan batas B dan mewakili domain pemodelan Ω ¼
∪Ci ¼1C i dan batas luarnya Γ ¼ ∂Ω ¼ ∪Bj ¼1Bj. Jala dapat diimpor dari generator jala eksternal
atau dihasilkan oleh fungsi utilitas yang disediakan

Kami menganggap kisi sebagai bentuk terstruktur dari jaring (mis., Biasa diskretisasi menjadi
quadrangles atau hexahedron) dan memperlakukan mereka secara merata. Node N ¼ fN iðrÞg
dengan i ¼ 1… N mewakili N vektor posisi diskrit r 2 ℝ1, ℝ2, atau ℝ3. Sel C adalah kumpulan node
yang menjangkau subdomain ΩC ¼ ∪N j dalam ruang dimensi yang sama dari node. Sebagai sel
bentuk kami menerapkan simpleks seperti segitiga, segi empat dalam ℝ2 dan tetrahedron,
heksahedron, atau prisma di ℝ3. Jenis sel yang berbeda dapat digabungkan dalam satu mesh,
untuk menggabungkan diskritisasi terstruktur dalam wilayah yang menarik dengan semakin tidak
terstruktur pengerasan menuju batas misalnya. Batas B adalah kumpulan node yang
membentang a subdomain ΓC ¼ ∂ΩC ¼ ∪N j mewakili batas luar a sel. Bentuk batas muncul
sebagai akibat dari bentuk sel yang terkait dan adalah tepi ℝ2 dan segitiga atau kuadratang
dalam ℝ3. Untuk semua bentuk kami menyediakan aturan integrasi numerik untuk beberapa
fungsi dasar merakit prasyarat numerik untuk elemen hingga dan volume hingga analisis.

2.2. Tingkat persamaan


Tingkat persamaan menyediakan antarmuka untuk memecahkan PDE umum pada a mesh yang
diberikan, yang terdiri dari semua spesifikasi geometrik, mis., topografi atau struktur bawah
permukaan yang dikenal. Saat ini tingkat persamaannya menyediakan titik masuk untuk
menyelesaikan dua jenis PDE utama berikut, yang mencakup berbagai metode dalam geofisika
terapan dari potensi bidang untuk merambatkan gelombang. Metode elemen hingga (FEM)
dengan dasar linier atau kuadratik fungsi memecahkan
∂u

∂t ¼ ∇⋅ða∇uÞ þ bu þ f ðr; tÞ

uðr; tÞ ¼ uB r 2 ΓDirichlet

∂uðr; tÞ

∂n ¼ u∂B r 2 ΓNeumann

uðr; t ¼ 0Þ ¼ u0 with r 2 Ω

(1)

for u ¼ uðr; tÞ with r be the node positions by calling:

u ¼ pygimli.solver.solveFiniteElement(mesh, a, b, f,

uB, duB, t, u0)

The finite volume method (FVM) with linear basis functions solves
∂u

∂t þ v⋅∇u ¼ ∇⋅ða∇uÞ þ bu þ f ðr; tÞ

uðr; tÞ ¼ uB r 2 ΓDirichlet

∂uðr; tÞ

∂n ¼ u∂B r 2 ΓNeumann

uðr; t ¼ 0Þ ¼ u0 with r 2 Ω

Perhatikan, bahwa kedua fungsi solver dirancang untuk memberikan pengguna kemudahan
mungkin akses ke kemampuan pemodelan perpustakaan inti. Namun, sebagian besar masalah
elips, parabola, dan tipe adveksi dapat diselesaikan dengan dua fungsi ini, hiperbolik atau
operator ikal sistem berbasis hanya dapat didekati dengan menyarangkan dua persamaan
parabola. Keakuratan FVM parabola terbatas karena basis linear fungsi. Untungnya,
perpustakaan Python yang sangat terspesialisasi ada (Guyer et al., 2009; Logg dan Wells, 2010),
yang dapat dengan mudah terintegrasi jika akurasi yang lebih tinggi diperlukan

2.3. Tingkat pemodelan Tingkat fisika mewakili kumpulan kelas untuk menyelesaikan suatu maju
atau tugas simulasi untuk disiplin geofisika tertentu dengan memanfaatkan
tingkat persamaan atau menerapkan perhitungan yang sesuai. Operator yang maju (FOP) F
ðmðr; tÞÞ memetakan distribusi parameter diskrit m ¼ fmjg dengan j ¼ 1 ... M model parameter
ke vektor data d ¼ fdig dengan i ¼ 1 ... N data. Setiap FOP diwarisi dari ModellingBase kelas dasar
diimplementasikan di perpustakaan inti Cþþ dan diakses oleh umum antarmuka: Respons
metode harus diisi dengan angka yang sesuai perhitungan. Perhatikan bahwa diskritisasi spasial
atau temporal yang dibutuhkan dalam inversi biasanya berbeda dengan kebutuhan numerik
untuk akurat pemodelan ke depan. Oleh karena itu, pyGIMLi menyediakan antar dan alat
ekstrapolasi untuk memetakan parameter dari satu mesh ke yang lain atau menugaskan mereka
ke wilayah tertentu. Metode createJacobian adalah antarmuka untuk menghitung entri dari
matriks Jacobian: buat Jacobian dengan metode khusus generasi Jacobian pendekatan. Namun,
jika fungsi ini tidak diterapkan, kelas dasar ModellingBase menyediakan mekanisme default
paralel untuk mengisi entri untuk J menggunakan pendekatan finite-difference (brute-force),
yaitu, perhitungan maju berulang dengan parameter model terganggu. Operator maju yang
diimplementasikan dirangkum dalam Tabel 1:

2.4. Tingkat aplikasi Lapisan abstraksi tertinggi adalah level aplikasi, dan karenanya merupakan
titik masuk pertama untuk pengembangan ilmiah dan pengguna akhir interaksi. Ini berisi
kerangka kerja metode-independen dan manajer khusus metode dengan aplikasi tertanam.

2.4.1. Manajer metode dan aplikasi


Manajer metode mewakili keadaan aplikasi yang menyediakan a set lengkap tindakan untuk
melanjutkan semua tugas untuk disiplin tunggal dalam diterapkan geofisika dan dianggap
sebagai titik masuk untuk interaksi pengguna akhir. Ini kelas menggunakan contoh yang sudah
dikonfigurasikan sebelumnya dari kerangka kerja inversi umum dan menerapkan operator maju
yang sesuai dengan antarmuka terpadu
bahwa metode mensimulasikan dan membalikkan tersedia secara otomatis dan dikontrol oleh
daftar kata kunci. Selain itu, setiap metode harus menyediakan metode khusus fungsi loadData,
showData dan showResults. Penggunaan khas dari seorang manajer metode untuk
memvisualisasikan dan membalikkan data untuk contoh ERT adalah:

Ada manajer untuk hampir semua metode (Tabel 1) dan kombinasi dari mereka. Beberapa sudah
termasuk kerangka kerja seperti tipe LCI inversi (mis., Costabel et al., 2016) atau inversi blok-
sendi (mis., Günther dan Müller-Petke, 2012). Apalagi ada manajer melibatkan algoritma maju
yang lebih sederhana seperti pemasangan konduktivitas kompleks / spektrum permitivitas
(Loewer et al., 2016; Hupfer et al., 2016).

2.4.2. Kerangka inversi


Kerangka inversi digeneralisasikan, pendekatan abstrak untuk menyelesaikan a masalah inversi
spesifik tanpa menentukan geofisika yang sesuai metode. Ini bisa menjadi strategi regularisasi
khusus, alternatif perumusan masalah terbalik atau algoritma inversi rutin. Saya t diinisialisasi
oleh operator atau manajer ke depan tertentu yang menyediakan mereka. Contoh bagaimana
kerangka inversi semacam itu dibangun inversi bersama petrofisika diberikan dalam Lampiran C.

2.4.2.1. Inversi Gauss-Newton.


Kerangka inversi default adalah didasarkan pada metode Gauss-Newton umum dan kompatibel
dengan setiap operator forward yang diberikan dan dengan demikian berlaku untuk berbagai
fisik masalah. Kami menyatakan masalah inversi sebagai meminimalkan tujuan fungsi yang terdiri
dari ketidakcocokan data dan batasan model:
Perhatikan bahwa kami tidak memasukkan kendala ketimpangan dalam minimalisasi
tetapi gunakan transformasi untuk membatasi parameter ke rentang yang wajar (mis.,

Kim dan Kim, 2011). Wd adalah matriks pembobotan data yang berisi invers kesalahan data, Wm
adalah matriks kendala model (mis., orde pertama operator kekasaran), dan m0 adalah model
referensi. Tanpa dimensi faktor λ mengukur pengaruh istilah regularisasi. Ada yang luas
berbagai metode regularisasi yang berbeda (berbagai jenis kelancaran dan redaman, operator
campuran, anisotropic smoothing) Yang sudah ada dapat digunakan secara fleksibel untuk
membatasi parameter model atau permukaan bawah yang berbeda bagian (wilayah), tetapi juga
diperluas dengan fungsi sendiri. Penerapan skema Gauss-Newton tentang meminimalkan (4)
menghasilkan pembaruan modelmk
dalam iterasi k (Park dan Van, 1991): yang diselesaikan dengan menggunakan pemecah konjugat-
gradien kuadrat-terkecil (Günther et al., 2006). Proses inversi termasuk regularisasi khusus
kawasan digambarkan pada Gambar. 2.

Semua matriks dari formulasi inversi dapat diakses secara langsung dari Python dan karenanya
menawarkan peluang untuk ketidakpastian dan resolusi analisis serta desain eksperimental (mis.,
Wagner et al., 2015). Di luar pendekatan inversi yang berbeda ada kerangka yang disebut untuk
tugas inversi tipikal (kebanyakan regularisasi). Contoh yang sudah diimplementasikan dalam
pyGIMLi misalnya: Inversi skema marquardt dari beberapa parameter independen, mis.,
fitting of spectra (Loewer et al., 2016)

Reduksi model fisik tanah menggabungkan fungsi fisik tanah (Igel et al., 2016; Costabel dan
Günther, 2014) Inversi gabungan klasik dari dua set data untuk parameter yang sama seperti DC
dan EM (Günther, 2013) Memblokir inversi bersama dari beberapa data 1D menggunakan
lapisan umum, mis., MRSþVES (Günther and Müller-Petke, 2012) Inversi berurutan (terbatas)
berturut-turut inversi independen set data, mis., pembalikan selang waktu klasik (mis., Hübner
et al., 2015) Pembalikan data yang dibatasi secara serentak dari data yang bertetangga
dalam ruang (LCI, mis., Costabel et al., 2016), waktu (selang waktu penuh) atau frekuensi
(Günther dan Martin, 2016) Pembalikan koperasi yang berdasarkan struktural atas data yang
berbeda tentang kesamaan struktural (mis., Ronczka et al., 2017) Inversi berbasis struktur
menggunakan model 2D berlapis (Attwa

3. Aplikasi teladan
Untuk menunjukkan penggunaan pyGIMLi, beberapa contoh diberikan bersama dengan kode.
Demi singkatnya, semua contoh menggunakan minimalis Geometri 2D, tetapi langsung dapat
ditransfer ke 3D dan lebih kompleks geometri, jika jaring yang sesuai disediakan.

3.1. Mensimulasikan perpindahan panas berdasarkan geometri sederhana


Contoh pemodelan sederhana menunjukkan langkah-langkah dasar untuk menyelesaikan a
persamaan panas steady-state pada tingkat persamaan. Gambar. 3 menunjukkan lengkap
Kode sumber python dan gambar yang dihasilkan untuk pembuatan model dan perhitungan
elemen hingga. Dalam pembukaan (Gbr. 3, baris 1,2) diperlukan namespace pyGIMLi dan paket
pembuatan mesh pyGIMLi adalah diimpor dan disingkat dengan nama alias pg dan mt, masing-
masing. Kami mengasumsikan tiga lapisan dengan blok di dalam lapisan kedua. pyGIMLi
menyediakan utilitas bangunan geometri dasar yang dapat diakses melalui paket alias mt.
Perintah mt.createWorld dan mt.createBlock buat entitas geometris yang diinginkan yang
dikombinasikan oleh perintah mt.mergePLC (Gbr. 3, baris 12). Definisi geometri yang dihasilkan,
jadi disebut piecewise linear complex (PLC), berisi node, elemen batas, dan deskripsi wilayah
untuk mewakili seluruh model geometri. Gambar. 3 baris: 13 menciptakan gambar dari model
geometri menggunakan perintah pg.show, yang merupakan cara paling mudah untuk melihat
jerat, geometri, dan data. Karena kami membutuhkan mesh, kami meneruskan PLC yang
diberikan ke mesh eksternal generator yang disebut Triangle (Shewchuk, 1996). Perintah
pg.show adalah digunakan lagi untuk melihat mesh yang dihasilkan (Gbr. 3 baris: 15).

Pada langkah berikutnya, kami menggunakan resolFiniteElement dari persamaan tingkat


langsung dengan jala yang dihasilkan untuk melakukan perhitungan FEM. Argumen
mengkonfigurasi PDE yang diminta dan mengontrol yang mendasarinya parameter material dan
kondisi batas. Sebagian besar argumen diperlakukan dengan cara yang fleksibel, mis., dalam hal
ini a adalah peta yang menerjemahkan empat penanda dari empat daerah geometri menjadi
distribusi difusivitas termal a untuk membuat latar belakang berlapis dari ¼ ½1; 2; 3? m2 / s
dengan blok heterogen (wilayah 4) menjadi ¼ 0: 1 m2 / s. Itu kondisi batas dikontrol dengan
argumen uB, mis., pada Tipe Dirichlet dengan suhu tetap T ¼ 1 K untuk batas dengan
marker 4 (bawah) dan suhu tetap T ¼ 0 K pada batas denganmarker 3 (permukaan). Batas-batas
lain memperoleh Neumann alami (noflow) kondisi batas secara default. Array untuk distribusi
temperatur yang dihasilkan T kemudian bisa dilihat oleh pg.show lagi. Perintah pg.show dapat
berupa juga digunakan untuk menggabungkan beberapa pendekatan merencanakan untuk
mencapai final gambar hasil geometri yang diberikan dengan perkiraan suhu distribusi.

3.2. Pembalikan hidrogeofisika sepenuhnya digabungkan Pemantauan proses hidrolik dengan


metode geofisika telah menjadi sangat populer. Cara klasik adalah untuk memecahkan masalah
geofisika, diikuti oleh analisis selanjutnya untuk menyimpulkan sifat hidrolik. Baru-baru ini tahun,
sejumlah kecil pendekatan disajikan yang memperkirakan hidrolik konduktivitas langsung dari
pengamatan geofisika (mis., Pollock dan Cirpka, 2010; Mboh et al., 2012; Camporese et al., 2015;
Wagner, 2016).

Namun, sejumlah kecil pendekatan yang tersedia sebagian besar bergantung pada perangkat
lunak yang disesuaikan dan sering kali merupakan hak milik yang melarang penggunaan kembali
dan kemajuan oleh peneliti lain. Berikut ini, kami tunjukkan itu masalah digabungkan dapat
dengan mudah diselesaikan menggunakan pyGIMLi secara konsisten dan sepenuhnya
direproduksi dengan gabungan dari hidrolik dan simulasi geofisika yang dihubungkan melalui
transformasi petrofisika. Kami menerapkan geometri contoh dari Sec. 3.1 dan memetakan
hidrolik konduktivitas ke berbagai wilayah model seperti yang ditunjukkan pada

Gambar 4. Lapisan pertama model dianggap lapisan tanah atas non-konduksi


diikuti oleh akuifer konduktif dan ruang bawah tanah yang kurang konduktif. Itu
blok heterogen di dalam akuifer dianggap mewakili rendah anomali konduktif.
Memperluas contoh dengan fragmen kode berikut:

mengarah ke distribusi kecepatan yang ditampilkan pada Gambar. 5. Arah aliran dari kiri ke
kanan dan menunjukkan peningkatan kecepatan di akuifer karena konduktivitas hidrolik yang
lebih besar. Anomali di akuifer sangat mengganggu bidang kecepatan dan menyebabkan
bidang untuk menghindari tubuh persegi panjang ini. Pada langkah berikutnya kita menggunakan
bidang kecepatan ini untuk mensimulasikan dinamika pergerakan konsentrasi partikel (mis.,
garam) cðr; tÞ di akuifer oleh menggunakan persamaan advection-difusion (mis., Bechtold et al.,
2012) sebagai hasil dari sumber S. Koefisien difusi molekul D (dalam air ≈1⋅ 10? 9 m2 / s) dapat
diabaikan. Namun, di media berpori seperti difusi penyebaran karakteristik yang disebut dispersi
terjadi yang diatur dengan istilah yang sama. Kami memilih dispersi bergantung kecepatan
umum koefisien D ¼ αjvj dengan dispersivitas α ¼ 1⋅ 10? 2 m (Bechtold et al., 2012). Partikel
disuntikkan selama enam hari pada posisi rs rx ð ? 19: 1; y ¼? 5: 0Þ di akuifer dengan jumlah S ¼
0: 001 g / ls. Itu keseluruhan waktu simulasi adalah 12 hari dalam ringkasan dan kami
menggunakan 1600 waktu langkah-langkah untuk memenuhi kondisi Courant-Friedrichs-Lewy
(Courant et al., 1967) memastikan pergerakan partikel tidak melebihi dimensi sel dalam satu
langkah waktu.
Memecahkan persamaan (9) pada tingkat persamaan dengan volume hingga solver
menghasilkan konsentrasi partikel cðr; tÞ (dalam g = l) untuk setiap sel langkah tengah dan
waktu. Ekstensi berikut ke skrip minimalis: mengarah ke distribusi temporal dan spasial yang
dihasilkan dari konsentrasi c dan ditunjukkan pada Gambar. 6 setelah 0, 2, 4, 6, 8, dan 10 hari.
Kami melihat dengan jelas partikel yang menyebar dari titik injeksi dan bergerak di dalam akuifer.
Blok heterogen konduktif yang rendah mengganggu medan aliran dan memaksa sebagian besar
pelacak garam menghindari rintangan. Setelah 6 hari injeksi berhenti dan partikel tersapu oleh
aliran air tanah. Partikel menembus blok heterogen lebih lambat dan tetap lebih lama karena
lebih rendah kecepatan aliran. Jika kita mengasumsikan dominasi konduksi elektrolitik dan
mengaitkannya konsentrasi dengan kandungan garam, percobaan pelacak bisa baik dipantau
oleh pengukuran geolistrik (Nguyen et al., 2009; Doetsch et al., 2012; Wagner et al., 2013).
Resistivitas fluida ρf diperoleh dengan a transformasi linear:

diasumsikan ¼ 1 dan n ¼ 2, masing-masing. Eksponen sementasi m diasumsikan sama dengan 2


(standar untuk batupasir). Kami menganggap tidak ada cairan saturasi di lapisan atas dan saturasi
penuh di akuifer dengan a porositas ϕ ¼ 0: 3. Untuk mensimulasikan data sintetis, mis.,
Resistivitas yang jelas, kami menerapkan a array dipol-dipol dengan 41 elektroda dengan jarak
yang sama. Perhatikan bahwa, dibandingkan dengan simulasi Darcy, pemodelan ERT
membutuhkan spesifik kondisi batas dan penyempurnaan mesh (Rücker et al., 2006). Karena itu,
kami membuat ERT forward mesh yang cocok dan menginterpolasi bulk nilai resistivitas. Dari
1600 kerangka waktu adveksi, kami memilih 10 hingga mensimulasikan data ERT dengan
menerapkan nilai resistivitas dan mengukur skema ke ERT Manager dan memanggil antarmuka
simulasi.Contoh kode minimalis dapat diperpanjang dengan yang berikut ini
cuplikan kode:

yang memetakan distribusi konduktivitas hidrolik (Gbr. 4) ke dalam satu set resistivitas yang jelas
(Gbr. 7) untuk setiap catatan waktu. Hasilnya, kami bisa membalikkan konduktivitas hidrolik
secara langsung (Mboh et al., 2012). Operator maju menyediakan antarmuka yang diperlukan
dan bisa digunakan oleh kerangka kerja inversi dasar untuk melakukan penggandaan penuh
inversi hidrogeofisika dari resistivitas terukur yang terukur menjadi gambar konduktivitas hidrolik
dalam akuifer. Sebagai efisien dan generasi tepat yang tepat dari matriks Jacobian tidak mudah
dilakukan untuk sistem yang digabungkan secara sewenang-wenang, perhitungan Jacobian yang
brutal adalah dilakukan dengan memecahkan masalah ke depan untuk setiap sel model yang
tidak dikenal.Karena tugas ini dapat dengan mudah diparalelkan, maka secara otomatis dilakukan
jika banyak prosesor terdeteksi. Selanjutnya, kami membatasi jumlah yang tidak diketahui
parameter mengenai kemungkinan resolusi masalah terbalik dan untuk mengurangi upaya
numerik. Kami menerapkan konsep wilayah pyGIMLi ke memperkenalkan tiga wilayah, di mana
dua diperlakukan sebagai daerah tetap dengan konduktivitas hidrolik dikenal di bagian atas dan
di bawah domain. Akuifer yang diasumsikan dibagi lagi menjadi 256 persegi panjang daerah
parameter dan selanjutnya menjadi mesh maju segitiga halus di atas untuk memastikan akurasi
numerik (Gbr. 8). Pembalikan dimulai dengan homogen model dan konvergen pas data ERT
disimulasikan dalam kesalahan data yang diasumsikan. Distribusi konduktivitas hidrolik
diilustrasikan oleh Gambar. 8 menyerupai karakteristik utama dari model sintetis baik secara
struktural maupun menyangkut nilai rata-rata
Perhatikan bahwa contoh berfungsi sebagai bukti konsep dan dimaksudkan untuk itu
menunjukkan bahwa alur kerja yang kompleks dapat dengan mudah direalisasikan menggunakan
pemodelan fleksibel dan kerangka kerja inversi disajikan. Padahal seharusnya begitu mencatat
bahwa rekonstruksi konduktivitas hidrolik berbasis geofisika adalah sangat tertantang jika
skenario menjadi lebih realistis (mis., 3D, aliran tak jenuh, efek suhu).

3.3. Inversi bersama petrofisik


Pembalikan gabungan dari teknik geofisika yang berbeda membantu meningkatkan resolusi dan
interpretabilitas gambar yang dihasilkan. Berbeda set data dapat langsung digabungkan, jika ada
tautan ke target yang mendasarinya mparameter. Ini juga dimungkinkan jika hubungan tidak
diketahui sebelumnya (Heincke et al., 2017). Contoh berikut menganggap hubungan sebagai
dikenal dan menunjukkan konsep kerangka kerja untuk petrofisika digabungkan bersama inversi
dari dua metode geofisika dalam beberapa langkah sederhana. Kami menggunakan manajer
metode yang ada untuk ERT (pg.physics. ERTManager) dan travel-time tomography (TT)
(pg.physics. Pembiasan), yang keduanya menyediakan simulasi siap pakai dan
kemampuan inversi. Awalnya, kami menerapkan kedua manajer metode untuk membuat data
sintetis set. Gambar. 9 menunjukkan mesh yang digunakan (mMesh) untuk lingkaran skala
laboratorium model (mis., kolom batu pasir) dengan porositas konstan ϕ ¼ 0: 3 dan
saturasi air heterogen S, yang diselidiki menggunakan ERT dan tomografi ultrasonik.

Untuk membuat distribusi parameter geofisika, kami menerapkan common model petrofisika
empiris, mis., persamaan Archie (mis. (11)) itu menyediakan resistivitas ρ sebagai fungsi saturasi
S. Sonic velocity v (atau kebalikannya, kelambatan s) sebagai fungsi porositas ϕ dan saturasi S
adalah diberikan oleh persamaan waktu-rata (Wyllie et al., 1956):

Kami mengasumsikan kecepatan matriks vm ¼ 4000 m / s, kecepatan air vw ¼ 1484 m / s dan


kecepatan udara va ¼ 343 m / s. pyGIMLi berisi kumpulan mekanisme untuk maju dan mundur
pemetaan nilai yang disediakan oleh kelas Trans. Mereka dapat digunakan untuk data dan
penskalaan model dalam proses inversi, mis., dengan menggunakan hambatan logaritmik (Kim
dan Kim, 2011) untuk membatasi parameter antara rentang yang diberikan. Demikian pula,
hubungan petrofisika dapat dengan mudah didefinisikan dan juga bersarang dengan
transformasi lain sebagai batasan jangkauan. Asumsikan parameter intrinsik p tergantung pada
parameter model m. Kelas transformasi perlu memberikan transformasi maju dan mundur serta
turunannya dari transformasi, yang ditentukan oleh algoritma Newton jika bukan specifie

Kami menerapkan kelas-kelas ini dan membuat transformasi untuk yang disebutkan di atas
hubungan petrofisika dengan nama ArchieTrans untuk ERT dan WyllieTrans untuk TT, masing-
masing. Res resistivitas dan kecepatan vel dihasilkan untuk saturasi tertentu dengan
menjalankan kode sederhana:
Untuk membuat set data sintetis, kami mengasumsikan 16 sensor dengan spasi yang sama batas
keliling mesh. Untuk pemodelan ERT, kami membangun array dipol-dipol lengkap. Untuk
tomografi ultrasonik kami mensimulasikan waktu perjalanan untuk setiap pasangan sensor yang
memungkinkan. Pemodelan itu sendiri dilakukan dengan memanggil perintah antarmuka
mensimulasikan manajer metode individual, yang membuat set data ertData untuk resistivitas
dan tt Data untuk distribusi parameter kecepatan. Selain itu, kami menambahkan noise Gaussian
dengan standar deviasi 1% ke set data sintetis. Untuk menghindari kejahatan terbalik, di mana
jerat identik digunakan untuk keduanya pemodelan ke depan dan inversi (mis. Colton dan Kress,
1992), kami buat jala baru untuk inversi, yang tidak memiliki informasi sebelumnya anomali yang
akan direkonstruksi. Oleh karena itu, kami membuat mesh kedua pMesh mewakili domain model
melingkar yang lebih kasar dibandingkan ke jala simulasi dan tidak berisi informasi sebelumnya
tentang anomali. Data yang disimulasikan dibalik pada parameterisasi baru menggunakan
kerangka kerja inversi default yang diakses melalui antarmuka perintah invert disediakan oleh
kedua manajer metode dan bisa dibaca sebagai:

dibahas di atas. Namun, kami lebih suka petrofisika yang dibatasi inversi sebagai cara yang lebih
canggih untuk memulihkan kejenuhan secara langsung bm ¼ fSg. Untuk menghitung tanggapan
maju F ðmÞ dan Jacobian J untuk a diberi saturasi, kami membuat operator maju baru bernama
Petro- Pemodelan, yang merupakan metode independen tetapi diinisialisasi dengan yang sudah
dikonfigurasikan sebelumnya mcontoh operator maju dan kelas transformasi. Saya t menangani
langkah-langkah transformasi yang diperlukan dan mendelegasikan respons dan membuat
perintah Jacobi tepat. Tanggapan ke depan untuk masalah yang ditransformasikan ditulis
sebagai: cF ðmÞ ¼ F ðpðmÞÞ dengan trans: S↦ρ ðERTÞ dan trans: S↦v ðTTÞ(16) Untuk ini kami
menggunakan matriks khusus MultRightMatrix yang menampung matriks batin (yang sudah ada
generasi Jacobiannya) dan a vektor untuk dikalikan dengan dari kanan. Lengkap dan ringkas
implementasi dari kelas PetroModelling diberikan dalam Lampiran A dan dapat langsung
digunakan dengan kerangka kerja inversi umum. Karena ini sering digunakan, kerangka kerja
inversi untuk PetroInversion

jenis inversi petrofisika disediakan. Bisa langsung diinisialisasi oleh manajer khusus metode dan
kelas transformasi. Semua informasi yang relevan diminta oleh manajer metode yang disediakan
dan memungkinkan untuk membangun operator forward petrofisika khusus dengan a perintah
antarmuka inversi yang sesuai (invert) dan tambahan batas argumen untuk rentang nilai model
yang diharapkan (log-transformation). Inversi petrofisika lengkap kemudian dapat ditulis dalam
dua baris kode: Gambar 12 menunjukkan model yang dihasilkan untuk petrofisika yang dibatasi
inversi untuk saturasi kedua set data sintetis. Karakteristik dari kedua hasil ini mirip dengan yang
konvensional

inversi geofisika, tetapi model saturasi secara otomatis dibatasi pada nilai yang bermakna antara
0 dan 1. Untuk menggabungkan informasi yang melekat dari kedua set data dalam estimasi dari
parameter yang sama, kerangka kerja umum untuk inversi gabungan adalah tersedia di pyGIMLi.
Inti dari kerangka kerja ini adalah operator maju disebut JointModelling, yang memungkinkan
penumpukan sederhana F berbeda meneruskan operator untuk membuat respons dan entri
model yang sesuai untuk matriks Jacobian. Respon model dihitung dengan hanya
menggabungkan respon dari masing-masing operator. Matriks Jacobian untuk jenis ini masalah
bersatu dapat dirumuskan secara efisien menggunakan jenis khusus dari matriks yang kita sebut
BlockMatrix. Kelas ini memungkinkan kombinasi acak dari berbagai jenis matriks yang secara
langsung digunakan dalam invers pemecah. Dalam hal ini (data berbeda dan model berbeda)
memiliki bentuk dari matriks blok-Jacobi dengan matriks Jacobian individu pada
diagonal. Matriks blok sangat membantu untuk sejumlah masalah di mana model independen
secara bersamaan terbalik, misalnya, untuk LCI = SCI, inversi time-lapse atau spektral (Günther
dan Martin, 2016). Minimal tetapi selesaikan implementasi untuk kelas JointModelling jika
diberikan dalam Lampiran B.

framework JointPetroInversion (lihat Lampiran C), yang menggabungkan dua operator maju
PetroModelling dan JointModelling. Saya t diinisialisasi oleh seperangkat manajer metode dan
petrofisika yang sesuai mengubah. Kerangka kerja mengelola penciptaan dan delegasi dari
operator maju JointModelling, menyinkronkan data dan kesalahan menangani dan menyediakan
perintah antarmuka biasa untuk melakukan perhitungan melalui: Gambar. 13 menunjukkan
gambar saturasi yang dihasilkan untuk petrofisika inversi bersama. Hasil inversi bersama
memberikan peningkatan gambar dibandingkan dengan kedua hasil inversi tunggal karena
menggabungkan manfaat dari kedua metode: Ini menunjukkan kontras yang lebih tajam
daripada ERT murni dan daerah saturasi rendah dan tinggi lebih jelas terlihat dibandingkan
dengan TT tunggal. Dalam kehidupan nyata, parameter dari hubungan petrofisika mungkin tidak
dikenal sebelumnya. Namun, sangat mudah untuk memasukkan petrofisika parameter atau
bahkan distribusi ke dalam proses inversi bersama dengan batasan jangkauan yang tepat.

4. Kesimpulan

Kami telah menyajikan pyGIMLi, kerangka kerja open-source serbaguna untuk pemodelan dan
inversi dalam geofisika, yang, karena sifatnya umum dan desain berorientasi objek, sangat
berguna untuk pasangan pengukuran yang berbeda metode dalam inversi gabungan atau
gabungan. Ini ditunjukkan oleh inversi penuh data ERT time-lapse yang memungkinkan untuk
secara langsung memperkirakan distribusi konduktivitas hidrolik akuifer. Multiphysical operator
ke depan menyediakan hidrolik dan geolistrik respon migrasi pelacak. Dengan demikian akan
mudah juga termasuk data hidrologi dalam inversi untuk lebih membatasi hidrolik sifat akuifer.

Pendekatan inversi bersama petrofisika baru diperkenalkan dan diterapkan pada ultrasonik dan
ERT menggabungkan manfaat dari dua metode untuk kuantifikasi saturasi air yang lebih akurat.
Dalam hal tidak ada dikenal parameter petrofisika (mis., porositas) skema ini dapat dengan
mudah diperpanjang, bahkan tanpa hubungan tetap. Ketersediaan operator maju yang berbeda
dan kerangka kerja inversi umum menyediakan sarana kendala model timbal balik yang belum
pernah terjadi sebelumnya. Untuk contoh, seseorang dapat dengan mudah menggabungkan
pendekatan inversi bersama dengan inversi hidrogeofisika sehingga inversi hidrogeofisika
bersama untuk data ERT dengan data hidrogeologis (mis. salinitas atau kepala hidraulik) tercapai.
Semua contoh dihasilkan dengan pyGIMLi versi 1.0 dan sepenuhnya direproduksi menggunakan
skrip yang disediakan di http://cg17.pygimli.org.
Meskipun contoh didasarkan pada geometri 2D sederhana untuk Demi demonstrasi, kami
menunjukkan bahwa dimensi masalah adalah semata-mata diatur oleh jala yang disediakan,
artinya semua contoh kode secara langsung dapat ditransfer ke geometri 3D yang lebih
kompleks. Modular fungsionalitas dapat diakses dari berbagai level abstraksi dan karenanya
menawarkan titik masuk untuk berbagai pengguna dengan berbagai derajat pengalaman
pemrograman: Tingkat aplikasi Pemilik data dapat dengan mudah menganalisis, membalikkan,
dan memvisualisasikan data mereka menggunakan manajer metode yang telah ditentukan.
Level pemodelan Pengguna dengan operator forward kustom dapat dengan mudah
menyiapkan alur kerja inversi yang sesuai dengan diskritisasi yang fleksibel dan kontrol
regularisasi. Tingkat persamaan Praktisi yang serba bisa secara langsung dapat mengakses
elemen hingga dan pemecah volume hingga mendekati berbagai fisik masalah.
Ada banyak potensi untuk meningkatkan paket di semua tingkatan, mulai dari tipe PDE atau
elemen lain melalui integrasi yang baru metode untuk perluasan pendekatan inversi dan
regularisasi. Khususnya, kita melihat manfaat kombinasi dengan Python terbuka lainnya.

Paket Cþþ berfokus pada metode yang berbeda. Untuk memfasilitasi adopsi dan kontribusi
komunitas geoscientific, kami telah membuat paket perangkat lunak dan semua contoh yang
ditunjukkan di sini kertas tersedia secara bebas di bawah lisensi Apache 2.0 permisif. Sesuai
unduhan dan dokumentasi yang komprehensif dapat ditemukan di situs web proyek
http://www.pygimli.org. Kode sumbernya adalah dihosting di GitHub (https://github.com/gimli-
org/gimli). Dengan mengikuti prinsip pengembangan perangkat lunak modern seperti pengujian
unit dan integrasi berkelanjutan, kekokohan dan validitas yang ada dan yang baru fungsionalitas
terjamin. Diharapkan perangkat lunak yang disajikan dan perkembangan selanjutnya akan
berkontribusi untuk memenuhi integrasi data modern kebutuhan peneliti, praktisi, dan siswa,
terutama di, tetapi tidak terbatas pada, komunitas hidrogeofisika.

Ucapan Terima Kasih Ulasan konstruktif dari Rowan Cockett dan dua pengulas anonim
telah sangat memperbaiki naskah. Kami berterima kasih kepada Jennifer Geacone-Cruz, Nico
Skibbe, dan Thomas Heinze untuk membaca dengan cermat dan petunjuk berharga. Kami juga
ingin menyampaikan penghargaan kami untuk semakin banyak pengguna pyGIMLi dan umpan
balik penting mereka memungkinkan peningkatan berkelanjutan dari perangkat lunak.

Lampiran
Lampiran berikut ini berisi kode-kode untuk melakukan inversi bersama petrofisika seperti yang
ditunjukkan pada 3.3. Dua operator pemodelan untuk petrofisika pemodelan dan pemodelan
bersama digunakan dalam kerangka kerja untuk melakukan inversi. Perhatikan bahwa
implementasi tidak tergantung pada metode dan hubungan aktual yang akan digunakan.
Lampiran A. Kode penerusan untuk inversi petrofisika Kelas berikut adalah operator forward
sederhana, yang menghasilkan respons forward dari parameter target (mis., Saturasi) yang
terhubung ke sebuah parameter intrinsik (mis., resistivitas) oleh hubungan petrofisika (mis.,
hukum Archies). C. Rücker et al. Komputer dan Geosains 109 (2017) 106–123
119

Anda mungkin juga menyukai