infistream

5.10.1 uFVM

Program komputer uFVM adalah kode volume terbatas tiga dimensi yang tidak terstruktur yang dikembangkan untuk tujuan akademis. Ini ditulis dalam Matlab® dan karena itu sangat cocok untuk diseksi oleh pengguna. Selain itu, lingkungan Matlab® memungkinkan pengguna untuk membongkar berbagai struktur data yang diadopsi dalam kode kapan pun selama menjalankan suatu kasus. Selain itu, karena ditujukan untuk penggunaan akademis dan pengajaran, kejelasan penulisan kode adalah salah satu prioritas utama saat merancang detail implementasi dari berbagai algoritma dan skema. Namun, semua numerik dan algoritmanya serupa dalam banyak hal dengan yang digunakan dalam kode CFD yang berorientasi industri, dan oleh karena itu uFVM sangat berguna sebagai panduan bagi siapa pun yang tertarik mengembangkan kode CFD.

Sistem persamaan yang terdiskritisasi dalam uFVM disimpan dalam format matriks sehingga setiap baris mewakili persamaan terdiskritisasi dalam satu elemen, dengan koefisien off-diagonal mewakili pengaruh saling tetangga elemen. Representasi komputasi dari matriks ini biasanya memperhitungkan fakta bahwa setiap baris akan mengandung hanya sejumlah kecil elemen non-nol, khususnya dalam setiap baris akan ada sebanyak elemen non-nol seperti tetangga pada elemen yang terkait dengan baris tersebut.

Untuk contoh yang ditunjukkan dalam Figur 5.18, jaringannya terdiri dari 7 elemen, dan elemen 3 memiliki empat tetangga. Oleh karena itu, persamaan terdiskritisasi untuk elemen 3 akan mencakup 4 koefisien selain koefisien diagonal. Jelas mengapa untuk jaringan yang besar banyak elemen non-diagonal adalah nol.

Baik dalam uFVM dan seperti yang ditunjukkan kemudian dalam OpenFOAM®, dan memang dalam semua kode CFD, sebuah matriks sparse digunakan untuk menyimpan berbagai koefisien dari sistem persamaan yang dihasilkan. Dalam uFVM, matriks A disimpan dalam sebuah array dari array, di mana elemen pertama dari setiap baris mewakili elemen diagonal, sementara elemen-elemen yang tersisa dari array menyimpan koefisien non-diagonal. Sisi kanan sistem disimpan dalam array terpisah B. Ini diilustrasikan dalam Figur 5.18.

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