Saya mencoba mensimulasikan model semikonduktor dasar untuk keperluan pedagogis - mulai dari model difusi-Drift. Meskipun saya tidak ingin menggunakan simulator semikonduktor off-the-shelf - saya akan belajar model lain (umum, baru-baru ini atau tidak jelas), saya ingin menggunakan pemecah PDE off-the-shelf.
Tetapi bahkan untuk kasus 1D sederhana, model difusi drift terdiri dari sejumlah PDE nonlinier yang dipasangkan:
Persamaan kepadatan saat ini J p = q p ( x ) μ p E ( x ) + q D p ∇ p
Persamaan kontinuitas ∂hlm
Persamaan Poisson
dan sejumlah syarat batas.
Saya telah mencoba beberapa pemecah FEM python, FEniCS / Dolfin dan SfePy , tetapi tidak berhasil, karena tidak dapat memformulasikannya dalam bentuk variasi yang lemah dengan fungsi tes.
Tentu saja ada opsi untuk mengimplementasikan solusi numerik dari awal tetapi saya belum mempelajari FEM / Numerik secara mendalam, jadi saya harap ini bukan satu-satunya pilihan saya karena saya tidak ingin kewalahan dengan masalah numerik.
Jadi apakah ada paket (pref. Open source) yang akan mengambil persamaan ini, dalam bentuk itu, dan menyelesaikannya? Atau mungkin bentuk variasi yang dibutuhkan oleh alat tidak sesulit itu? Bagaimanapun, apa saja pilihan saya?
Terima kasih
Sunting: Upaya merumuskan bentuk variasi yang lemah untuk FEniCS / Dolfin atau SfePy
Menggunakan tiga PDE (Poisson + dua persamaan kontinuitas dengan J tersubstitusi), kami mencari V, n, dan p. Persamaan Poisson (menggunakan fungsi tes ) lurus ke depan. Namun saya mengalami kesulitan dengan persamaan kontinuitas.
PDE kedua (bentuk kuat) mana adalah konstanta, adalah fungsi skalar
Biarkan menunjukkan fungsi tes untuk PDE kedua. Kemudian
Terutama yang mengkhawatirkan adalah integral:
Tetapi adalah vektor, dan adalah skalar. Kemudian gunakan identitas
Karena V diselesaikan dengan persamaan Poisson, dapatkah kita menggunakan nilai yang dihitung baru-baru ini sebagaimana diizinkan dalam perangkat lunak Dolfin / FEniCS dan menyederhanakan cara kita memperlakukan V dalam persamaan gabungan kedua ini? Jenis-jenis teknik ini berfungsi dengan baik ketika melakukan diskritisasi (mis. Gummel, ...), yang tidak saya lakukan pada pemecah yang sudah siap!
Juga syarat batas diberikan dalam bentuk bukan , bagaimana Anda menerapkan ini? Haruskah saya memecahkan lima variabel , meskipun ditentukan oleh V dan n? n J n , J p , n , p , V J n