infistream

Medan volume

Medan volume adalah lapangan-lapangan yang biasanya digunakan untuk menyimpan nilai-nilai lapangan yang berpusat pada sel. Bergantung pada jenis tensor yang disimpan oleh lapangan, baik volScalarField, volVectorField, atau volTensorField dapat digunakan. Ada juga lapangan-lapangan permukaan (surface) dan titik (point), yang menyimpan nilai-nilai lapangan di pusat wajah (face centers) dan sudut-sudut (cell corner-points) sel, secara berturut-turut.

INFO

Kesalahan kompilasi yang melibatkan lapangan seperti volScalarField menyebabkan kesalahan templat C++, yang cukup panjang dan tidak intuitif untuk dibaca. Karena lapangan-lapangan merupakan instansiasi dari templat kelas GeometricField, kode sumber kelas templat GeometricField dapat diselidiki untuk mendapatkan informasi lebih lanjut tentang kesalahan tersebut.

 

Antarmuka kelas memiliki beberapa konstruktor yang di-overload yang mungkin berguna, tergantung pada situasi tertentu. Konstruktor sederhana adalah konstruktor salinan:

Seperti namanya, konstruktor ini membuat salinan dari aslinya, yang identik dengan tipe. Ini diperlukan oleh lapangan, agar dapat dibangun dari sebuah file:

Dalam beberapa keadaan, lapangan harus dibangun tanpa membaca data dari sebuah file. Lapangan aliran (flux field) adalah contoh bagus untuk itu:

Di sini, lapangan phi dibangun dari data lapangan itu sendiri jika file ada. Jika tidak, aliran (flux) dihitung dari lapangan kecepatan secara langsung.

Mengakses data sel : Sel-sel tertentu dapat diakses dengan memanggil operator akses Type& operator[](const label cellI) dari lapangan tertentu dan melewati label sel yang diinginkan sebagai argumen. 

INFO
Menggunakan loop untuk medan dalam kode program application-level mengurangi kode yang bisa dibaca dan bisa mengakibatkan penurunan efisiensi komputasi yang signifikan.

Kode berikut ini menunjukan sebuah contoh dari bagaimana cell dari medan tekanan dan kecepatan bisa dipiliah :

Mengakses lapangan batas : Pemisahan logis nilai-nilai yang berpusat pada sel dan nilai-nilai batas (berpusat pada wajah) didefinisikan oleh prinsip-prinsip interpolasi numerik yang mendukung FVM.


dan medan batas kemudian diakses menggunakan fungsi anggota GeometricField:: boundaryField:

Medan volumetrik tekanan memiliki fungsi anggota boundaryField yang mengembalikan daftar penunjuk ke lapangan-lapangan batas. Posisi lapangan batas outlet dalam daftar penunjuk tersebut didefinisikan oleh label outletID (indeks). 

GeometricBoundaryField adalah kelas templat yang diberi parameter dengan parameter yang sama seperti GeometricField dan definisi dari kelas templat ini ditempatkan di bagian publik dari antarmuka kelas GeometricField.