Assalamualaikum Wr Wb
Perkenalkan, nama saya Athiyya dengan NPM 2306265386, dan saya telah melakukan simulasi fenomena perpindahan panas dalam satu dimensi menggunakan perangkat lunak CFDSOF beberapa waktu lalu. Melalui simulasi ini, saya memperoleh banyak wawasan baru terkait prinsip-prinsip perpindahan panas serta algoritma komputer yang digunakan untuk menghitungnya.
Sebagai bukti konkret atas hasil yang diperoleh, saya telah mendokumentasikan dan mempublikasikan hasil simulasi tersebut dalam bentuk video yang dapat diakses melalui platform YouTube berikut:
Untuk melangkah lebih jauh dalam analisis ini, terdapat berbagai metode yang dapat digunakan untuk mengevaluasi dan memvalidasi hasil simulasi, salah satu pendekatan yang menarik untuk diimplementasikan adalah Physics-Informed Neural Networks (PINN). Metode ini memungkinkan integrasi antara kecerdasan buatan dan hukum fisika untuk menyelesaikan permasalahan dalam disiplin teknik dan sains.
Dalam tulisan ini, saya akan menjelaskan konsep PINN dengan menggunakan kerangka berpikir DAI5, yang mencakup lima aspek utama sebagai berikut:
- Deep Awareness of I
Sebagai seorang manusia yang memiliki keterbatasan dalam memahami dan menghitung setiap fenomena fisika secara manual, saya menyadari pentingnya penggunaan teknologi sebagai alat bantu. Dengan adanya metode berbasis kecerdasan buatan, saya dapat meningkatkan akurasi dalam menganalisis perpindahan panas, mengurangi kesalahan perhitungan, dan menghemat waktu pada prakteknya.
Selain itu, kesadaran ini juga mengarah pada pemahaman bahwa hukum-hukum fisika telah tertata dengan sangat rapi dan dapat dipelajari melalui pendekatan ilmiah. Oleh karena itu, penggunaan metode PINN juga menjadi refleksi atas keteraturan alam yang telah ditetapkan oleh Sang Pencipta.
- Intention
Dalam analisis kali ini, saya memilih untuk menggunakan PINN sebagai metode utama. PINN merupakan pendekatan inovatif untuk menyelesaikan persamaan diferensial parsial (PDE). Keunggulan utama dari metode ini adalah kemampuannya untuk menciptakan model komputasi dengan tetap mempertahankan hukum fisika yang berlaku
Beberapa alasan utama yang menjadikan PINN sebagai metode unggulan dalam analisis perpindahan panas adalah:
- Efisiensi dalam Penyelesaian Masalah, karena biaya komputasi yang lebih rendah dibandingkan dengan metode numerik berbasis mesh tradisional, seperti finite element (FEM) dan finite difference (FDM) method
- Ketepatan Hasil yang Lebih Baik, yang mana dapat memberikan solusi dengan akurasi tinggi tanpa memerlukan pendekatan berbasis grid atau mesh, sehingga mengurangi kesalahan yang biasanya muncul akibat diskritisasi domain
Karena alasan tersebut, PINN kini semakin banyak digunakan dalam berbagai disiplin ilmu teknik, termasuk analisis fluida, perpindahan panas, dan mekanika struktur
- Initial Thinking
Dalam analisis perpindahan panas, salah satu hukum fundamental yang digunakan adalah Hukum Fourier. Hukum ini menyatakan bahwa aliran panas dalam suatu sistem berbanding lurus dengan gradien suhu dalam arah tertentu. Persamaannya dapat dituliskan sebagai berikut:

Dengan variabel-variabelnya didefinisikan sebagai berikut:
- q merupakan fluks kalor dalam W/m2
- k merupakan konduktivitas termal dalam W/mK
- T merupakan temperatur dalam derajat Celsius, dan
- x merupakan posisi dalam meter
Pada kondisi steady state, gradien distribusi temperatur dalam sumbu x bernilai konstan, sehingga penyebaran panas terjadi secara linier sepanjang batang konduktor. Dengan memahami prinsip ini, saya dapat menggunakan PINN untuk memprediksi distribusi temperatur dan membandingkannya dengan solusi analitik dari hasil eksperimen.
- Idealization
Dalam pendekatan PINN, algoritma akan bertugas untuk menghitung tingkat energy loss atau kehilangan energi yang terjadi selama proses perpindahan panas. Tujuannya adalah untuk meminimalkan nilai loss function agar hasil simulasi semakin mendekati solusi analitik yang valid
Loss function dalam PINN sendiri terdiri dibagi menjadi dua komponen utama, yaitu:
- Physical Loss, yaitu kehilangan energi akibat hambatan internal dalam material konduktor, nilai dari physical loss sendiri dipengaruhi oleh konduktivitas termal material (semakin besar konduktivitas, semakin kecil energi yang terbuang)
- Boundary loss, yaitu energi yang hilang akibat interaksi antara sistem dengan lingkungan sekitarnya
Untuk percobaan kali ini, saya menggunakan parameter berupa batang stainless steel (dengan konduktivitas (k) = 16,2 W/mK) berdimensi panjang 1 meter dan lebar 0,3 meter. Batang tersebut dialiri kalor dari 100 sampai 0 derajat Celsius di kedua ujungnya
- Instruction Set
Agar dapat mengimplementasikan PINN dalam analisis perpindahan panas, saya menggunakan bahasa pemrograman Python. Modul yang saya gunakan ialah Numpy, Torch, serta Matplotlib. Sementara itu, kode berikut memberikan gambaran bagaimana model PINN dapat diterapkan dalam analisis perpindahan panas:
import torch
import torch.nn as nn
import numpy as np
import matplotlib.pyplot as plt
# Define 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 loss function for training
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ยฒT/dxยฒ = 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 # Analytical solution
plt.figure(figsize=(8, 6))
plt.plot(x, T_pred, '--', label="PINN Solution", color='red')
plt.plot(x, T_analytical, label="Analytical Solution", color='blue')
plt.xlabel("x")
plt.ylabel("Temperature")
plt.title("1D Steady-State Heat Conduction")
plt.legend()
plt.grid(True)
plt.show()
# Set parameters and run the PINN model
if __name__ == "__main__":
# Define boundary conditions and number of epochs
T0 = 100 # Left boundary temperature
T1 = 0 # Right boundary temperature
epochs = 1000 # Number of training epochs
model = train_pinn(T0, T1, epochs)
plot_results(model, T0, T1)
Adapun, grafik yang dihasilkan dari eksekusi kode berikut akan saya tampilkan di bawah ini:

Sekian dari saya, Wassalamualaikum Wr Wb