ccitonline.com

CCIT – Cara Cerdas Ingat Tuhan

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

Menganalisis Prinsip & Algoritma PINN Heat Conduction 1D dengan menggunakan Framework DAI5 – Benediktus Matthew (23061555312) – Metode Numerik 01

MESINN!! BERSYUKUR!!! BERSYUKUR!! BERSYUKUR!!!

Assalamualaikum Warahmatullahi Wabarakatuh

Selamat pagi/siang/malam Prof DAI dan teman-teman sekalian. Perkenalkan, nama saya Benediktus Matthew dengan NPM 2306155312. Pertama-tama sebelum saya memulai semua ini, saya ingin memanjatkan puji dan syukur kepada Tuhan Yang Maha Esa atas kasih dan karunianya saya masih dapat menyelesaikan tugas Metode Numerik pada kali ini. Tidak terasa kalau kita sudah ada di penghujung bulan yang suci dan penuh berkah ini yaitu bulan Ramadhan. Semoga seluruh amal ibadah kita di bulan yang mulia ini diterima dan seluruh dosa-dosa kita diampuni oleh-Nya. Kemudian, saya juga berdoa bagi kita semua agar selalu senantiasa dilimpahkan kesehatan dan dilindungi oleh-Nya sehingga kita dapat bertemu kembali di bulan Ramadhan pada tahun yang akan datang.

Physics-Informed Neural Networks (PINNs) merupakan sebuah pendekatan yang memanfaatkan deep learning untuk menyelesaikan persamaan diferensial, dengan tetap menjaga kepatuhan terhadap hukum-hukum fisika. Dalam blog ini, saya akan membahas mengenai prinsip dasar serta algoritma PINN menggunakan pendekatan dalam framework DAI5. Sebelum masuk ke pembahasan utama, saya akan terlebih dahulu membahas kembali framework DAI5 secara singkat.

DAI5 merupakan sebuah kerangka berpikir yang menghubungkan pemahaman sains dengan kesadaran spiritual. Pendekatan ini mendorong kita untuk tetap berada dalam keadaan sadar, dengan menyadari bahwa manusia telah dianugerahi kemampuan oleh Allah SWT. Oleh karena itu, dalam menyelesaikan permasalahan sains, kita harus senantiasa mengingat bahwa segala fenomena yang kita pelajari pada dasarnya adalah bagian dari ciptaan dan kehendak-Nya.

DAI5 terdiri dari :

1.Deep Awareness of Iย  (Kesadaran Diri yang Mendalam)

–> Kesadaran dalam menuntut ilmu adalah hal penting bagi setiap mahasiswa. Memahami apa yang ingin dipelajari dan manfaatnya bagi diri sendiri akan memberi arah dalam proses belajar. Tanpa kesadaran itu, tidak ada yang bisa mengubah atau membangkitkan semangat dalam diri kita sendiri.

2. Intention (Niat)

–> Ketika kita ingin mendalami suatu ilmu pengetahuan harus diawali dengan niat untuk mengambil manfaat dari ilmu tersebut. Bukan sekadar prestasi semata, tapi harus ditujukan untuk kebermanfaatan umat manusia.

3.Initial Thinking (Pemikiran Awal)

–> Perumusan masalah yang sedang dihadapi sangatlah penting untuk kita pahami dengan cara berpikir yang terstruktur dan juga sistematis merupakan bare minimum kita sebagai mahasiswa dalam menghadapi suatu permasalahan.ย 

4.Idealization (Idealisasi)

–> Dalam menyesaikan suatu masalah sains, simplifikasi harus dilakukan dengan efektif sehingga kita dapat melihat gambaran besar dari masalah yang ada. Selain itu, sebagai akibat dari prosesย initial thinking, kita dapat menetapkanย boundary conditionย dari simplifikasi yang telah dibuat.

5.Instruction Set (Set Instruksi)

–> Pada tahap ini menekankan bagaimana cara kita mengimplementasikan ide-ide untuk menyelesaikan suatu permasalahan dengan tepat sesuai dengan analisa permasalahan utama serta dapat dipertanggungjawabkan

1.Deep Awareness of I (Kesadaran Diri yang Mendalam)

Kesadaran dalam menuntut ilmu adalah fondasi utama dalam mempelajari konduksi panas. Kita perlu memahami bagaimana persamaan diferensial mendeskripsikan fenomena perpindahan panas, serta bagaimana PINN dapat digunakan untuk menyelesaikannya secara efisien.

