import numpy as np
import matplotlib.pyplot as plt
# Definisikan nilai DP dan Flow awal
DP1 = 5 # DP desain lama (kPa)
Flow1 = 4000 # Flow desain lama (Nm³/h)
# Rentang DP baru yang diinginkan
DP2 = 10 # DP desain baru (kPa)
# Hitung flow baru berdasarkan rumus Q2 = Q1 * sqrt(DP2/DP1)
Flow2 = Flow1 * np.sqrt(DP2 / DP1)
# Menampilkan hasil perhitungan
print(f"Flow desain lama (Q1): {Flow1} Nm³/h")
print(f"Flow desain baru (Q2) setelah DP diubah menjadi {DP2} kPa: {Flow2:.2f} Nm³/h")
# Membuat grafik untuk menggambarkan hubungan DP dan Flow
DP_values = np.linspace(0.1, 10, 100) # Range DP dari 0.1 kPa hingga 10 kPa
Flow_values = Flow1 * np.sqrt(DP_values / DP1) # Menghitung flow untuk berbagai nilai DP
# Plot grafik
plt.figure(figsize=(10, 6))
plt.plot(DP_values, Flow_values, label="Hubungan DP dan Flow", linewidth=2)
# Tambahkan garis vertikal dan horizontal
plt.axvline(DP1, color='r', linestyle='--', label=f"DP1 = {DP1} kPa")
plt.axvline(DP2, color='g', linestyle='--', label=f"DP2 = {DP2} kPa")
plt.axhline(Flow1, color='r', linestyle=':', label=f"Flow1 = {Flow1} Nm³/h")
plt.axhline(Flow2, color='g', linestyle=':', label=f"Flow2 = {Flow2:.2f} Nm³/h")
# Tambahkan teks di tengah garis horizontal (Flow)
plt.text(DP_values[-1] * 0.375, Flow1, f"{Flow1} Nm³/h", color='r', fontsize=10, verticalalignment='bottom', horizontalalignment='center')
plt.text(DP_values[-1] * 0.85, Flow2, f"{Flow2:.2f} Nm³/h", color='g', fontsize=10, verticalalignment='bottom', horizontalalignment='center')
# Tambahkan teks di tengah garis vertikal (DP) dengan rotasi vertikal
plt.text(DP1, Flow_values[-1] * 0.575, f"{DP1} kPa", color='r', fontsize=10, verticalalignment='center', horizontalalignment='right', rotation=90)
plt.text(DP2, Flow_values[-1] * 0.85, f"{DP2} kPa", color='g', fontsize=10, verticalalignment='center', horizontalalignment='right', rotation=90)
# Tambahkan judul dan label sumbu
plt.title("Hubungan Differential Pressure (DP) dan Flow pada Orifice Flowmeter")
plt.xlabel("Differential Pressure (DP) [kPa]")
plt.ylabel("Flow Rate [Nm³/h]")
# Atur grid dan legenda
plt.grid(True, linestyle='--', alpha=0.6)
plt.legend()
plt.tight_layout()
# Simpan grafik sebagai file jika diperlukan
# plt.savefig('dp_vs_flow_resizing.svg', dpi=300)
# Tampilkan grafik
plt.show()
Click Run or press shift + ENTER to run code