Saya tidak mengerti perilaku berbeda dari persamaan advection-difusion ketika saya menerapkan kondisi batas yang berbeda. Motivasi saya adalah simulasi kuantitas fisik nyata (kepadatan partikel) di bawah difusi dan adveksi. Kepadatan partikel harus dilestarikan di interior kecuali mengalir keluar dari tepi. Dengan logika ini, jika saya menerapkan syarat batas Neumann pada ujung sistem seperti (di sisi kiri dan kanan) maka sistem harus "ditutup" yaitu jika fluks pada batas adalah nol maka tidak ada partikel yang bisa lolos.
Untuk semua simulasi di bawah ini, saya telah menerapkan diskritisasi Crank-Nicolson ke persamaan advection-difusion dan semua simulasi memiliki kondisi batas. Namun, untuk baris pertama dan terakhir dari matriks (baris kondisi batas) saya izinkan diubah secara independen dari nilai interior. Ini memungkinkan titik akhir sepenuhnya tersirat.β
Di bawah ini saya membahas 4 konfigurasi berbeda, hanya satu di antaranya yang saya harapkan. Pada akhirnya saya membahas implementasi saya.
Batas difusi saja
Di sini istilah advection dimatikan dengan mengatur kecepatan ke nol.
Hanya difusi, dengan = 0,5 (Crank-Niscolson) di semua titik
Kuantitas tidak dikonservasi seperti yang terlihat oleh pengurangan area pulsa.
Hanya difusi, dengan = 0,5 (Crank-Niscolson) pada titik interior, dan = 1 (implisit penuh) pada batasβ
Dengan menggunakan persamaan sepenuhnya implisit pada batas saya mencapai apa yang saya harapkan: tidak ada partikel yang lolos . Anda dapat melihat ini dengan area yang dikonservasi karena partikelnya berdifusi. Mengapa pilihan pada titik batas mempengaruhi fisika situasi? Apakah ini bug atau yang diharapkan?
Difusi dan adveksi
Ketika istilah advection dimasukkan, nilai pada batas tampaknya tidak mempengaruhi solusi. Namun, untuk semua kasus ketika batas tampaknya "terbuka" yaitu partikel bisa lolos dari batas. Mengapa demikian?
Adveksi dan Difusi dengan = 0,5 (Crank-Niscolson) di semua titik
Adveksi dan Difusi dengan = 0,5 (Crank-Niscolson) pada titik interior, dan = 1 (implisit penuh) pada batasβ
Penerapan persamaan advection-difusion
Dimulai dengan persamaan advection-difusion,
Menulis menggunakan Crank-Nicolson memberi,
Perhatikan bahwa = 0,5 untuk Crank-Nicolson, = 1 untuk sepenuhnya implisit, dan, = 0 untuk sepenuhnya eksplisit.
Untuk menyederhanakan notasi, mari kita lakukan substitusi,
dan pindahkan nilai yang diketahui dari turunan waktu ke sisi kanan,
Anjak istilah memberi,
yang dapat kita tulis dalam bentuk matriks sebagai mana,
Menerapkan ketentuan batas Neumann
NB bekerja melalui derivasi lagi saya pikir saya telah melihat kesalahan. Saya mengasumsikan skema sepenuhnya implisit ( = 1) ketika menulis perbedaan kondisi batas yang terbatas. Jika Anda menganggap skema Crank-Niscolson di sini kompleksitasnya menjadi terlalu besar dan saya tidak bisa menyelesaikan persamaan yang dihasilkan untuk menghilangkan node yang berada di luar domain. Namun, tampaknya mungkin, ada dua persamaan dengan dua yang tidak diketahui, tetapi saya tidak bisa mengelolanya. Ini mungkin menjelaskan perbedaan antara plot pertama dan kedua di atas. Saya pikir kita dapat menyimpulkan bahwa hanya plot dengan = 0,5 pada titik batas yang valid.
Dengan asumsi fluks di sisi kiri diketahui (dengan asumsi bentuk sepenuhnya implisit),
Menulis ini sebagai perbedaan terpusat memberi,
oleh karena itu,
Perhatikan bahwa ini memperkenalkan simpul yang berada di luar domain masalah. Node ini dapat dihilangkan dengan menggunakan persamaan kedua. Kita dapat menulis simpul sebagai,
Mengganti nilai ditemukan dari kondisi batas memberikan hasil sebagai berikut untuk = 1 baris,
Melakukan prosedur yang sama untuk baris terakhir (at = ) menghasilkan,
Akhirnya membuat baris batas tersirat (pengaturan = 1) memberi,
Karenanya dengan syarat batas Neumann kita dapat menulis persamaan matriks, ,
dimana,
Pemahaman saya saat ini
Saya pikir perbedaan antara plot pertama dan kedua dijelaskan dengan memperhatikan kesalahan yang diuraikan di atas.
Mengenai konservasi kuantitas fisik. Saya percaya penyebabnya adalah bahwa, seperti yang ditunjukkan di sini , persamaan adveksi dalam bentuk yang saya tulis tidak memungkinkan propagasi dalam arah sebaliknya sehingga gelombang hanya melewati bahkan dengan kondisi batas nol-fluks . Intuisi awal saya tentang konservasi hanya diterapkan ketika jangka waktu adveksi adalah nol (ini adalah solusi dalam plot nomor 2 di mana area tersebut dilestarikan).Bahkan dengan kondisi batas nol-fluks Neumann massa masih dapat meninggalkan sistem, ini karena kondisi batas yang benar dalam kasus ini adalah kondisi batas Robin di mana total fluks ditentukan . Selain itu, kondisi Neunmann menentukan bahwa massa tidak dapat meninggalkan domain melalui difusi , ia tidak mengatakan apa pun tentang adveksi. Pada dasarnya apa yang kita dengar adalah kondisi batas tertutup untuk difusi dan kondisi batas terbuka untuk kemajuan. Untuk informasi lebih lanjut lihat jawabannya di sini, Penerapan kondisi batas gradien nol dalam persamaan adveksi-difusi.
Apakah kamu setuju?