Desain pemecah. Sebuah aplikasi solver (solver) secara struktural tidak berbeda dari aplikasi OpenFOAM lainnya: ia menggunakan algoritma yang diimplementasikan dalam berbagai perpustakaan OpenFOAM. Alih-alih memproses lapangan secara aritmatika atau memanipulasi mesh dengan cara tertentu, sebuah solver memperkirakan solusi Persamaan Diferensial Parsial (PDE) yang memodelkan suatu proses fisik.
yang beralih ke direktori induk dari semua solver yang tersedia dalam OpenFOAM, atau dengan mengubah manual ke variabel shell lingkungan $FOAM_SOLVERS:
Pilihan yang Anda sebutkan berfungsi untuk mengubah direktori ke lokasi di mana semua solver OpenFOAM tersedia. Solusi yang Anda sebutkan adalah interFoam, yang merupakan solver untuk DNS dari aliran dua fasa.
File kode sumber interFoam terletak di $FOAM_SOLVERS/multiphase/interFoam. Jika Anda ingin melihat isi dari direktori interFoam, Anda dapat menggunakan perintah ls pada terminal atau command prompt.
Setiap direktori solver berisi banyak file yang berbeda yang mendampingi file implementasi solver utama, dalam hal ini interFoam.C. Ketika solver mengimplementasikan sistem PDE yang saling terkait oleh berbagai istilah, penting untuk mencapai solusi yang tidak hanya memenuhi satu PDE, tetapi semuanya.
Sebuah file bersama dapat dengan mudah digantikan oleh file dengan nama yang sama yang ditempatkan di direktori solver: sistem pembangunan wmake mencari direktori solver terlebih dahulu untuk file yang akan disertakan.
INFO Setiap kali sebuah file sumber ditemukan dengan akhiran Eqn, file tersebut berisi implementasi dari sebuah persamaan model matematika.
Secara default, semua aplikasi OpenFOAM menyertakan finiteVolume/lnInclude sebagai direktori pencarian untuk kompiler:
Fungsionalitas lain yang tersedia secara global yang diimplementasikan dalam bentuk file header tersebut tercantum di atas, dan termasuk yang berikut:
° pengaturan langkah waktu berdasarkan kondisi CFL,
° koreksi untuk konservasi volume,
° penentuan kesalahan kontinuitas,
° membaca vektor percepatan gravitasi,
Pendekatan desain perangkat lunak dalam simulasi CFD memang bersifat prosedural: proses input simulasi untuk menghitung solusi perkiraan dan menyimpan outputnya. Beberapa variabel telah dibuat global dan selalu dapat diakses oleh proses solusi, seperti bidang dan mesh. Dalam hal ini, mengkapsulasi operasi yang didefinisikan dalam file yang disertakan ke dalam kelas dan memberlakukan hirarki pada mereka masih memungkinkan.
INFO OpenFOAM menggunakan pemrograman generik untuk mengimplementasikan operator diferensial diskret. Operator tersebut menyalurkan operasi diskritisasi dan interpolasi ke hierarki generik skema diskritisasi dan interpolasi, masing-masing. Templat kelas interpolasi/diskritisasi diinstansiasi dan telah dibuat dapat dipilih saat runtime. Akibatnya, tidak ada perubahan yang diperlukan pada kode solver ketika skema yang berbeda dipilih.