infistream

7.5 LATIHAN

Latihan 1
Untuk konfigurasi yang ditunjukkan pada Gambar 7.11

(a) Tuliskan pemilik (owner) dan tetangga (neighbor) untuk setiap wajah interior dan gunakan informasi tersebut untuk menulis daftar pemilik (owners) dan tetangga (neighbors).
(b) Bangun larik koneksi untuk setiap elemen dengan melooping setiap wajah interior menggunakan informasi pemilik-tetangga; ini adalah koneksi koefisien yang digunakan dalam uFVM.
(c) Bangun koefisien ldu yang menggunakan koneksi yang digunakan dalam OpenFOAM®.

GAMBAR 7.11

Domain persegi yang di-discretisasi dengan grid tak terstruktur yang digunakan untuk Latihan 1

 

Latihan 2
Menggunakan kode uFVM (MATLAB®), baca mesh siku (tersedia di situs web buku) dan lakukan hal berikut:

(a) Tulis sebuah skrip untuk melooping semua elemen domain dan mencetak untuk setiap elemen indeksnya, dan indeks-indeks wajahnya dalam            format berikut “elemen [i] → wajah[k l m n…]”
(b) Deklarasikan array phi sebagai field elemen (ukuran = 1, Jumlah elemen + Jumlah wajah batas), dan inisialisasi menggunakan formula berikut: φ(x,    y, z) = 10xy + 5y^2.
(c) Deklarasikan array elemen baru dengan tipe vektor (ukuran 3, Jumlah elemen + Jumlah wajah batas) dan gunakan untuk menghitung gradien phi,      menggunakan teorema gauss, yaitu

Ini dapat ditulis sebagai berikut untuk data mesh yang digunakan: 

Latihan 3
Gunakan blockMesh untuk menyiapkan mesh seragam yang mirip dengan yang ditunjukkan pada Gambar 7.12 untuk L = 1. Di OpenFOAM® dan kemudian di uFVM, lakukan hal berikut:

(a) Tulis sebuah program untuk membaca mesh dan melooping semua boundary patch. Kemudian untuk setiap patch, cetak sentroid dan vektor normal dari wajahnya.
(b) Modifikasi program untuk mendefinisikan volumeScalarField T. Tetapkan nilai-nilai untuk T di sentroid elemen dan di batasannya menjadi 10x^2y^2, di mana x dan y adalah koordinat sentroid elemen, dan dalam kasus batasnya sentroid wajah batas.
(c) Tulis sebuah program untuk menghitung gradien T dan bandingkan nilainya dengan solusi analitis.

GAMBAR 7.12

Sebuah domain dua dimensi yang dihasilkan dengan blockMesh

Latihan 4

(a) Temukan di OpenFOAM® menggunakan Doxygen [2], definisi kelas dari tipe data points, face, dan cell.
(b) Melakukan perulangan (loop) pada semua wajah interior (menggunakan forAll) dan untuk setiap wajah, tulis pemilik (owner), tetangga (neighbor), dan sentroidnya.
(c) Melakukan perulangan pada semua elemen dan tulis untuk setiap elemen nilai akar kubik dari volumenya dan sentroidnya.
(d) Melakukan perulangan pada semua wajah batas dan tulis untuk setiap wajah pemilik (parentCell) dan sentroidnya.
(e) Mendefinisikan surfaceScalarField dan tetapkan nilainya sama dengan komponen x untuk wajah interior dan komponen y untuk wajah batas.
(f) Temukan fungsi anggota dari surfaceScalarField (GeometricField<>) yang mengembalikan nilai waktu lama (old time values).