Model k – ω sst
Kelas “kOmegaSST” mengimplementasikan versi model k − ω SST yang dijelaskan oleh Persamaan (17.38) hingga (17.49). Kumpulan variabel dan konstanta yang digunakan dalam model didefinisikan oleh skrip yang ditunjukkan dalam Listing 17.21.
Listing 17.21 Skrip yang mendefinisikan model k – ω SST
Listing 17.21 (lanjutan)
Fungsi anggota pribadi tambahan (blend, alphaK, alphaOmega, dll.) sekarang didefinisikan untuk merepresentasikan koefisien campuran yang muncul dalam Persamaan (17.39). Fungsi F1 dan F2 menggambarkan variabel yang diberikan oleh Persamaan (17.41) dan (17.47), secara berturut-turut. Fungsi F3 tidak muncul dalam model asli Menter dan merupakan modifikasi untuk dinding kasar yang diperkenalkan oleh Hellsten [55].
Seperti yang ditunjukkan dalam Listing 17.22, model ini dapat dipilih dari kamus “RASProperties” dengan nama “kOmegaSST” yang didefinisikan di bawah “TypeName” kelas sebagai
Listing 17.22 Pernyataan yang digunakan untuk memilih model k – ω SST
Kelas kOmegaSST diturunkan dari kelas dasar virtual “turbulenceModel”, dan sebagai hasilnya, semua fungsi dasar virtualnya disesuaikan secara sesuai (Listing 17.23).
Listing 17.23 Spesialisasi dari fungsi virtual murni yang didefinisikan dalam kelas dasar “RASModel”
Implementasi model ini dijelaskan di “FOAM_SRC/turbulence Models/incompressible/RAS/kOmegaSST/kOmegaSST.C”. Seperti dalam kelas kEpsilon, fungsi correct menyelesaikan kumpulan lengkap persamaan model turbulensi SST. Pertama, persamaan ω disiapkan dan diselesaikan menggunakan skrip yang ditunjukkan dalam Listing 17.24.
Listing 17.24 Merakit dan selesaikan persamaan ω
Dalam skrip tersebut, Gfield mewakili istilah produksi Pk yang didefinisikan dalam Persamaan (17.28), sementara lapangan CDkOmega dan F1 dievaluasi berdasarkan Persamaan (17.41), (17.42), dan (17.47). Seperti pada kelas kEpsilon, nilai-nilai ω dan Pk dimodifikasi di dinding mengikuti pendekatan fungsi dinding dengan mendefinisikan kelas kondisi batas dinding untuk ω. Modifikasi terhadap lapangan kemudian diberlakukan melalui fungsi “omega_.boundaryField().updateCoeffs();”. Definisi batas untuk frekuensi eddy ω dapat ditemukan di bawah direktori “FOAM_SRC/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction”. Berdasarkan model fungsi dinding, kelas ini harus memperbarui nilai dari kedua variabel ω dan Pk. Operasi ini dilakukan, seperti yang ditunjukkan dalam Listing 17.25, oleh fungsi “calculate” biasa menggunakan Persamaan (17.81), (17.99), dan (17.100) (dengan G yang sesuai dengan istilah produksi Pk).
Listing 17.25 Menghitung ω dan memodifikasi produksi energi kinetik turbulensi di sel-sel dekat dinding
Untuk menerapkan nilai sel yang sebelumnya dihitung, matriks harus dimanipulasi mengikuti prosedur yang sama dengan yang digunakan pada model “kEpsilon”. Setelah persamaan ω diselesaikan, OpenFOAM® melanjutkan dengan merakit dan menyelesaikan persamaan k, seperti yang ditunjukkan dalam Listing 17.26.
Listing 17.26 Merakit dan selesaikan persamaan k
Dalam hal ini, tidak diperlukan manipulasi tambahan karena istilah produksi Pk sudah dimodifikasi di dinding dan kondisi batas untuk k hanya berupa tipe gradien nol (“zeroGradient”).
Setelah nilai k dan ω dihitung, viskositas turbulen eddy diperbarui menggunakan skrip dalam Listing 17.27, yang sesuai dengan Persamaan (17.46).
Listing 17.27 Memperbarui viskositas turbulen eddy
Kendala keandalan Menter diterapkan pada viskositas turbulen di mana konstan b1_ mengambil nilai 1.0, sementara fungsi F23, yang dijelaskan dalam Listing 17.28, secara default mengembalikan fungsi F2 yang sesuai yang didefinisikan oleh Persamaan (17.47).
Listing 17.28 Definisi fungsi F23
Akhirnya, viskositas turbulen dikoreksi di batas dinding sesuai dengan Persamaan (17.77) menggunakan prosedur yang sama seperti dalam kelas kEspilon di mana fungsi dinding Spalding diterapkan oleh kelas “nutkWallFunctionFvPatchScalarField”.