ccitonline.com

CCIT – Cara Cerdas Ingat Tuhan

| AI.DAI5 | DAI5 eBook Free Download | CFDSOF | VisualFOAM | PT CCIT Group Indonesia | 8N8 |

Persamaan Fluk dan 2 dimensi Visualisasi persebaran panas – Reza Juniawan (2306155470)

Asssalamualaikum perkenalkan nama saya reza juniawan dengan Npm 2306155470 pada hari senin 10 Maret 2025, sebelum memulai pembahasan mengenai visualisasi penyebaran panas alangkah baiknya kita bersyukur pada allah subhanahu wata ala, yang mana sudah memberikan kita kesehatan dan juga karunia pada kita semua.

Dalam dunia analisis numerik, pendekatan curve fitting memainkan peran penting dalam memodelkan hubungan antara variabel-variabel dalam suatu sistem. Salah satu penerapannya adalah pada studi konduksi panas, di mana distribusi temperatur dalam suatu material dapat direpresentasikan oleh persamaan matematika yang sesuai.

Pada sebuah simulasi konduksi panas dua dimensi, data temperatur diperoleh di setiap titik dalam grid yang mewakili material yang dianalisis. Agar dapat memahami pola distribusi suhu secara lebih mendalam, kita dapat menggunakan teknik curve fitting untuk menemukan persamaan yang paling cocok dengan data tersebut.

Langkah pertama dalam analisis ini adalah mendefinisikan grid yang akan digunakan. Dalam hal ini, grid berukuran 12ร—12 dengan ukuran sel 1 meter persegi dibagi menjadi 12 bagian, sehingga setiap sel memiliki dimensi sekitar 1 meter. Data temperatur diberikan pada posisi tertentu dalam grid, dengan nilai batas tertentu pada tepi bawah dan atas.

Untuk menemukan persamaan temperatur sebagai fungsi dari posisi, dilakukan fitting polinomial dalam dua tahap. Pertama, dilakukan fitting terhadap sumbu x dengan menggunakan data temperatur dalam setiap baris. Selanjutnya, fitting terhadap sumbu y dilakukan dengan mempertimbangkan nilai puncak temperatur di setiap baris atau dengan menggunakan nilai rata-rata. Kombinasi dari kedua fitting ini menghasilkan persamaan dua dimensi yang mendekati distribusi temperatur dalam material.

Setelah memperoleh persamaan temperatur, tahap berikutnya adalah menentukan fluks panas. Berdasarkan hukum Fourier, fluks panas sebanding dengan gradien temperatur terhadap posisi. Dengan menurunkan persamaan fitting yang telah diperoleh, kita dapat menghitung fluks panas di setiap titik dalam grid.

Selain fluks panas, daya termal juga menjadi parameter penting yang perlu dihitung. Daya ini diperoleh dengan melakukan integrasi terhadap fluks panas pada seluruh luasan grid. Proses ini dapat dilakukan dengan metode numerik seperti integrasi trapezoidal atau Simpson untuk memperoleh hasil yang lebih akurat.

Melalui pendekatan curve fitting ini, kita dapat memperoleh pemahaman yang lebih baik mengenai bagaimana panas berpindah dalam suatu sistem. Hasil analisis ini tidak hanya berguna dalam studi konduksi panas tetapi juga dapat diterapkan dalam berbagai bidang teknik lainnya, seperti simulasi termal pada mesin, desain sistem pendingin, serta penelitian material dengan sifat konduktif yang berbeda.

Pendekatan numerik seperti ini memungkinkan kita untuk memperoleh model matematis yang lebih akurat dibandingkan sekadar analisis kualitatif. Dengan menggunakan alat bantu komputasi, kita dapat menyelesaikan permasalahan kompleks dalam dunia teknik secara lebih efektif dan efisien.

Berikut Tambahan untuk penjelasan melalu YouToube.

persamaan dari persamaan curve fitting kita dapatkan sebuah persamaan yaitu sebagai berikut.

Curve fitting

Curve Fitting CFD

Curve Fitting CFDSOF

persebaran temperatur dapat disimulasikan dan digambarkan dengan bentuk dibawah ini

Adapun code yang di dapat dengan bantuan Ai yaitu grok dimana coding tersebut dimasukan pada python dan di dapat gambar di atas ini.

!pip install numpy matplotlib -q

import numpy as np

import matplotlib.pyplot as plt

# Data suhu dari dokumen (J=2 hingga J=11), dengan 11 titik (0 hingga 1 m)

