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
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
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.
∂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)
u ¼ pygimli.solver.solveFiniteElement(mesh, a, b, f,
The finite volume method (FVM) with linear basis functions solves
∂u
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.
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).
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.
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
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:
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).
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 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