ccitonline.com

CCIT – Cara Cerdas Ingat Tuhan

| AI-DAI5 | DAI5 AI Agents | NIC | ZWI | | CCITEdu | DAI5 eBook | CFDSOF | Donation | Download | CCIT Corporation | DAI5 | 33 Kriteria Evaluasi Penerapan DAI5 | Search |

Simulasi Perpindahan Panas 2 Dimensi Menggunakan Software CFDSOF

Created by: Zakaa Aidan Ahmad – 2306225041

Fenomena heat transfer atau perpindahan panas merupakan suatu peristiwa yang dapat terjadi dalam kehidupan sehari-hari. Peristiwa tersebut terjadi akibat adanya perbedaan energi di kedua tempat, dalam hal ini temperatur. Oleh sebab itu, energi panas dapat berpindah dari tingkat energi tinggi ke rendah sasuai dengan hukum termodinamika

Perpindahan panas dapat terjadi melalui beberapa cara. Ketiga prinsip tersebut ialah sebagai berikut:

  • Konduksi: yaitu perpindahan panas melalui media konduksi seperti logam
  • Konveksi: yaitu perpindahan panas melalui pergerakan massa seperti air atau fluida lainnya
  • Radiasi: yaitu perpindahan panas tanpa perantara apapun, contohnya radiasi dari panas matahari ke bumi

Dalam eksperimen kali ini, metode perpindahan panas yang diuji adalah konduksi, dengan media penghantar baja nirkarat yang nilai konduktivitasnya 16,2 W/mK

Simulasi Menggunakan Bantuan Komputer

Pada kesempatan kali ini, saya telah mencoba mensimulasikan perpindahan panas menggunakan perangkat lunak Computational Fluid Dynamics Software atau CFDSOF. Perpindahan panas kali ini diuji pada pelat baja nirkarat berukuran 1 x 1 meter dengan ketebalan 0,5 meter. Plat baja tersebut dibagi menjadi 12 x 12 sel

Kalkulasi dilakukan oleh perangkat komputer dengan bantuan chatgpt.com dengan kode sebagai berikut:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Visualisasi Perpindahan Panas 2 Dimensi</title>
    <script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
    <style>
        body {
            background-color: #1e1e1e;
            color: white;
            font-family: Arial, sans-serif;
        }
    </style>
</head>
<body>
    <h2 style="text-align: center;">Visualisasi Perpindahan Panas 2 Dimensi</h2>
    <div id="heatmap" style="width: 100%; height: 600px;"></div>
    
    <script>
        var x_values = [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0];
        var y_values = [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0];
        var z_values = [
            [338.0,373.0,373.0,373.0,373.0,373.0,373.0,373.0,373.0,373.0,338.0],
            [303.0,338.0,351.0,357.0,360.0,361.0,360.0,357.0,351.0,338.0,303.0],
            [303.0,324.0,337.0,345.0,349.0,350.0,349.0,345.0,337.0,324.0,303.0],
            [303.0,317.0,329.0,336.0,340.0,342.0,340.0,336.0,329.0,317.0,303.0],
            [303.0,314.0,324.0,328.0,335.0,336.0,332.0,330.0,324.0,314.0,303.0],
            [303.0,313.0,321.0,328.0,332.0,333.0,332.0,328.0,321.0,313.0,303.0],
            [303.0,313.0,321.0,328.0,331.0,332.0,331.0,328.0,321.0,313.0,303.0],
            [303.0,315.0,324.0,330.0,333.0,335.0,333.0,330.0,324.0,315.0,303.0],
            [303.0,319.0,329.0,335.0,338.0,338.0,335.0,330.0,324.0,315.0,303.0],
            [303.0,328.0,335.0,343.0,345.0,345.0,345.0,343.0,335.0,328.0,303.0],
            [328.0,353.0,353.0,353.0,353.0,353.0,353.0,353.0,353.0,353.0,328.0]
        ];

        var data = [{
            z: z_values,
            x: x_values,
            y: y_values,
            type: 'heatmap',
            colorscale: 'Jet',
            zsmooth: 'best'
        }];
        
        var layout = {
            paper_bgcolor: '#1e1e1e',
            plot_bgcolor: '#1e1e1e',
            font: { color: 'white' },
            xaxis: {title: 'Posisi x (m)', gridcolor: '#444' },
            yaxis: {title: 'Posisi y (m)', gridcolor: '#444' }
        };

