ccitonline.com

CCIT – Cara Cerdas Ingat Tuhan

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

Memahami PINN Menggunakan Framework DAI5—David Fatahillah Panatagama (2306238744)

MEMAHAMI PINN MENGGUNAKAN FRAMEWORK DAI5
David Fatahillah Panatagama (2306238744)

Assalamu’alaikum warahmatullahi wabarakatuh
Segala puji bagi Allah SWT yang telah memberikan nikmat ilmu dan kesehatan sehingga penulis dapat menyelesaikan tulisan ini. Shalawat dan salam semoga tercurah kepada Nabi Muhammad SAW beserta keluarga dan sahabatnya.

Pendahuluan

Melalui tulisan ini, penulis akan membahas penerapan Physics-Informed Neural Networks (PINN) untuk menyelesaikan persamaan konduksi panas 1D dengan pendekatan framework DAI5. Sebelum masuk ke inti pembahasan, mari kita pahami terlebih dahulu konsep dasar terkait.

Apa Itu PINN?
PINN adalah teknik machine learning yang menggabungkan:

  1. Neural Network: Model komputasi terinspirasi otak manusia dengan tiga lapisan utama:
  • Input layer: Menerima data masukan (misal: koordinat spasial)
  • Hidden layers: Memproses informasi melalui neuron dan fungsi aktivasi
  • Output layer: Menghasilkan prediksi (misal: distribusi suhu)
  1. Pengetahuan Fisika: Diimplementasikan melalui persamaan diferensial yang menjadi bagian dari loss function.

Penerapan Framework DAI5

1. Deep Awareness of I

Sebagai muslim, kita harus menyadari bahwa:

  • Fenomena konduksi panas adalah bagian dari sunnatullah yang ditakdirkan Allah SWT
  • Setiap penyelesaian masalah ilmiah harus bertujuan untuk kemaslahatan umat
  • Penggunaan PINN untuk analisis material bangunan dapat meningkatkan efisiensi energi

Kita juga harus:

  • Menjaga integritas ilmiah dengan memastikan hasil akurat
  • Menggunakan sumber daya komputasi secara bertanggung jawab

2. Intention

Niat utama dalam proyek ini:

  • Memahami solusi persamaan panas 1D melalui pendekatan PINN
  • Mengembangkan alternatif metode numerik yang lebih efisien
  • Memberikan kontribusi bagi pengembangan ilmu pengetahuan

3. Initial Thinking

Analisis mendalam terhadap masalah:

  • Akar Masalah: Keterbatasan metode tradisional (FDM/FEM) dalam hal komputasi kompleks
  • Konteks Fisika: Persamaan ∂²T/∂x² = 0 dengan kondisi batas T(0)=T₀ dan T(L)=T₁
  • Relevansi: Aplikasi di industri material, teknik termal, dan energi

4. Idealization

Penyederhanaan masalah dengan:

  • Arsitektur NN sederhana (3 layer dengan 20 neuron/layer)
  • Fungsi aktivasi tanh untuk keseimbangan stabilitas dan non-linearitas
  • Physics-informed loss function yang ketat

Implementasi Kode

1. Persiapan

import torch
import torch.nn as nn
import matplotlib.pyplot as plt

2. Membangun Neural Network

class PINN(nn.Module):
    def __init__(self):
        super().__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)

3. Menghitung Loss Function

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

    # Hitung turunan
    dT_dx = torch.autograd.grad(T, x, create_graph=True)[0]
    d2T_dx2 = torch.autograd.grad(dT_dx, x, create_graph=True)[0]

    # Physics loss
    physics_loss = torch.mean(d2T_dx2**2)

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

    return physics_loss + bc_loss

4. Pelatihan Model

def train_pinn(T0=100, T1=0, 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

5. Visualisasi Hasil

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

    T_analytical = T0 + (T1 - T0) * x.numpy()

    plt.figure(figsize=(10, 6))
    plt.plot(x, T_pred, label="Solusi PINN", linewidth=2)
    plt.plot(x, T_analytical, '--', label="Solusi Analitik")
    plt.xlabel("Posisi (x)", fontsize=12)
    plt.ylabel("Suhu (T)", fontsize=12)
    plt.title("Perbandingan Solusi PINN dan Analitik", fontsize=14)
    plt.legend(fontsize=12)
    plt.grid(True)
    plt.show()

Kesimpulan

  1. PINN berhasil menyelesaikan persamaan konduksi panas 1D dengan akurasi tinggi
  2. Framework DAI5 memberikan pendekatan holistik yang memadukan sains dan spiritualitas
  3. Potensi pengembangan mencakup masalah multidimensi dan sistem non-linear

Wassalamu’alaikum warahmatullahi wabarakatuh



Leave a Reply

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