Kesalahan khusus saat menyelesaikan persamaan Poisson pada metode volume hingga mesh tidak seragam (1D saja)

9

Saya telah mencoba untuk men-debug kesalahan ini beberapa hari terakhir saya bertanya-tanya apakah ada yang punya saran tentang cara melanjutkan.

Saya memecahkan persamaan Poisson untuk distribusi muatan langkah (masalah umum dalam fisika elektrostatik / semikonduktor) pada mesh volume terbatas yang tidak seragam di mana yang tidak diketahui didefinisikan pada pusat sel dan fluks pada permukaan sel.

0=(ϕx)x+ρ(x)

profil biaya (istilah sumber) diberikan oleh,

ρ(x)={1,if 1x01,if 0x10,otherwise

dan kondisi batasnya adalah,

ϕ(xL)=0ϕx|xR=0

dan domainnya adalah .[10,10]

Saya menggunakan kode yang dikembangkan untuk menyelesaikan persamaan reaksi-difusi-reaksi (saya telah menulis sendiri lihat catatan saya di sini, http://danieljfarrell.github.io/FVM ). Persamaan adveksi-difusi-reaksi adalah kasus yang lebih umum dari persamaan Poisson. Memang persamaan Poisson dapat dipulihkan dengan mengatur kecepatan gerak ke nol dan menghilangkan istilah transien.

Kode telah diuji terhadap sejumlah situasi untuk kisi-kisi yang seragam, tidak seragam dan acak dan selalu menghasilkan solusi yang masuk akal ( http://danieljfarrell.github.io/FVM/examples.html ) untuk persamaan reaksi-difusi-reaksi adveksi.

Untuk menunjukkan di mana kode rusak saya telah membuat contoh berikut. Saya memasang jaring seragam 20 sel dan kemudian membuatnya tidak seragam dengan menghapus satu sel. Pada gambar kiri saya telah menghapus sel dan di kanan Ω 9 telah dihapus. Sel ke-9 mencakup wilayah di mana istilah sumber (yaitu muatan) berubah tanda. Bug muncul ketika grid tidak seragam di wilayah di mana istilah reaksi berubah tanda . Seperti yang Anda lihat di bawah.Ω8Ω9

Adakah ide apa yang mungkin menyebabkan masalah ini? Beri tahu saya jika lebih banyak informasi mengenai diskresi akan membantu (saya tidak ingin memasukkan terlalu banyak detail dalam pertanyaan ini).

Kesalahan aneh saat memecahkan persamaan Poisson

Boyfarrell
sumber
Bisakah Anda menentukan bagaimana Anda memaksakan kondisi Dirichlet di , dan apa yang Anda maksud dengan ρ = - 1 sebagai kondisi awal (bukan persamaan yang Anda tentukan kondisi mapan)? x=0ρ=1
Jesse Chan
Seperti apa bentuk reaksi itu?
Januari
Skema apa yang Anda gunakan untuk memperkirakan integral dari istilah sumber? Perilaku ini mungkin juga disebabkan oleh pengambilan sampel sumber yang tidak mencukupi. (Apa, mungkin, adalah mekanisme yang sama yang disebutkan dalam jawaban @JLC 's.)
Jan
ρρ
@JLC Dirichlet BCs dikenakan menggunakan pendekatan sel hantu (catatan saya online ketinggalan zaman mengenai detail implementasi ini), lihat di sini untuk mengetahui bagaimana saya melakukannya, scicomp.stackexchange.com/questions/8538/…
boyfarrell

Jawaban:

9

Selain itu, dokumentasi github Anda sangat luar biasa.

Ini hanya tebakan dari metode DG, yang dapat memiliki masalah serupa jika fluks numerik tidak dipilih dengan hati-hati (saya pikir metode FV adalah bagian dari metode DG). Jika Anda menggunakan interpolasi dari pusat sel untuk menentukan fluks Anda, maka ini harus setara dengan menggunakan rata-rata sebagai fluks numerik dalam DG dan menggunakan basis konstan piecewise. Untuk metode DG standar untuk Poisson, ini mengarah ke solusi numerik non-unik - Anda bisa mendapatkan ruang nol non-sepele untuk operator diskrit, yang saya pikir adalah apa yang menyebabkan masalah Anda dalam contoh ke-2. Lihat kertas Ditjen ini untuk teori mereka tentang hal itu dari sisi Ditjen.

Saya akan mencoba untuk membuat contoh untuk FV yang menunjukkan bagaimana hal ini terjadi.

ρ(x)=0f(x20)=0f(x19)==f(x11)=0ϕ(x)

f(xi+1)f(xi)=0f(10)=0f(10)=ϕ9.5ϕghost=ϕ9.5f(xi)=f(10)=ϕ9.5

f(10)ϕ(9.5)

x=10

Jesse Chan
sumber
Dari percobaan saya dapat menunjukkan bahwa metode FVM hanya stabil ketika sel-sel di kedua sisi diskontinuitas (tanda perubahan) dari fungsi sumber memiliki volume yang sama. Apakah analisis Anda setuju dengan ini? Ini berarti bahwa saya harus lebih memperhatikan untuk menghasilkan grid yang masuk akal dari masalah saya yang telah saya lakukan sebelumnya. Mungkin saya harus mempertimbangkan mempelajari metode FEM selanjutnya?
boyfarrell
Artikel yang relevan, meskipun saya tidak cukup mengikuti semua detailnya, jstor.org/discover/10.2307/2157873
boyfarrell
Metode FVM hanya stabil dalam kasus ini ketika grid sejajar dengan fungsi sumber entah bagaimana. Jika fungsi sumber Anda berubah, maka Anda harus menyetel kisi Anda lagi. Saya tidak berpikir menghasilkan grid yang masuk akal adalah pendekatan yang tepat untuk masalah ini - Anda memiliki metode yang tidak stabil.
Jesse Chan
Itu temuan yang bagus. Suli adalah analis yang solid. Saya akan mengatakan belajar FEM mungkin menyenangkan, tetapi FD juga harus bekerja untuk masalah 1D elips. Anda mungkin juga melihat apa yang dilakukan orang-orang FV (mungkin menambah fluks mereka dengan ketentuan penalti) untuk mendapatkan konvergensi untuk masalah elips urutan kedua di jaringan umum. Kearifan rakyat matematis biasanya mengatakan bahwa FV / upwinded FD sangat bagus untuk masalah hiperbolik sedangkan FEM / central diff FD bagus untuk elips.
Jesse Chan
Saya memperbaiki masalah ini. Membaca ulang jawaban Anda, saya harus mengatakan ini luar biasa! Saya melihat poin Anda bahwa metode ini harus berubah karena itu adalah akar masalahnya (bukan grid). Apakah Anda memiliki saran atau hal yang dapat saya ikuti (yang dapat diakses oleh orang yang tidak ahli) tentang cara perkiraan fluks yang lebih baik dalam kasus ini. Yaitu dengan cara yang mungkin membuatnya lebih stabil. Jika mungkin, saya ingin mencari FVM yang lebih baik untuk persamaan ini.
boyfarrell
0

Hal pertama yang perlu diperhatikan adalah kondisi batas Anda. Karena Anda dapat mengubah kemiringan dan nilai, Anda tidak memiliki kondisi Dirichlet, atau Neumann.

Kemudian, setiap garis lurus adalah solusi di mana sisi kanannya nol. Anda dapat bagian itu.

hh

Guido Kanschat
sumber
1
ρ0ϕ0