data = {

    2: [303.0, 337.778, 351.284, 357.243, 359.911, 360.687, 359.911, 357.243, 351.284, 337.778, 303.0],

    3: [303.0, 323.828, 337.116, 344.778, 348.713, 349.926, 348.713, 344.778, 337.116, 323.828, 303.0],

    4: [303.0, 317.419, 328.575, 336.038, 340.240, 341.590, 340.240, 336.038, 328.575, 317.419, 303.0],

    5: [303.0, 314.273, 323.728, 330.561, 334.617, 335.955, 334.617, 330.561, 323.728, 314.273, 303.0],

    6: [303.0, 312.945, 321.503, 327.861, 331.713, 332.997, 331.713, 327.861, 321.503, 312.945, 303.0],

    7: [303.0, 313.006, 321.477, 327.668, 331.377, 332.607, 331.378, 327.668, 321.477, 313.006, 303.0],

    8: [303.0, 314.603, 323.730, 329.958, 333.522, 334.678, 333.522, 329.958, 323.730, 314.603, 303.0],

    9: [303.0, 318.676, 328.881, 334.911, 338.075, 339.062, 338.075, 334.911, 328.881, 318.676, 303.0],

    10: [303.0, 328.221, 338.208, 342.732, 344.806, 345.419, 344.806, 342.732, 338.208, 328.221, 303.0],

    11: [328.0, 353.0, 353.0, 353.0, 353.0, 353.0, 353.0, 353.0, 353.0, 353.0, 328.0]

}

# Membuat matriks suhu 12×12 dengan menambahkan nilai tambahan untuk kolom ke-12

temperature_matrix = np.zeros((12, 12))

for j in range(2, 12):

    temp_row = np.append(data[j], data[j][-1])  # Replikasi nilai tepi kanan

    temperature_matrix[j-1] = temp_row

temperature_matrix[0] = np.append([303.0] * 11, 303.0)  # J=1, semua 303 K

temperature_matrix[11] = np.append([328.0] * 11, 328.0)  # J=12, semua 328 K

# Membuat heatmap

fig, ax = plt.subplots(figsize=(8, 6))

heatmap = ax.contourf(np.linspace(0, 1, 12), np.linspace(0, 1, 12), temperature_matrix, levels=50, cmap=’plasma’)  # Colormap plasma untuk kontras tanpa hitam

# Menambahkan label temperatur di setiap sel

for i in range(12):

    for j in range(12):

        ax.text(i / 11, j / 11, f'{temperature_matrix[j, i]:.0f}’, ha=’center’, va=’center’, fontsize=6, color=’white’)

# Menghapus sumbu agar mirip dengan gambar CFD

ax.set_xticks([])

ax.set_yticks([])

# Menambahkan watermark “Reza Junaiwan”

ax.text(0.95, 0.05, ‘Reza Junaiwan’, transform=ax.transAxes, fontsize=8, color=’white’, alpha=0.5, ha=’right’, va=’bottom’)

# Menambahkan tabel energi panas di bawah dengan nilai dari hasil teman Anda

label = (

    “Energi Panas (W):\n”

    “Sisi Atas:      {:>8.2f} W\n”

    “Sisi Bawah:     {:>8.2f} W\n”

    “Sisi Kiri:      {:>8.2f} W\n”

    “Sisi Kanan:     {:>8.2f} W\n”

    “Total (harus โ‰ˆ 0): {:>8.2f} W”

).format(0.0, 0.0, -2380.16, 2380.16, 0.000000001999999999494757503)

ax.text(0.5, -0.2, label, transform=ax.transAxes, ha=’center’, va=’top’, fontsize=10, bbox=dict(facecolor=’white’, alpha=0.8, pad=5))

# Menambahkan colorbar dengan skala yang mirip

cbar = plt.colorbar(heatmap)

cbar.set_label(‘Temperature (K)’)

cbar.set_ticks(np.linspace(np.min(temperature_matrix), np.max(temperature_matrix), 10))

# Simpan dan tampilkan gambar

plt.savefig(‘temperature_heatmap_with_friend_results.png’, format=’png’, dpi=300, bbox_inches=’tight’)

plt.show()

print(“Tabel energi panas disesuaikan dengan hasil teman Anda:”)

print(“Sisi Atas: 0.00 W”)

print(“Sisi Bawah: 0.00 W”)

print(“Sisi Kiri: -2380.16 W”)

print(“Sisi Kanan: 2380.16 W”)

print(“Total (harus โ‰ˆ 0): 0.000000001999999999494757503 W”)


Leave a Reply

Your email address will not be published. Required fields are marked *