Saya bertanya-tanya bagaimana kondisi batas Dirichlet dalam matriks elemen hingga global jarang benar-benar diterapkan secara efisien. Misalnya, katakanlah matriks elemen hingga global kami adalah:
Kemudian untuk menerapkan kondisi Dirichlet pada simpul pertama ( ) kita akan nol dari baris pertama, letakkan 1 di , dan kurangi kolom pertama dari sisi kanan. Misalnya sistem kami akan menjadi: K 11 K = [ 1 0 0 0 0 0 4 1 0 0 0 1 6 3 2 0 0 3 7 0 0 0 2 0 3 ]
Ini semua baik dan bagus dalam teori, tetapi jika matriks K kami disimpan dalam format baris terkompresi (CRS) maka memindahkan kolom ke sisi kanan menjadi mahal untuk sistem besar (dengan banyak node menjadi dirichlet). Alternatifnya adalah dengan tidak memindahkan kolom yang sesuai dengan kondisi Dirichlet ke sisi kanan, yaitu sistem kami akan menjadi:
Namun ini memiliki kelemahan utama dalam sistem tidak lagi simetris dan jadi kita tidak bisa lagi menggunakan gradien konjugat terkondisi (atau pemecah simetris lainnya). Salah satu solusi menarik yang saya temui adalah "Metode Angka Besar" yang saya temukan dalam buku "Pemrograman Elemen Hingga di Jawa" oleh Gennadiy Nikishkov. Metode ini menggunakan fakta bahwa ketelitian ganda hanya mengandung akurasi sekitar 16 digit. Alih-alih menempatkan 1 di posisi kita menempatkan banyak. Misalnya sistem kami menjadi:
Kelebihan dari metode ini adalah mempertahankan simetri matriks dan juga sangat efisien untuk format penyimpanan yang jarang. Pertanyaan saya adalah sebagai berikut:
Bagaimana kondisi batas Dirichlet biasanya diterapkan dalam kode elemen hingga untuk panas / cairan? Apakah orang-orang menggunakan metode jumlah besar biasanya atau mereka melakukan sesuatu yang lain? Apakah ada kerugian dengan metode angka besar yang bisa dilihat seseorang? Saya berasumsi bahwa mungkin ada beberapa metode standar efisien yang digunakan dalam sebagian besar kode komersial dan non-komersial yang memecahkan masalah ini (jelas saya tidak mengharapkan orang untuk mengetahui semua cara kerja dalam setiap pemecah elemen hingga komersial, tetapi masalah ini tampaknya mendasar / mendasar cukup bahwa seseorang mungkin telah bekerja pada proyek-proyek seperti itu dan dapat memberikan panduan).