You are on page 1of 2

Algoritma Projek Prak Fiskom

 Grafik 3D

1. Mengimport modul numpy as np dan mengimport modul matplotlib.pyplot as plt

2. Mengimport Axes3D dari modul mpl_toolkits.mplot3d

3. Membuat dan mencetak identitas projek & kelompok

3. Mennginisialisasi parameter-parameter yang akan digunakan pada simulasi

4. Membuat grid pada grafik dengan menginisiasi x = np.arange(0, L + dx, dx); y = np.arange(0, H +
dx, dx); dan X, Y = np.meshgrid(x, y)

5. Menginisialisasi tinggi air pada t=0 dengan persamaan h = np.ones_like(X) * H dan h[X > L / 2] =
0.2

6. Menginisialisasi kecepatan awal pada fluida dengan u = np.zeros_like(X)

7. Menggunakan persamaan kontinuitas (continuity equation) dengan pendefinisian


continuity_equation(h, u):

7.1. Mendefinisikan perhitungan dh_dt = -u * (np.roll(h, -1, axis=0) - np.roll(h, 1, axis=0)) / (2


* dx)

7.2. Mengembalikan pada variabel dh_dt

8. Menggunakan persamaan Euler (momentum equation) dengan mendefinisikan euler_equation(h,


u):

8.1. Menginisiasi persamaan du_dt = -u * (np.roll(u, -1, axis=0) - np.roll(u, 1, axis=0)) / (2 *


dx) - g * (np.roll(h, -1, axis=0) - np.roll(h, 1, axis=0)) / (2 * dx)

8.2. Mengembalikan pada variable du_dt

9. Melakukan tabel perhitugan dengan menginisiasi t = 0.0; table = []; & iteration = 1

10. Membuat perulangan tak pasti dengan while t < t_max:

10.1. Menambahkan data ke table perhitungan dengan table.append([iteration, t, h[0, 0],


u[0, 0]])

10.2. Menghitung persamaan PDE dengan menggunakan persamaan dh_dt =


continuity_equation(h, u) & du_dt = euler_equation(h, u)

10.3. Menggunakan metode beda hingga untuk update variabel dengan h += dt * dh_dt; u +=
dt * du_dt; t += dt

11. Mencetak untuk menampilkan table perhitungan sesuai format

12. Membuat grafik kecepatan dan ketinggian terhadap waktu

12. Membuat plot 3D dengan fig = plt.figure(); ax = fig.add_subplot(111, projection='3d');


ax.plot_surface(X, Y, h, cmap='Blues')

13. Mencetak set-set label yang akan digunakan pada plot 3D


14. Mencetak judul pada plot 3D

15. Menampilkan plot 3D

16. Selesai

You might also like