Silakan kutip sebagai: Barba, Lorena A., dan Forsyth, Gilbert F. (2018). CFD Python: 12 langkah persamaan Navier-Stokes. Jurnal Pendidikan Open Source , 1 (9), 21, https://doi.org/10.21105/jose.00021
CFD Python , alias 12 langkah ke Navier-Stokes , adalah modul praktis untuk mempelajari dasar-dasar Computational Fluid Dynamics (CFD) dengan mengkodekan solusi persamaan diferensial parsial dasar yang menggambarkan fisika aliran fluida. Modul ini merupakan bagian dari mata kuliah yang diajarkan oleh Prof. Lorena Barba antara tahun 2009 hingga 2013 di jurusan Teknik Mesin Universitas Boston (Prof. Barba sejak pindah ke Universitas George Washington).
Modul ini hanya mengasumsikan pengetahuan pemrograman dasar (dalam bahasa apa pun) dan beberapa latar belakang dalam persamaan diferensial parsial dan mekanika fluida. “Langkah-langkah” tersebut terinspirasi dari ide Dr. Rio Yokota yang merupakan post-doc di lab Prof. Barba hingga tahun 2011, dan pembelajarannya disempurnakan oleh Prof. Barba dan mahasiswanya selama beberapa semester mengajar mata kuliah CFD. Kami menulis kumpulan buku catatan Jupyter ini pada tahun 2013 untuk mengajar kursus intensif dua hari di Mendoza, Argentina.
Dengan membimbing siswa melalui langkah-langkah ini (tanpa melewatkan satu pun!), mereka mendapatkan banyak pelajaran berharga. Sifat latihan yang bertahap berarti mereka merasakan pencapaian di akhir setiap tugas, dan mereka merasa belajar dengan sedikit usaha. Seiring kemajuan mereka, mereka secara alami mempraktikkan penggunaan kembali kode dan secara bertahap mempelajari teknik pemrograman dan pembuatan plot. Saat mereka menganalisis hasilnya, mereka belajar tentang difusi numerik, akurasi, dan konvergensi. Dalam waktu sekitar empat minggu dari kursus yang dijadwalkan secara rutin, mereka menjadi programmer yang cukup mahir dan termotivasi untuk mulai mendiskusikan hal-hal yang lebih teoretis.
Dalam kursus universitas sesi reguler, siswa dapat menyelesaikan pelajaran CFD Python dalam 4 hingga 5 minggu. Sebagai tutorial intensif, modul ini dapat diselesaikan dalam dua atau tiga hari penuh, tergantung pada pengalaman pembelajar sebelumnya. Pelajaran juga dapat digunakan untuk belajar mandiri. Dalam semua kasus, pelajar harus mengikuti contoh yang dikerjakan di setiap pelajaran dengan mengetik ulang kode di buku catatan Jupyter baru, mungkin membuat catatan asli saat mereka mencoba berbagai hal.
Luncurkan sesi interaktif dengan modul ini menggunakan layanan Binder:
Langkah 1–4 berada dalam satu dimensi spasial. Langkah 5–10 berada dalam dua dimensi (2D). Langkah 11–12 selesaikan persamaan Navier-Stokes dalam 2D. Tiga buku catatan "bonus" mencakup kondisi CFL untuk stabilitas numerik, operasi array dengan NumPy, dan mendefinisikan fungsi dengan Python.
Untuk menggunakan pelajaran ini, Anda memerlukan Python 3, dan tumpukan standar Python ilmiah: NumPy, Matplotlib, SciPy, Sympy. Dan tentu saja, Anda memerlukan Jupyter—lingkungan komputasi interaktif yang berjalan di browser web.
Kursus mini ini dibuat sebagai satu set buku catatan Jupyter yang berisi materi tertulis dan solusi kerja pada kode Python. Untuk mengerjakan materi, kami menyarankan Anda memulai setiap pelajaran dengan buku catatan baru, dan mengikutinya, mengetik setiap baris kode (jangan salin dan tempel!), dan jelajahi dengan mengubah parameter dan melihat apa yang terjadi.
Setelah menginstal, untuk memastikan bahwa paket Anda mutakhir, jalankan perintah berikut di terminal:
conda update conda
conda update jupyter numpy sympy scipy matplotlib
Jika Anda lebih memilih Miniconda (versi mini Anaconda yang menghemat ruang disk), instal semua perpustakaan yang diperlukan untuk mengikuti kursus ini dengan menjalankan perintah berikut di terminal:
conda update conda
conda install jupyter
conda install numpy scipy sympy matplotlib
pip install jupyter
Harap pastikan juga bahwa Anda telah menginstal perpustakaan yang diperlukan dengan menjalankan
pip install numpy scipy sympy matplotlib
Kami menerima kontribusi melalui permintaan penarikan—bahkan, beberapa pengguna telah mengirimkan permintaan penarikan untuk melakukan koreksi atau perbaikan kecil. Anda juga dapat membuka isu jika menemukan bug, atau mempunyai saran.
(c) 2017 Lorena A.Barba, Gilbert F.Forsyth. Semua konten berada di bawah Creative Commons Attribution CC-BY 4.0, dan semua kode berada di bawah klausa BSD-3 (sebelumnya di bawah MIT, dan diubah pada 8 Maret 2018).
Kami senang jika Anda menggunakan kembali konten tersebut dengan cara apa pun!