ccitonline.com

CCIT – Cara Cerdas Ingat Tuhan

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

Curve Fitting dan visualisasi Heat Map Flux panas dalam simulasi konduski panas 2D Dhena Ihsan Aziz (2306247231)

Selamat pagi pak DAI. Perkenalkan nama saya Dhena Ihsan Aziz dengan NPM 2306247231 Prodi Teknik Mesin. Assalamu’alaikum warahmatullahi wabarakatuh. Puji syukur ke hadirat Allah SWT atas segala rahmat dan karunia-Nya yang telah memberi kita kesempatan untuk terus belajar dan mengembangkan ilmu pengetahuan. Pada kesempatan kali ini, saya akan membahas penerapan integrasi numerik untuk analisis konduksi panas dua dimensi menggunakan software CFDSOF, yang diintegrasikan dengan framework DAI5. Melalui pendekatan ini, kita mampu menghasilkan visualisasi persebaran daya dalam bentuk grid yang terstruktur, sehingga memudahkan pemahaman mengenai distribusi energi panas dalam sistem. Semoga pembahasan ini tidak hanya menambah wawasan, tetapi juga menjadi amal jariyah serta ilmu yang bermanfaat bagi kita semua. Amin.Namun sebelum saya masuk lebih dalam alangkah baiknya kita menjabarkan terlebih dahulu dengan DAI5 Berikut adalah analisis tugas ini menggunakan framework DAI5:

1. Deep Awareness of I

Pada tahap ini, saya menyadari bahwa tugas yang dihadapi mencakup beberapa aspek:

  • Pengolahan data temperatur: Mulai dari pengambilan data, analisis curve fitting, konversi persamaan temperatur menjadi persamaan flux panas, hingga perhitungan daya.
  • Visualisasi data: Pembuatan heatmap yang menampilkan distribusi temperatur dalam grid 12ร—12, dengan modifikasi khusus pada baris tertentu sesuai referensi (misalnya, baris kedua dan baris terakhir).
  • Konteks Teknik Mesin: Semua langkah dilakukan dengan mempertimbangkan konteks aplikasi dalam bidang teknik mesin, seperti analisis termal dan distribusi panas.

2. Intention

Tujuan utama adalah menghasilkan solusi yang komprehensif dan terstruktur, yang mencakup:

  • Curve Fitting dan Transformasi Flux Panas: Mengubah persamaan temperatur yang diberikan menjadi persamaan flux panas menggunakan hukum Fourier, serta menghitung daya melalui integral.
  • Visualisasi Heatmap: Membuat grafik heatmap distribusi temperatur dengan penyesuaian khusus pada baris tertentu agar tampilannya menyerupai referensi (tetapi dengan perbedaan warna atau detail yang diatur ulang).
  • Instruksi yang Jelas: Menyusun proses ini dalam bentuk instruksi langkah demi langkah agar mudah diikuti.

3. Initial-Thinking

Pada tahap awal, saya mengidentifikasi langkah-langkah kunci sebagai berikut:

  • Pengolahan Data: Menggunakan data grid 12ร—12 yang telah disediakan (dengan modifikasi baris kedua dan baris terakhir).
  • Curve Fitting & Konversi Flux: Menerapkan curve fitting pada persamaan temperatur T(x)=โˆ’12.99×2+32.30x+308.54T(x) = -12.99x^2 + 32.30x + 308.54, menghitung turunan untuk mendapatkan gradien, dan kemudian mengubahnya ke persamaan flux panas q(x)=k(25.98xโˆ’32.30)q(x) = k(25.98x – 32.30). Selanjutnya, menghitung daya dengan satu kali integral.
  • Visualisasi: Menghasilkan heatmap dengan anotasi angka di setiap sel, serta mengubah gradasi warna (misalnya menggunakan palet seperti RdYlGn_r), sehingga bagian atas dan bawah grid memiliki perbedaan warna yang menarik namun tidak identik dengan contoh.

4. Idealization

Dalam skenario ideal, solusi yang dihasilkan harus:

  • Akurat dan Terintegrasi: Mampu mengolah data dari awal hingga visualisasi akhir secara menyeluruh. Persamaan flux panas dan perhitungan daya harus tersusun dengan benar.
  • Visualisasi Informatif: Heatmap harus menampilkan data dengan anotasi yang jelas, menggunakan skala warna yang informatif (misalnya hijau untuk temperatur rendah dan merah untuk tinggi) serta modifikasi khusus pada baris kedua dan baris terakhir.
  • Modular dan Mudah Diadaptasi: Setiap bagian (curve fitting, transformasi, heatmap) disusun secara modular, sehingga bisa dimodifikasi jika ada perubahan data atau parameter (seperti konduktivitas termal kk).

