Assalamualaikum Warahmatullahi Wabarakatuh.Sebelumnya perkenalkan nama saya Dhena Ihsan Aziz (2306247231) dari kelas Metode Numerik-03. Pada kesempatan kali ini saya akanย menjelaskan sedikitย terkait Prinsip & Algoritma PINN Dalam Penerapan Heat Conduction 1D Dengan Framework DAI5.
Prinsip & Algoritma PINN HC 1D: Pendekatan dengan Kerangka Kerja DAI5
1. Deep Awareness of I (Kesadaran Mendalam tentang Diri)
Dalam konteks PINN HC 1D (Physics-Informed Neural Networks for 1D Heat Conduction), kesadaran mendalam tentang diri mengingatkan kita bahwa setiap upaya pemecahan masalah, termasuk dalam ilmu komputasi dan fisika, harus dimulai dengan pengakuan akan keberadaan Sang Pencipta sebagai sumber segala pengetahuan. Kesadaran ini mendorong kita untuk memahami bahwa alam semesta, termasuk fenomena konduksi panas 1D, diatur oleh hukum-hukum yang telah ditetapkan oleh-Nya. Dengan demikian, tujuan utama dari pengembangan algoritma ini bukan hanya untuk menyelesaikan masalah teknis, tetapi juga untuk mengenali dan menghormati keteraturan alam yang diciptakan Allah SWT.
2. Intention (Niat)
Niat dalam pengembangan PINN HC 1D adalah untuk menciptakan solusi komputasi yang akurat dan efisien untuk memodelkan fenomena konduksi panas 1D, sambil tetap selaras dengan prinsip-prinsip fisika yang mendasarinya. Niat ini berasal dari hati, yang mengarahkan kita untuk tidak hanya mencari keunggulan teknis, tetapi juga untuk memastikan bahwa solusi yang dihasilkan bermanfaat bagi umat manusia dan tidak melanggar prinsip-prinsip etika atau spiritual. Dengan niat yang tulus, setiap langkah dalam pengembangan algoritma ini akan dipandu oleh keinginan untuk mencapai hasil yang bermakna dan bertanggung jawab.
3. Initial Thinking (about the Problem) (Pemikiran Awal tentang Masalah)
Sebelum mengembangkan algoritma, penting untuk memahami masalah konduksi panas 1D secara mendalam. Konduksi panas 1D adalah fenomena fisika di mana panas mengalir melalui suatu material dalam satu dimensi ruang, yang dapat dimodelkan menggunakan persamaan diferensial parsial (PDE). Persamaan ini menggambarkan bagaimana distribusi suhu berubah seiring waktu dan posisi. Tantangannya adalah menyelesaikan persamaan ini secara numerik dengan akurasi tinggi, terutama ketika solusi analitik sulit atau tidak mungkin diperoleh.
Dalam kerangka kerja DAI5, pemikiran awal ini melibatkan analisis mendalam tentang prinsip-prinsip fisika yang mendasari masalah, seperti hukum Fourier tentang konduksi panas, serta identifikasi batasan dan tantangan komputasi yang mungkin muncul.
4. Idealization (Idealiasi)
Langkah idealisasi melibatkan pembayangan solusi optimal untuk masalah konduksi panas 1D. Dalam konteks PINN HC 1D, solusi optimal adalah model neural network yang mampu mempelajari dan memprediksi distribusi suhu dengan akurasi tinggi, sambil mematuhi hukum fisika yang mendasarinya. Idealnya, model ini harus mampu:
- Menyelesaikan persamaan panas 1D tanpa memerlukan data pelatihan yang ekstensif.
- Menghasilkan solusi yang konsisten dengan prinsip-prinsip fisika.
- Bersifat efisien secara komputasi.
Asumsi yang dibuat dalam langkah ini meliputi:
- Persamaan panas 1D dapat diwakili oleh neural network dengan arsitektur yang tepat.
- Data simulasi atau eksperimen dapat digunakan untuk memvalidasi model.
- Hukum fisika dapat diintegrasikan ke dalam loss function untuk memandu pelatihan model.
5. Instruction Set (Set Instruksi)
Set instruksi untuk mengimplementasikan PINN HC 1D melibatkan langkah-langkah berikut:
- Formulasi Matematis: Tulis persamaan panas 1D dalam bentuk yang dapat diintegrasikan ke dalam neural network.โuโt=ฮฑโ2uโx2โtโuโ=ฮฑโx2โ2uโdi manaย u(x,t)u(x,t)ย adalah distribusi suhu,ย ฮฑฮฑย adalah difusivitas termal,ย xxย adalah posisi, danย ttย adalah waktu.
- Desain Arsitektur Neural Network: Buat neural network dengan inputย (x,t)(x,t)ย dan outputย u(x,t)u(x,t). Arsitektur ini harus cukup fleksibel untuk mempelajari hubungan kompleks antara input dan output.
- Integrasi Fisika: Gunakan persamaan panas sebagai bagian dari loss function. Misalnya, loss function dapat mencakup:Loss=MSE(upred,utrue)+ฮปโ MSE(PDEย residuals)Loss=MSE(upredโ,utrueโ)+ฮปโ MSE(PDEย residuals)di manaย ฮปฮปย adalah parameter penyeimbang.
- Pelatihan Model: Latih neural network menggunakan data simulasi atau eksperimen. Pastikan model meminimalkan loss function yang telah dirumuskan.
- Validasi dan Evaluasi: Uji model pada kasus-kasus yang belum pernah dilihat sebelumnya untuk memastikan generalisasi dan akurasi.
- Refleksi dan Penyempurnaan: Selalu evaluasi hasil dan perbaiki model jika diperlukan, sambil menjaga kesadaran akan tujuan dan niat awal.
Implementasi Kode Python
Berikut adalah implementasi dengan kode python
# Import Libraries
import torch
import torch.nn as nn
import numpy as np
import matplotlib.pyplot as plt
# Define PINN Class
class PINN(nn.Module):
def __init__(self):
super(PINN, self).__init__()
self.net = nn.Sequential(
nn.Linear(1, 25), # Mengubah jumlah neuron pada layer pertama
nn.Tanh(),
nn.Linear(25, 25), # Mengubah jumlah neuron pada hidden layer
nn.Tanh(),
nn.Linear(25, 1)
)
def forward(self, x):
return self.net(x)
# Compute 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
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 PINN Function
def train_pinn(T0, T1, epochs=1000):
model = PINN()
optimizer = torch.optim.Adam(model.parameters(), lr=0.002) # Mengubah learning rate
x = torch.linspace(0, 1, 120).reshape(-1, 1) # Menambah jumlah titik diskritisasi
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 Result Function
def plot_results(model, T0, T1):
x = torch.linspace(0, 1, 120).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", linewidth=2)
plt.plot(x, T_analytical, "--", label="Analytical Solution", linewidth=2)
plt.xlabel("x")
plt.ylabel("Temperature")
plt.title("1D Steady-State Heat Conduction")
plt.legend()
plt.grid(True)
# Simpan grafik sebagai file jika tidak ada display
plt.savefig("heat_conduction_result_updated.png")
print("Grafik telah disimpan sebagai 'heat_conduction_result_updated.png'")
# Main Execution
if __name__ == "__main__":
# Parameter default
T0 = 100.0 # Suhu di x=0
T1 = 0.0 # Suhu di x=1
epochs = 1000
# Latih model dan tampilkan hasil
model = train_pinn(T0, T1, epochs)
plot_results(model, T0, T1)

Kesimpulan
Dengan menggunakan kerangka kerja DAI5, pengembangan algoritma PINN HC 1D tidak hanya menjadi proses teknis, tetapi juga perjalanan spiritual dan intelektual. Kesadaran mendalam tentang diri, niat yang tulus, pemikiran awal yang mendalam, idealisasi yang kreatif, dan instruksi yang terstruktur memastikan bahwa solusi yang dihasilkan tidak hanya efektif secara komputasi, tetapi juga selaras dengan prinsip-prinsip yang lebih tinggi. Pendekatan ini membedakan PINN HC 1D dari metode tradisional, karena menekankan integrasi antara sains, teknologi, dan spiritualitas. Sekian yang bisa saya sampaikan hari ini kurang lebihnya mohon maaf. Wassalamualaikum Warahmatullahi Wabarakatuh