Misalkan kita memiliki persamaan model aliran Stokes berikut:
dan kita tahu bahwa karena pengali Lagrange dapat ditentukan hingga konstanta, matriks yang akhirnya dirakit harus memiliki nullspace , untuk menghindari hal ini kita dapat menegakkan tekanan pada beberapa elemen tertentu menjadi nol, sehingga kita tidak perlu memecahkan sistem tunggal.
Jadi, inilah pertanyaan saya 1:
- (Q1) Apakah ada cara lain selain menegakkan pada beberapa elemen untuk menghilangkan kernel untuk elemen hingga standar campuran? atau katakan, apakah ada solver di luar sana yang dapat memecahkan sistem tunggal untuk mendapatkan solusi yang kompatibel? (atau beberapa referensi dipersilahkan)
Dan tentang kompatibilitasnya, untuk (1) itu harus dan trik kecil yang menyenangkan adalah menghitung menjadi kita dapatkan dari solusi dari sistem linear dikurangi dengan rata-rata tertimbangnya: ˜ p p ˜ p = p - ν
Namun, baru-baru Saya baru saja menerapkan sebuah stabil dicampur elemen hingga untuk persamaan Stokes oleh Bochev, Dohrmann, dan Gunzberger˜ L ([u,p],[v,q])= L ([u,p],[v,q])- ∫ Ω (p- Π 1 p)(q- Π 1 q)= ∫ Ω f⋅v , di mana mereka menambahkan istilah stabil untuk formulasi variational (1): mana adalah proyeksi dari ruang konstan berlanjut ke piecewise kontinu , dan kernel konstan elemen hingga campuran asli hilang, namun, hal-hal aneh terjadi, (2) tidak tidak berfungsi lagi, saya menciptakan masalah tes dari
namun jika adalah konstanta, masalah pengujian berfungsi dengan baik:
Saya menduga itu karena cara saya memaksakan kondisi kompatibilitas, karena ini terkait dengan stabilitas inf-sup dari seluruh sistem, inilah pertanyaan kedua saya:
- (Q2): apakah ada cara lain selain (2) untuk memaksakan kompatibilitas untuk tekanan ? atau saat membuat masalah pengujian, jenis apa yang harus saya gunakan?
sumber
Jawaban:
Kondisi kompatibilitas menyangkut kecepatan, bukan tekanan. Ini menyatakan bahwa jika Anda hanya memiliki kondisi batas Dirichlet untuk kecepatan, maka ini harus kompatibel dengan kendala bebas divergensi, yaitu dengan batas dari domain komputasi (bukan sel).∫∂Ωu ⋅ n = 0 ∂Ω
Dalam hal ini tidak dapat dibedakan dari dengan konstanta arbitrer karena Anda tidak memiliki kondisi batas pada untuk memperbaiki konstanta. Dengan demikian ada banyak solusi untuk tekanan dan untuk membandingkan solusi, diperlukan sebuah konvensi. Matematikawan lebih suka memilih sehingga (karena mereka dapat berintegrasi) sedangkan fisikawan lebih suka (karena mereka dapat mengukur dalam suatu titik). Jika adalah ekuivalen diskrit Anda dari , itu menyiratkan bahwa∇ hlm ∇ ( p + c ) c hal c hal¯¯¯= pr e f p ( xr e f) = pr e f B p ∇ hlm B memiliki ruang nol yang terdiri dari vektor identitas.
Metode ruang bagian Krylov dapat memecahkan sistem tunggal dengan menghapus ruang nol dari ruang bagian Krylov di mana mereka mencari solusinya. Namun, itu tidak berarti Anda akan mendapatkan solusi yang cocok dengan konvensi yang diberikan, Anda akan selalu perlu menentukan sendiri konstan dalam langkah postprocessing, tidak ada solver yang bisa melakukannya untuk Anda.hal
Berikut ini beberapa saran untuk mengatasi masalah Anda:
sumber
Sedangkan untuk (Q1), Anda dapat memilih solver untuk masalah saddle-point yang menghitung solusi kuadrat terkecil untuk sistem Anda. Kemudian syarat tambahan dapat dikenakan pada pengganda, seperti menetapkan tingkat kebebasan tertentu, memaksakan rata-rata tertentu.
Secara umum, dan saya pikir jawaban ini (Q1), Anda dapat menggunakan batasan linier yang dapat membedakan konstanta yang berbeda.
Batasan ini dapat dikenakan dalam langkah pasca-pemrosesan, atau dengan pilihan ruang uji coba yang tepat (misalnya, jika Anda mengabaikan satu derajat kebebasan).
sumber