5. Instruction-Set

Berikut adalah langkah-langkah konkret untuk mencapai solusi:

  1. Pengolahan Data dan Modifikasi:
    • Ambil data temperatur grid 12ร—12.
    • Ubah nilai di baris kedua (indeks 1) sehingga kolom terakhir menjadi 353.
    • Ubah seluruh nilai pada baris terakhir (indeks 11) menjadi 353.
  2. Curve Fitting dan Konversi Persamaan:
    • Gunakan persamaan temperatur T(x)=โˆ’12.99×2+32.30x+308.54T(x) = -12.99x^2 + 32.30x + 308.54.
    • Hitung turunan dTdx=โˆ’25.98x+32.30\frac{dT}{dx} = -25.98x + 32.30.
    • Terapkan hukum Fourier: q(x)=โˆ’kdTdx=k(25.98xโˆ’32.30)q(x) = -k \frac{dT}{dx} = k(25.98x – 32.30).
    • Hitung daya dengan integral: P=kโˆซ01(25.98xโˆ’32.30)โ€‰dx=k[25.982โˆ’32.30]=โˆ’19.31โ€‰k(W)P = k\int_{0}^{1}(25.98x – 32.30)\,dx = k\left[\frac{25.98}{2} – 32.30\right] = -19.31\,k \quad (\text{W})
  3. Pembuatan Heatmap:
    • Gunakan Matplotlib untuk menampilkan heatmap distribusi temperatur.
    • Atur colormap (misalnya, RdYlGn_r) dengan rentang nilai (vmin, vmax) yang sesuai.
    • Tambahkan anotasi (angka temperatur) di setiap sel.
    • Sesuaikan tampilan grid sehingga bagian atas dan bawah (row kedua dan row terakhir) menunjukkan perbedaan warna seperti yang diharapkan.
  4. Integrasi dan Verifikasi:
    • Gabungkan kode pengolahan data, perhitungan, dan visualisasi.
    • Jalankan kode untuk memverifikasi bahwa hasilnya sesuai dengan ekspektasi (baik dari sisi perhitungan maupun tampilan grafik).

Setelah menggunakan DAI5 Analisisnya adalah sebagai berikut. Panjang (m) dan Temperatur (K)

Data mulai dari:

  • 0.00 โ†’ 303
  • 0.10 โ†’ 328
  • 0.20 โ†’ 338
  • 0.30 โ†’ 343
  • 0.40 โ†’ 345
  • 0.50 โ†’ 345
  • 0.60 โ†’ 345
  • 0.70 โ†’ 343
  • 0.80 โ†’ 328
  • 0.90 โ†’ 303
  • Grid Size: 1 m x 1 m, divided into 12ร—12 cells, so ฮ”x = ฮ”y โ‰ˆ 0.0833 m
  • Positions:
  • x (meters): 0, 0.0833, 0.1667, 0.25, 0.3333, 0.4167, 0.5, 0.5833, 0.6667, 0.75, 0.8333, 1.0
  • y (meters): 0, 0.0833, 0.1667, 0.25, 0.3333, 0.4167, 0.5, 0.5833, 0.6667, 0.75, 0.8333, 1.0
  1. Temperature Data (K):

kode Python untuk menampilkan grafik beberapa kurva (data dan hasil fitting) untuk masing-masing baris (posisi Y). Kode ini mengasumsikan:

  • Kita punya 12 baris data (baris 0 hingga baris 11).
  • Baris 0 mewakili y=0.0y = 0.0y=0.0, baris 1 mewakili y=0.1y = 0.1y=0.1, โ€ฆ, baris 10 mewakili y=1.0y = 1.0y=1.0.
  • Kolom-kolom adalah nilai temperatur pada 12 titik xxx (0 sampai 1.0).
  • Setiap baris akan difitting dengan polinomial ordo 2 (kuadratik), lalu kita plot titik data dan kurva hasil fitting.