Dan menghasilkan diagram distribusi perpindahan panas berikut:

Visualisasi Perpindahan Panas 2 Dimensi

Visualisasi Perpindahan Panas 2 Dimensi

Dengan warna ungu menunjukkan temperatur paling panas, dan secara bergradasi berubah menjadi biru muda seiring dengan berkurangnya temperatur

Selanjutnya, saya melakukan proses curve fitting atau kalibrasi dari fungsi tersebut pada setiap bidang y menggunakan bantuan HTML dengan kode sebagai berikut:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Temperature Distribution with Curve Fitting</title>
    <script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
    <style>
        body {
            background-color: #1e1e1e;
            color: white;
            font-family: Arial, sans-serif;
        }
    </style>
</head>
<body>
    <h2 style="text-align: center;">Temperature Distribution with Curve Fitting</h2>
    <div id="graph" style="width: 100%; height: 600px;"></div>
    
    <script>
        var x_values = [...Array(100).keys()].map(i => i / 100);
        var x_data = [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0];
        
        function curve_x2(x) { return -2500.3*x**6 + 7500.9*x**5 - 9318.2*x**4 + 6134.9*x**3 - 2346.4*x**2 + 529.06*x + 303.01; }
        function curve_x3(x) { return -278.83*x**4 + 557.64*x**3 - 536.16*x**2 + 257.35*x + 302.98; }
        function curve_x4(x) { return -154.83*x**2 + 154.83*x + 303.29; }
        function curve_x5(x) { return -132.03*x**2 + 132.03*x + 302.72; }
        function curve_x6(x) { return -120.04*x**2 + 120.04*x + 302.59; }
        function curve_x7(x) { return -118.53*x**2 + 118.54*x + 302.69; }
        function curve_x8(x) { return -126.99*x**2 + 126.99*x + 303.12; }
        function curve_x9(x) { return -191.16*x**4 + 382.3*x**3 - 383.09*x**2 + 191.94*x + 302.99; }
        function curve_x10(x) { return -628.46*x**4 + 1256.9*x**3 - 951.11*x**2 + 322.65*x + 303.3; }
        function curve_x11(x) { return -6127.5*x**6 + 18382*x**5 - 21540*x**4 + 12443*x**3 - 3666.6*x**2 + 508.65*x + 328.05; }
        
        var traces = [
            { x: x_data, y: [303.0,338.0,351.0,357.0,360.0,361.0,360.0,357.0,351.0,338.0,303.0], mode: 'markers', name: 'Data x=2', marker: { color: 'red', size: 6 } },
            { x: x_data, y: [303.0,324.0,337.0,345.0,349.0,350.0,349.0,345.0,337.0,324.0,303.0], mode: 'markers', name: 'Data x=3', marker: { color: 'blue', size: 6 } },
            { x: x_data, y: [303.0,317.0,329.0,336.0,340.0,342.0,340.0,336.0,329.0,317.0,303.0], mode: 'markers', name: 'Data x=4', marker: { color: 'green', size: 6 } },
            { x: x_data, y: [303.0,314.0,324.0,328.0,335.0,336.0,332.0,330.0,324.0,314.0,303.0], mode: 'markers', name: 'Data x=5', marker: { color: 'purple', size: 6 } },
            { x: x_data, y: [303.0,313.0,321.0,328.0,332.0,333.0,332.0,328.0,321.0,313.0,303.0], mode: 'markers', name: 'Data x=6', marker: { color: 'orange', size: 6 } },
            { x: x_data, y: [303.0,313.0,321.0,328.0,331.0,332.0,331.0,328.0,321.0,313.0,303.0], mode: 'markers', name: 'Data x=7', marker: { color: 'brown', size: 6 } },
            { x: x_data, y: [303.0,315.0,324.0,330.0,333.0,335.0,333.0,330.0,324.0,315.0,303.0], mode: 'markers', name: 'Data x=8', marker: { color: 'pink', size: 6 } },
            { x: x_data, y: [303.0,319.0,329.0,335.0,338.0,338.0,335.0,330.0,324.0,315.0,303.0], mode: 'markers', name: 'Data x=9', marker: { color: 'cyan', size: 6 } },
            { x: x_data, y: [303.0,328.0,335.0,343.0,345.0,345.0,345.0,343.0,335.0,328.0,303.0], mode: 'markers', name: 'Data x=10', marker: { color: 'magenta', size: 6 } },
            { x: x_data, y: [328.0,353.0,353.0,353.0,353.0,353.0,353.0,353.0,353.0,353.0,328.0], mode: 'markers', name: 'Data x=11', marker: { color: 'gray', size: 6 } },
            { x: x_values, y: x_values.map(curve_x2), mode: 'lines', name: 'Fit x=2', line: { color: 'red', width: 2.25 } },
            { x: x_values, y: x_values.map(curve_x3), mode: 'lines', name: 'Fit x=3', line: { color: 'blue', width: 2.25 } },
            { x: x_values, y: x_values.map(curve_x4), mode: 'lines', name: 'Fit x=4', line: { color: 'green', width: 2.25 } },
            { x: x_values, y: x_values.map(curve_x5), mode: 'lines', name: 'Fit x=5', line: { color: 'purple', width: 2.25 } },
            { x: x_values, y: x_values.map(curve_x6), mode: 'lines', name: 'Fit x=6', line: { color: 'orange', width: 2.25 } },
            { x: x_values, y: x_values.map(curve_x7), mode: 'lines', name: 'Fit x=7', line: { color: 'brown', width: 2.25 } },
            { x: x_values, y: x_values.map(curve_x8), mode: 'lines', name: 'Fit x=8', line: { color: 'pink', width: 2.25 } },
            { x: x_values, y: x_values.map(curve_x9), mode: 'lines', name: 'Fit x=9', line: { color: 'cyan', width: 2.25 } },
            { x: x_values, y: x_values.map(curve_x10), mode: 'lines', name: 'Fit x=10', line: { color: 'magenta', width: 2.25 } },
            { x: x_values, y: x_values.map(curve_x11), mode: 'lines', name: 'Fit x=11', line: { color: 'gray', width: 2.25 } }
        ];
        
        var layout = {
            paper_bgcolor: '#1e1e1e',
            plot_bgcolor: '#1e1e1e',
            font: { color: 'white' },
            xaxis: {title: 'Position x (m)', gridcolor: '#444' },
            yaxis: {title: 'Temperature (K)', gridcolor: '#444' },
            legend: {x: 0, y: 1}
        };
        
        Plotly.newPlot('graph', traces, layout);
    </script>