Persamaan utama yang digunakan dalam Heat Conduction 1D adalah Persamaan Difusi Panas:

Kesadaran akan konsep ini penting agar kita dapat memahami bagaimana fenomena fisika ini terjadi dalam kehidupan nyata, seperti dalam pendinginan mesin atau pengendalian suhu dalam sistem termal.

2. Intention (Niat)

Dalam menerapkan PINN, niat utama kita bukan sekadar menyelesaikan persamaan, tetapi juga memanfaatkan ilmu ini untuk aplikasi yang lebih luas, seperti:

  • Meningkatkan efisiensi sistem termal di industri.
  • Mengembangkan metode komputasi yang lebih cepat dibanding metode numerik konvensional.
  • Meneliti fenomena perpindahan panas dalam berbagai bidang, termasuk kedokteran dan teknik lingkungan.

Dengan niat yang benar, kita tidak hanya menyelesaikan masalah secara matematis, tetapi juga mengembangkan solusi yang bermanfaat bagi umat manusia.

3.Initial Thinking (Pemikiran Awal)

Sebelum membangun model PINN, kita perlu memahami struktur permasalahan dengan berpikir secara sistematis

Menentukan persamaan utama:

Mengidentifikasi kondisi awal dan batas:

Menentukan metode penyelesaian: Menggunakan Physics-Informed Neural Networks (PINN) yang memadukan deep learning dengan hukum fisika.

Dengan pemikiran awal yang baik, kita dapat memastikan bahwa model yang dibangun benar-benar relevan dengan permasalahan yang dihadapi.

4.Idealization (Idealisasi)

Dalam menyelesaikan permasalahan Heat Conduction 1D, beberapa simplifikasi perlu dilakukan:

  • Menganggap material homogen, sehingga ฮฑ dianggap konstan.
  • Mengabaikan konveksi dan radiasi, sehingga hanya mempertimbangkan konduksi.
  • Menetapkan boundary condition yang sesuai agar model dapat dikembangkan dengan lebih sederhana.

Dalam model PINN, loss function yang digunakan untuk memastikan solusi memenuhi persamaan fisika adalah

Sementara itu, kondisi awal dan batas juga dimasukkan ke dalam loss function

Total loss yang digunakan dalam pelatihan model adalah:

Dengan idealisasi yang tepat, model dapat bekerja lebih efisien tanpa kehilangan akurasi.

5.Instruction Set (Set Instruksi)

Tahap ini berfokus pada panduan penerapan solusi melalui langkah-langkah yang tersusun secara sistematis. Dalam simulasi menggunakan PINNs, tahap ini memungkinkan kita untuk menggabungkan seluruh langkah dalam kerangka DAI5, sehingga menghasilkan solusi yang optimal dan efisien. Selain itu, solusi yang diperoleh juga dapat memberikan manfaat jangka panjang dan berkelanjutan, sesuai dengan kriteria Sustainability Integration. Pada tahap ini, penting untuk menyusun langkah-langkah yang jelas serta menyediakan visualisasi yang mudah dipahami, sebagaimana diatur dalam kriteria Clarity of Steps dan Physical Interpretation, guna memastikan proses simulasi berjalan dengan lancar dan terarah.

Berikut merupakan kode python yang digunakan :

import torch
import torch.nn as nn
import numpy as np
import matplotlib.pyplot as plt
import tkinter as tk
from tkinter import ttk, messagebox

Define the Physics-Informed Neural Network (PINN)

class PINN(nn.Module):
def init(self):
super(PINN, self).init()
self.net = nn.Sequential(
nn.Linear(1, 20),
nn.Tanh(),
nn.Linear(20, 20),
nn.Tanh(),
nn.Linear(20, 1)
)

def forward(self, x):
    return self.net(x)

Compute the loss function

def compute_loss(model, x, T0, T1):
x = x.requires_grad_(True)
T = model(x)

# Compute derivatives
dT_dx = torch.autograd.grad(T, x, grad_outputs=torch.ones_like(T), create_graph=True)[0]
d2T_dx2 = torch.autograd.grad(dT_dx, x, grad_outputs=torch.ones_like(dT_dx), create_graph=True)[0]

