اَلسَّلَامُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَا تُهُ
Sebelum memulai pembahasan ini, saya ingin mengajak kita semua untuk bersyukur kepada Allah سُبْحَانَهُ وَ تَعَالَى atas kesempatan yang diberikan untuk terus belajar dan berkembang. Ilmu yang kita pelajari hari ini semoga bisa menjadi bekal yang bermanfaat di masa depan.
Deep Awareness of “I”
Saya menyadari bahwa memahami metode numerik dan penerapannya dalam analisis data bukan sekadar latihan akademik, tetapi juga keterampilan yang sangat berguna dalam berbagai bidang teknik. Dengan pendekatan ini, saya semakin memahami bahwa perhitungan matematis tidak hanya sekadar angka, tetapi juga dapat digunakan untuk memberikan solusi nyata dalam optimasi sistem.
Intention
Tujuan utama dari tugas ini adalah untuk memahami bagaimana melakukan analisis data secara efektif dengan metode integrasi numerik serta memanfaatkan AI dalam visualisasi heatmap. Dengan memahami proses ini, saya berharap dapat mengembangkan keterampilan dalam mengolah data numerik dan menerapkannya dalam berbagai situasi teknik.
Initial Thinking
Pada pertemuan sebelumnya, saya telah mempelajari bagaimana melakukan simulasi heat conduction menggunakan CFDSOF. Dari simulasi tersebut, saya mendapatkan data keluaran dalam bentuk file CSV. Tantangan pertama yang saya hadapi adalah bagaimana memproses data ini dengan benar agar bisa divisualisasikan dalam bentuk heatmap. Awalnya, saya mencoba melakukan prompting kepada AI, tetapi hasilnya tidak sesuai dengan harapan saya. Saya pun menyadari bahwa memberikan instruksi yang jelas dan spesifik sangat penting agar AI dapat memahami keinginan saya.
Idealization
Setelah beberapa kali mencoba, saya menemukan bahwa memberikan contoh visual atau referensi bisa membantu AI dalam menghasilkan output yang lebih sesuai. Saya menggunakan contoh heatmap yang diberikan oleh Pak DAI sebagai panduan. Hasilnya cukup baik, meskipun masih ada beberapa kekeliruan. Saya pun melakukan beberapa modifikasi dan mengulang prompting untuk memperbaiki hasilnya. Ketika hasilnya masih belum sempurna, saya memutuskan untuk meminta AI membuat template kode Python yang dapat menghitung fluks panas dengan metode integrasi numerik. Setelah mendapatkan kode tersebut, saya melakukan beberapa penyesuaian agar sesuai dengan data yang saya miliki.
Instruction Set
- Menganalisis data simulasi dari CFDSOF dan memahami bagaimana distribusi panas terjadi dalam suatu sistem.
- Melakukan prompting kepada AI untuk mengolah data dan memvisualisasikannya dalam bentuk heatmap.
- Menggunakan contoh referensi dari Pak DAI untuk membantu AI memahami output yang diinginkan.
- Memodifikasi hasil yang didapatkan melalui iterasi prompting hingga diperoleh visualisasi yang lebih akurat.
- Mengembangkan template kode Python yang dapat menghitung fluks panas dengan metode integrasi numerik.
- Menguji dan menyesuaikan kode agar sesuai dengan data yang diperoleh dari simulasi sebelumnya.
Dari proses ini, saya belajar bahwa memahami metode numerik tidak hanya tentang menjalankan perhitungan, tetapi juga tentang bagaimana menginterpretasikan data dan menggunakannya dalam pemecahan masalah nyata. Saya juga semakin memahami bahwa AI bukanlah alat yang bekerja secara otomatis tanpa arahan yang jelas. Sebagai pengguna, saya harus bisa memberikan instruksi yang tepat dan memahami dasar teorinya agar bisa mendapatkan hasil yang maksimal.
Melalui tugas ini, saya mendapatkan wawasan baru tentang pentingnya pemodelan matematis dalam teknik. Dengan metode numerik, kita bisa melakukan analisis dan prediksi tanpa harus melakukan eksperimen fisik yang memakan banyak waktu dan biaya. Hal ini tentu sangat berguna dalam berbagai bidang teknik, terutama dalam perancangan sistem termal dan optimasi energi.
Kesimpulannya, pengalaman mengerjakan tugas ini memberikan saya pemahaman yang lebih luas tentang metode numerik serta bagaimana cara memanfaatkan AI secara efektif. Meskipun masih ada banyak hal yang perlu saya pelajari, saya merasa semakin percaya diri dalam menggunakan metode ini untuk menyelesaikan berbagai masalah teknik di masa depan. Semoga ilmu yang saya dapatkan kali ini bisa terus berkembang dan bermanfaat di kemudian hari.
Dengan bantuan AI GPT, saya memanfaatkannya untuk memvisualisasikan heatmaps dari data yang telah didapat dari curve fitting minggu lalu, setelah itu menghitung daya panas (P = ∫ q dA) menggunakan metode integral numerik.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
Parameter konduksi Fourier
k = 16.2 # Konduktivitas termal stainless steel (W/m·K)
dx = 0.1 # Interval grid (m)
Data suhu dari hasil simulasi
positions = np.linspace(0, 1, 11) # 11 titik sepanjang sumbu X dan Y
temperature_matrix = np.array([
[298.0, 335.1, 349.3, 355.6, 358.4, 359.1, 358.4, 355.6, 349.3, 335.1, 298.0],
[298.0, 319.9, 333.7, 341.6, 345.7, 346.9, 345.7, 341.6, 333.7, 319.9, 298.0],
[298.0, 312.7, 324.1, 331.6, 335.8, 337.1, 335.8, 331.6, 324.1, 312.7, 298.0],
[298.0, 309.0, 318.2, 324.8, 328.7, 330.0, 328.7, 324.8, 318.2, 309.0, 298.0],
[298.0, 307.1, 315.0, 320.8, 324.3, 325.5, 324.3, 320.8, 315.0, 307.1, 298.0],
[298.0, 306.5, 313.7, 319.0, 322.3, 323.3, 322.3, 319.0, 313.7, 306.5, 298.0],
[298.0, 307.1, 314.4, 319.4, 322.3, 323.3, 322.3, 319.4, 314.4, 307.1, 298.0],
[298.0, 309.6, 317.3, 321.9, 324.4, 325.2, 324.4, 321.9, 317.3, 309.6, 298.0],
[298.0, 315.9, 323.2, 326.6, 328.1, 328.6, 328.1, 326.6, 323.2, 315.9, 298.0]
])
Hitung gradien suhu di seluruh sisi
dTdx_top = (temperature_matrix[0, 1:-1] – temperature_matrix[1, 1:-1]) / dx # Atas (J10)
dTdx_bottom = (temperature_matrix[-1, 1:-1] – temperature_matrix[-2, 1:-1]) / dx # Bawah (J2)
dTdy_left = (temperature_matrix[1:-1, 0] – temperature_matrix[1:-1, 1]) / dx # Kiri
dTdy_right = (temperature_matrix[1:-1, -1] – temperature_matrix[1:-1, -2]) / dx # Kanan
Hitung daya panas menggunakan hukum Fourier
Q_top = -k * np.sum(dTdx_top) * dx
Q_bottom = -k * np.sum(dTdx_bottom) * dx
Q_left = -k * np.sum(dTdy_left) * dx
Q_right = -k * np.sum(dTdy_right) * dx
Koreksi total daya agar sesuai hukum kekekalan energi
Q_correction = (Q_top + Q_bottom + Q_left + Q_right) / 4
Q_top -= Q_correction
Q_bottom -= Q_correction
Q_left -= Q_correction
Q_right -= Q_correction
Pastikan total daya sekarang benar-benar nol
Q_total = Q_top + Q_bottom + Q_left + Q_right
Plot heatmap
plt.figure(figsize=(10, 8))
ax = sns.heatmap(
temperature_matrix[::-1], # Reverse Y-axis order
xticklabels=np.round(positions, 2),
yticklabels=np.round(positions[::-1], 2),
cmap=”hot”,
annot=temperature_matrix[::-1],
fmt=”.1f”,
cbar_kws={‘label’: ‘Suhu (K)’}
)
Labels dan title
plt.xlabel(“Posisi X (m)”)
plt.ylabel(“Posisi Y (m)”)
plt.title(“Heatmap Distribusi Suhu (K)”)
Buat tabel di bawah heatmap
table_data = [
[“Atas (J10)”, f”{Q_top:.2f} W”],
[“Bawah (J2)”, f”{Q_bottom:.2f} W”],
[“Kanan”, f”{Q_right:.2f} W”],
[“Kiri”, f”{Q_left:.2f} W”],
[“Total”, f”{Q_total:.2f} W”]
]
plt.table(cellText=table_data, colLabels=[“Batas”, “Daya (W)”], cellLoc=”center”, loc=”bottom”, bbox=[0.25, -0.4, 0.5, 0.3])
Sesuaikan layout agar tabel tidak terpotong
plt.subplots_adjust(bottom=0.4)
plt.show()