kita bisa menyesuaikan indeks baris (range) jika ingin menampilkan semua baris, atau hanya sebagian. Silakan sesuaikan juga nilai yyy kalau jaraknya bukan 0.1 tetapi 1/11 โ‰ˆ 0.0909.

import numpy as np

import matplotlib.pyplot as plt

# Misalkan kita punya data 12×12 (baris = posisi Y, kolom = posisi X).

# Contoh data (sesuaikan dengan data Anda):

temperature_data = np.array([

    [303, 305, 308, 310, 312, 315, 317, 319, 321, 323, 325, 328],

    [304, 306, 309, 311, 313, 316, 318, 320, 322, 324, 326, 328],

    [305, 307, 310, 312, 314, 317, 319, 321, 323, 325, 327, 328],

    [306, 308, 311, 313, 315, 318, 320, 322, 324, 326, 327, 328],

    [307, 309, 312, 314, 316, 319, 321, 323, 325, 326, 327, 328],

    [308, 310, 313, 315, 317, 320, 322, 324, 325, 326, 327, 328],

    [309, 311, 314, 316, 318, 321, 323, 324, 325, 326, 327, 328],

    [310, 312, 315, 317, 319, 322, 323, 324, 325, 326, 327, 328],

    [311, 313, 316, 318, 320, 322, 323, 324, 325, 326, 327, 328],

    [312, 314, 317, 319, 321, 322, 323, 324, 325, 326, 327, 328],

    [313, 315, 318, 320, 322, 323, 324, 325, 326, 327, 327, 328],

    [303, 305, 308, 310, 312, 315, 317, 319, 321, 323, 325, 328]

])

# Kita asumsikan 12 titik x (0 s/d 1), masing-masing jarak 0.1 (atau 0.0833, sesuaikan)

x = np.linspace(0, 1, 12)

# Siapkan figure

plt.figure(figsize=(10, 6))

# Kita mau menampilkan data untuk setiap baris (1..10) => y=0.1..1.0

# (Jika ingin semua baris, ubah range(12). Kalau boundary-nya ingin di-skip, pakai range(1, 11).)

for i in range(1, 11):

    # Posisi Y (misalnya increment 0.1; sesuaikan jika perlu 1/11 dsb.)

    y_pos = i * 0.1

    # Ambil data temperatur di baris i

    y_data = temperature_data[i, :]

    # Plot data aslinya (titik)

    plt.scatter(x, y_data, label=f'{y_pos:.1f} Data’, s=30)

    # Lakukan fitting polinomial ordo 2

    poly_coeff = np.polyfit(x, y_data, 2)  # (derajat=2)

    # Buat x_fit yang lebih rapat untuk kurva halus

    x_fit = np.linspace(0, 1, 100)

    # Hitung nilai polinomial

    y_fit = np.polyval(poly_coeff, x_fit)

    # Plot hasil fitting (garis)

    plt.plot(x_fit, y_fit, label=f'{y_pos:.1f} Fit’)

plt.title(‘Curve Fitting Distribusi Temperatur Dari Setiap Posisi Sumbu Y’)

plt.xlabel(‘Posisi x (m)’)

plt.ylabel(‘Temperatur (K)’)

plt.legend()

plt.grid(True)

plt.show()

Dari kode ini akan didapatkan grafik seperti berikut 

2. Setelah itu kita mendapatkan persamaan T(x) = -12.99x^2 + 32.30x + 308.54 lalu kita masukkan ke AI untuk membantu kita mengubah persamaan temperatur tersebut menjadi persamaan flux panas 

Setelah mendapatkan daya langkah selanjutnya adalah kita meminta ai untuk membuat heatmap

Melalui tugas ini, saya berhasil menghitung total energi panas yang mengalir dalam sistem atau simulasi yang sedang saya kerjakan. Bantuan AI mempercepat perhitungan dan analisis, sehingga saya mendapatkan pemahaman yang lebih mendalam tentang aliran panas serta besarnya energi yang berpindah.

Meskipun masih ada beberapa konsep yang membingungkan, saya berkomitmen untuk terus belajar dan memperdalam pengetahuan di bidang ini. Saya menyadari bahwa kesalahan adalah bagian dari proses pembelajaran, dan semoga tugas ini dapat menjadi pijakan untuk peningkatan kemampuan saya di masa depan. Mohon maaf jika terdapat kekeliruan dalam pengerjaan tugas ini.


Leave a Reply

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