Pengambilan sampel data
Pengambilan sampel data. Metodologi pemprosesan sampel menyediakan cara yang mudah digunakan untuk mengekstrak data simulasi. Meskipun ada banyak aplikasi visualisasi yang menghasilkan gambar menarik, sampel lebih cocok untuk peran yang kurang menarik secara visual namun argumen lebih penting dari analisis kuantitatif. Sebagai contoh, dari pada memperkirakan ketebalan lapisan batas secara visual dari representasi magnitudo kecepatan, itu dapat diekstraksi dari data kecepatan mentah atau diinterpolasi dan dimasukkan ke dalam tabel data.
Secara umum, pengambilan sampel digunakan untuk mengekstrak dan menghasilkan representasi 1D, 2D, atau 3D dari subset data solusi simulasi seperti nilai titik, plot di atas garis, atau iso-surface secara berturut-turut. Berbagai format output didukung, serta berbagai entitas pengambilan geometris.
Pada versi OpenFOAM sebelumnya, sampel adalah utilitas independen tetapi sekarang sudah tidak lagi digunakan dan sekarang didistribusikan antara berbagai objek fungsi pemrosesan pasca. Konfigurasi yang lebih baru ini memungkinkan semua operasi pengambilan sampel dilakukan selama waktu simulasi berjalan serta setelah simulasi selesai.
Fungsi ini biasanya didefinisikan melalui controlDict dalam subdictionary fungsi secara default. Alternatifnya, fungsi-fungsi tersebut dapat didefinisikan dalam sebuah dictionary terpisah selama penggunaan menunjukkan ke file yang sesuai saat memanggil utilitas pemprosesan pasca. Pendekatan terakhir ini cenderung membantu kasus dan prosedur pemrosesan pasca tetap terorganisir dan akan dijelaskan di bawah ini. Contoh konfigurasi berbagai fungsi pengeboran titik, grafik, atau ekstraksi permukaan diuraikan dalam kamus kasus contoh di sini:
Pembahasan
Membuka contoh-contoh di atas dari etc dalam editor teks menunjukkan semua opsi konfigurasi yang tersedia untuk utilitas pemrosesan pasca sampel. Ada sejumlah besar opsi yang tersedia, dan sampleDict yang disediakan sangat terdokumentasi dengan baik. Opsi dijelaskan dengan jelas. Sampel dapat menangani beragam parameter pengambilan sampel: nama bidang, format output, set mesh, skema interpolasi, dan permukaan.
Terlepas dari beragamnya parameter pengambilan sampel, sampel selalu menangani proses pengambilan data dengan cara yang sama, terlepas dari pilihan subset parameter pengguna. Sebuah bidang yang akan diambil sampelnya dipilih dengan memberikan nama bidang dalam daftar kata fields. Sebuah subset dari mesh (sub-dictionary set) atau sebuah entitas geometris (sub-dictionary surfaces) digunakan untuk menempatkan titik pengambilan data. Dalam kasus di mana titik pengambilan data tidak bertepatan dengan titik-titik mesh yang menyimpan data bidang (misalnya pusat sel atau pusat wajah), data diinterpolasi menggunakan skema interpolasi yang berbeda (parameter interpolationScheme). Data yang diinterpolasi kemudian disimpan dalam kasus, dalam format output yang ditentukan (parameter setFormat).
Sebuah contoh ekstraksi data 1D adalah dengan mendefinisikan sebuah garis yang memotong domain aliran dan mengambil sampel bidang kecepatan sepanjang garis ini. Ini dapat digunakan untuk mengambil sampel profil kecepatan, seperti biasanya dilakukan untuk kasus rongga. Profil yang diekstraksi ini kemudian dapat dibandingkan dengan dataset lain, menggunakan utilitas plotting yang disukai. Contoh aplikasi lain dari sampel adalah untuk mengekstrak nilai bidang batas pada kasus simulasi besar. Alih-alih mencoba membuka seluruh kasus simulasi dalam paraView, sampel dapat digunakan untuk mengekstrak hanya nilai-nilai pada patch batas yang relevan. Pendekatan lokal ini untuk pemrosesan pasca dengan menggunakan sampel dapat secara drastis mengurangi sumber daya komputasi yang diperlukan, tergantung pada ukuran dataset.
Setiap kasus simulasi dapat digunakan untuk menunjukkan bagaimana cara mengambil sampel data simulasi menggunakan utilitas sampel. Untuk tujuan itu, kasus uji gelembung naik dua dimensi dipilih, tersedia dalam sub-direktori chapter4/risingBubble2D dari repositori kasus contoh. Untuk menggunakan sampel dengan sukses pada kasus tersebut, simulasi harus dijalankan:
Bagian-bagian yang mengikuti mencakup contoh penggunaan sampel dan semuanya melibatkan memanipulasi subdictionary fungsi. Meskipun subdictionary ini dapat didefinisikan dalam controlDict, itu juga dapat didefinisikan dalam file kamus khusus yang terpisah, yang merupakan pendekatan yang akan kita gunakan dalam contoh ini.
PERINGATAN
Sebelum melanjutkan dengan contoh-contoh ini, buka sampleDict yang disediakan dengan kode sumber sampel dalam editor teks pilihan Anda, untuk melihat semua opsi konfigurasi sampel yang mungkin.