# Physics loss (d^2T/dx^2 = 0)
physics_loss = torch.mean(d2T_dx2**2)

# Boundary conditions
T_left = model(torch.tensor([[0.0]]))
T_right = model(torch.tensor([[1.0]]))
bc_loss = (T_left - T0)**2 + (T_right - T1)**2

return physics_loss + bc_loss

Train the PINN model

def train_pinn(T0, T1, epochs=1000):
model = PINN()
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)
x = torch.linspace(0, 1, 100).reshape(-1, 1)

for epoch in range(epochs):
    optimizer.zero_grad()
    loss = compute_loss(model, x, T0, T1)
    loss.backward()
    optimizer.step()

    if epoch % 100 == 0:
        print(f"Epoch {epoch}, Loss: {loss.item():.6f}")

return model

Plot the results

def plot_results(model, T0, T1):
x = torch.linspace(0, 1, 100).reshape(-1, 1)
with torch.no_grad():
T_pred = model(x).numpy()
x = x.numpy()
T_analytical = T0 + (T1 – T0) * x

plt.figure(figsize=(8, 6))
plt.plot(x, T_pred, label="PINN Solution")
plt.plot(x, T_analytical, '--', label="Analytical Solution")
plt.xlabel("x")
plt.ylabel("Temperature")
plt.title("1D Steady-State Heat Conduction")
plt.legend()
plt.grid(True)
plt.show()

GUI Application

class PINNApp:
def init(self, root):
self.root = root
self.root.title(“PINN 1D Heat Conduction Solver”)

    # Labels and Entries
    ttk.Label(root, text="T0 (Left Boundary, ยฐC):").grid(row=0, column=0, padx=5, pady=5)
    self.T0_entry = ttk.Entry(root)
    self.T0_entry.grid(row=0, column=1, padx=5, pady=5)
    self.T0_entry.insert(0, "100")

    ttk.Label(root, text="T1 (Right Boundary, ยฐC):").grid(row=1, column=0, padx=5, pady=5)
    self.T1_entry = ttk.Entry(root)
    self.T1_entry.grid(row=1, column=1, padx=5, pady=5)
    self.T1_entry.insert(0, "0")

    ttk.Label(root, text="Epochs:").grid(row=2, column=0, padx=5, pady=5)
    self.epochs_entry = ttk.Entry(root)
    self.epochs_entry.grid(row=2, column=1, padx=5, pady=5)
    self.epochs_entry.insert(0, "1000")

    # Solve Button
    self.solve_button = ttk.Button(root, text="Solve & Plot", command=self.solve)
    self.solve_button.grid(row=3, column=0, columnspan=2, pady=10)

def solve(self):
    try:
        T0 = float(self.T0_entry.get())
        T1 = float(self.T1_entry.get())
        epochs = int(self.epochs_entry.get())

        model = train_pinn(T0, T1, epochs)
        plot_results(model, T0, T1)
    except ValueError:
        messagebox.showerror("Error", "Please enter valid numerical values.")

Run the application

if name == “main“:
root = tk.Tk()
app = PINNApp(root)
root.mainloop()

Output Plot Coding PINN dengan Python

Epoch = 1000

Epoch = 3000

Epoch = 8000

Framework DAI5 memberikan pendekatan yang sistematis dalam menyelesaikan Heat Conduction 1D menggunakan PINN. Dengan membangun kesadaran diri, memiliki niat yang benar, berpikir secara terstruktur, melakukan simplifikasi yang tepat, serta mengimplementasikan solusi dengan bertanggung jawab, kita tidak hanya mampu menyelesaikan masalah secara matematis tetapi juga memahami dan menerapkan ilmu ini untuk kepentingan yang lebih luas.

Melalui integrasi ilmu sains dan kesadaran spiritual, kita dapat lebih bijak dalam memanfaatkan teknologi, memastikan bahwa AI dan metode numerik seperti PINN tidak hanya menjadi alat untuk menyelesaikan masalah, tetapi juga membawa manfaat bagi umat manusia secara keseluruhan.

Sekian dari saya yang dapat disampaikan. Mohon maaf bila masih banyak kekurangannya dalam penulisan blog ini. Terimakasih banyak atas perhatiannya.

Wasssalamualaikum Warahmatullahi Wabarakatuh

MESINN!! BERSYUKUR!!! BERSYUKUR!! BERSYUKUR!!!


Leave a Reply

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