Assalamualaikum Wr. Wb., Selamat Pagi, Siang, Sore, Malam Pak Dai
Perkenalkan saya Muhammad Afif Fajar Ramadhan dengan NPM 2306247282, Program Studi Teknik Mesin Angkatan 2023. Pada kesempatan kali ini saya akan menjelaskan “Prinsip dan Algoritma Jaringan Saraf Berbasis Fisika (PINN) untuk Konduksi Panas 1D dengan Kerangka DAI5”, Berikut penjelasan mengenai judul diatas menggunakan framework DAI5 dalam bentuk essai.
1. Kesadaran Mendalam tentang Diri
Jaringan Sanganraf Berbasis Fisika (PINN) adalah pendekatan dalam menyelesaikan persamaan diferensial parsial (PDE) yang mengatur fenomena fisika. Dalam kerangka DAI5, langkah ini menekankan pemahaman mendalam tentang keteraturan hukum-hukum alam. Dalam konteks konduksi panas 1D, hukum Fourier tentang perpindahan panas menjadi dasar pemahaman.
2. Niat
Niat utama dalam penerapan PINN untuk konduksi panas 1D adalah mencari solusi numerik yang efisien dan akurat untuk persamaan panas dengan menggunakan pendekatan jaringan saraf. Dengan metode ini, solusi diperoleh tanpa memerlukan diskritisasi numerik seperti metode beda hingga atau elemen hingga.
3. Pemikiran Awal tentang Masalah
Persamaan panas satu dimensi tanpa sumber panas:

dengan adalah distribusi suhu, adalah difusivitas termal, adalah posisi, dan adalah waktu.
Kondisi batas dan awal:

Solusi akan dipelajari menggunakan jaringan saraf dalam yang memenuhi persamaan di atas.
4. Idealisasi
Fungsi loss dalam formulasi PINN:
- Loss Fisika: Memasukkan informasi fisika ke dalam fungsi loss.

- Loss Data: Kesalahan antara solusi jaringan saraf dan kondisi awal/batas.

Total loss:

dengan sebagai bobot regulasi.
5. Set Instruksi
Kode implementasi PINN untuk konduksi panas 1D menggunakan TensorFlow:
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
class PINN(tf.keras.Model):
def init(self):
super(PINN, self).init()
self.hidden_layers = [tf.keras.layers.Dense(20, activation=’tanh’) for _ in range(5)]
self.output_layer = tf.keras.layers.Dense(1, activation=None)
def call(self, x, t):
inputs = tf.concat([x, t], axis=1)
for layer in self.hidden_layers:
inputs = layer(inputs)
return self.output_layer(inputs)
@tf.function
def physics_loss(model, x, t, alpha=0.01):
with tf.GradientTape(persistent=True) as tape:
tape.watch([x, t])
u = model(tf.concat([x, t], axis=1))
u_x = tape.gradient(u, x)
u_xx = tape.gradient(u_x, x)
u_t = tape.gradient(u, t)
return tf.reduce_mean(tf.square(u_t – alpha * u_xx))
model = PINN()
optimizer = tf.keras.optimizers.Adam(learning_rate=0.001)
x_train = np.random.uniform(0, 1, (100, 1)).astype(np.float32)
t_train = np.random.uniform(0, 1, (100, 1)).astype(np.float32)
for epoch in range(1000):
with tf.GradientTape() as tape:
loss = physics_loss(model, x_train, t_train)
grads = tape.gradient(loss, model.trainable_variables)
optimizer.apply_gradients(zip(grads, model.trainable_variables))
if epoch % 100 == 0:
print(f'Epoch {epoch}, Loss: {loss.numpy()}'
Kesimpulan
Dengan menerapkan kerangka DAI5 dalam penyelesaian masalah konduksi panas 1D menggunakan PINN, pendekatan yang sistematis dapat disusun. Kesadaran mendalam dan niat menjadi dasar dalam pemecahan masalah, sementara formulasi fisika dan jaringan saraf membantu menemukan solusi yang lebih efisien dibandingkan metode numerik tradisional.