</body>
</html>

Dan hasilnya ialah sebagai berikut:

Grafik Perpindahan Panas 2 Dimensi

Grafik Perpindahan Panas 2 Dimensi

Dengan fungsi kalibrasi pada setiap bidang y sebagai berikut:

  • y = -2500.3x6 + 7500.9x5 – 9318.2x4 + 6134.9x3 – 2346.4x2 + 529.06x + 303.01 untuk cell j = 2
  • y = -278.83x4 + 557.64x3 – 536.16x2 + 257.35x + 302.98 untuk cell j = 3
  • y = -154.83x2 + 154.83x + 303.29 untuk cell j = 4
  • y = -132.03x2 + 132.03x + 302.72 untuk cell j = 5
  • y = -120.04x2 + 120.04x + 302.59 untuk cell j = 6
  • y = -118.53x2 + 118.54x + 302.69 untuk cell j = 7
  • y = -126.99x2 + 126.99x + 303.12 untuk cell j = 8
  • y = -191.16x4 + 382.3x3 – 383.09x2 + 191.94x + 302.99 untuk cell j = 9
  • y = -628.46x4 + 1256.9x3 – 951.11x2 + 322.65x + 303.3 untuk cell j = 10
  • y = -6127.5x6 + 18382x5 – 21540x4 + 12443×3 – 3666.6x2 + 508.65x + 328.05 untuk cell j = 11

Leave a Reply

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