infistream

Linearisasi Suku Sumber

Linearisasi Suku Sumber. Di Bagian 14.1, penanganan sumber dalam persamaan transportasi dari variabel generik / telah dibahas. Linearisasi yang disarankan (atau perlakuan implisit) dapat dilihat sebagai pemberian langkah waktu buatan pada matriks koefisien, sehingga memengaruhi waktu karakteristik dari kemajuan solusi. Selain itu, hal ini meningkatkan dominasi diagonal dan meningkatkan kekokohan solusi dari sistem aljabar persamaan dengan memungkinkan relaksasi bawaan untuk beraksi ketika diperlukan. Artinya, setiap kali suku sumber negatif berubah secara signifikan, sistem secara otomatis menyesuaikan resolusi langkah waktu untuk menangkap karakteristik fenomena yang dimodelkan. Ini berbeda dengan pendekatan tanpa linearisasi (perlakuan eksplisit), yang memerlukan relaksasi bawah yang lebih berat dari sistem persamaan dengan faktor relaksasi umumnya tidak optimal.

Untuk diskritisasi suku sumber, OpenFOAM® menggunakan operator implisit fvm:: dan eksplisit fvc:: . Secara khusus, implementasi operator fvc:: dapat ditemukan di direktori “$FOAM_SRC/finiteVolume/finiteVolume/fvc/” dalam file-file yang sesuai fvcSup.H dan fvcSup.C. Namun, biasanya normanya adalah mendefinisikan suku sumber eksplisit ke dalam persamaan tanpa perlu menggunakan operator fvc::. Sebagai contoh, mempertimbangkan kasus persamaan transportasi skalar generik dengan suku sumber yang tidak bergantung langsung pada variabel utama dan oleh karena itu tidak dapat dilinearkan, diberikan oleh

Di OpenFOAM® Persamaan (14.35) dapat diimplementasikan, seperti yang ditunjukkan dalam Listing 14.3, seperti yang tertera di bawah ini:

dengan suku sumber tidak memerlukan fungsi pemetaan khusus atau operator. Implementasi dari fungsi fvm:: dapat ditemukan di direktori “$FOAM_SRC/finiteVolume/finiteVolume/fvm/” dalam file-file yang sesuai fvmSup.H dan fvmSup.C. Diskritisasi dari sumber yang dilinearkan diatur dalam fungsi fvm::Sp. Sesuai dengan Persamaan (14.5), bagian implisit dari suku sumber ditambahkan sebagai kontribusi ke diagonal utama matriks koefisien. Untuk tujuan itu, fungsi Sp didefinisikan dalam Listing 14.4.

Sangat penting untuk dicatat bahwa fungsi Sp memperlakukan suku sumber tanpa memandang tanda kemiringan bentuk linearisasinya. Ini berarti bahwa dalam kasus ketika kemiringan dari suku linearisasi positif, operasi tersebut dapat menyebabkan divergensi algoritma solusi karena menghancurkan dominasi diagonal dari himpunan persamaan aljabar. Oleh karena itu, selalu penting untuk memastikan bahwa perlakuan implisit digunakan hanya ketika menghasilkan kemiringan negatif dari suku linearisasi. Untuk kasus ketika dalam kemiringan dari suku sumber yang dilinearkan dapat mengambil, di berbagai wilayah domain, nilai yang berbeda (positif dan negatif), kontribusi negatif harus diperlakukan sebagai implisit dan kontribusi positif sebagai eksplisit. Untuk tujuan itu, OpenFOAM® menyediakan fungsi suku sumber khusus yang ditandai dengan fvm::SuSp di mana perlakuan implisit/eksplisit secara otomatis dilakukan. Skrip dari fungsi ini diberikan dalam Listing 14.5.

Dalam fungsi ini, baik vektor diagonal maupun suku sumber diisi tergantung pada tanda lokal kemiringan suku sumber yang dilinearkan. Faktanya, penggunaan fungsi max/min mencapai diskritisasi yang selektif. Misalnya, jika dalam sel generik dari domain, kemiringan suku sumber yang dilinearkan mengambil nilai negatif (di sini diambil sebagai positif), kontribusi ke vektor sumber adalah nol (yaitu, min(SuSp.field(), scalar(0)) = 0) dan sebaliknya untuk kontribusi diagonal.

Open chat
Infichat
Hello 👋
Thank you for text me
Can we help you?