Final Report pekan 1 Metode Numerik 01 Muhammad Rifki Fadhilah

From ccitonlinewiki
Jump to: navigation, search

Terdapat 3 acuan dalam optimisasi desain tangki hidrogen ini yaitu geometris (geometrical constraint), kekuatan material (strength constraint), dan biaya (budget constraint). Berdasarkan diskusi yang telah dilakukan di kelas pada pekan lalu, material yang akan digunakan pada pembuatan tangki hidrogen ini adalah AISI 316 austenitic stainless steel.


Base Geometry

Salah satu komponen utama dalam merancang penyimpanan hidrogen bertekanan adalah pengukuran dan geometri penyimpanan.

Tujuan dari proses optimalisasi penyimpanan hidrogen dalam kasus ini adalah membuat penyimpanan hidrogen bertekanan yang memenuhi persyaratan namun tetap hemat biaya. Salah satu kontributor utama biaya produksi adalah jumlah bahan yang digunakan. Semakin rendah total luas permukaan produk, semakin rendah total bahan efektif yang dibutuhkan untuk membuatnya. Untuk kasus kami, luas permukaan perlu diminimalkan dengan tetap menjaga batasan volume sama dengan 1 liter atau 1000 sentimeter kubik. Jari-jari dan tinggi silinder yang memenuhi kedua kualitas tersebut dapat diperoleh dengan menggunakan fungsi pengoptimalan sederhana yang dapat dihitung secara numerik menggunakan kode yang sesuai yang dibuat dengan Python atau MATLAB. Untuk tujuan proyek ini, saya menggunakan Python untuk membuat kode yang menghitung jari-jari dan tinggi silinder secara manual dengan volume 1000 sentimeter kubik.

berikut code beserta hasilnya :

import math from scipy.optimize import minimize

  1. Fungsi objektif untuk mengoptimalkan luas permukaan tabung

def objective(radius_height):

   r, h = radius_height[0], radius_height[1]
   return 2*math.pi*r*(r+h)
  1. Kendala volume tabung harus 1 liter

def constraint(radius_height):

   r, h = radius_height[0], radius_height[1]
   return (math.pi * r**2 * h) - 1000  # Volume dalam mililiter, 1 liter = 1000 ml
  1. Batasan radius dan tinggi harus lebih besar dari 0

bounds = [(0, None), (0, None)]

  1. Nilai awal untuk radius dan tinggi

x0 = [1, 1]

  1. Menggunakan metode Sequential Least SQuares Programming (SLSQP)

solution = minimize(objective, x0, method='SLSQP', bounds=bounds, constraints={'type': 'eq', 'fun': constraint})

  1. Mencetak hasil optimasi

print("Optimasi Luas Permukaan Tabung:") print("Radius (r):", solution.x[0]) print("Tinggi (h):", solution.x[1]) print("Luas Permukaan:", solution.fun)


hasil : Optimasi Luas Permukaan Tabung: Radius (r): 5.41926305506462 Tinggi (h): 10.838511985088449 Luas Permukaan: 553.5810444905989