Difference between revisions of "Tugas 2 Final Project To Optimaze Hydrogen Storage Design"

From ccitonlinewiki
Jump to: navigation, search
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
Berikut merupakan code optimasi tangki hidrogen dengan kapasitas 1 liter, dan biaya produksi maksimal Rp. 500.000
+
 
 +
<youtube width="200" height="100">Eufoo89kCZA</youtube>
 +
 
 +
[[File:Aisi_304_kevin_akbar.png]]
 +
 
 +
Gambar diatas merupakan Mechanical Properties AISI 304, dari gambar diatas didapat yield strenght untuk mencari ketebalan tangki yang kita buat
 +
 
 +
Berikut merupakan code optimasi tangki hidrogen dengan kapasitas 1 liter, dan biaya produksi maksimal Rp. 500.000 dengan material yang digunakan adalah AISI 316 austenitic stainless steel
 +
 
  
 
<syntaxhighlight lang=xml>
 
<syntaxhighlight lang=xml>
Line 45: Line 53:
  
 
</syntaxhighlight>
 
</syntaxhighlight>
 
  
 
Pertama mendefinisikan fungsi objektif yang menghitung luas permukaan struktur silinder berdasarkan variabel yang diberikan yakni tinggi dan jari-jari.
 
Pertama mendefinisikan fungsi objektif yang menghitung luas permukaan struktur silinder berdasarkan variabel yang diberikan yakni tinggi dan jari-jari.
Line 53: Line 60:
 
Berikutnya, menebak tebakan awal untuk jari-jari dan tinggi (x0) serta batasan untuk variabel (batas). Dalam kasus ini, mengasumsikan jari-jari dan tinggi dapat memiliki nilai positif.
 
Berikutnya, menebak tebakan awal untuk jari-jari dan tinggi (x0) serta batasan untuk variabel (batas). Dalam kasus ini, mengasumsikan jari-jari dan tinggi dapat memiliki nilai positif.
  
Selanjutnya, gunakan fungsi minimize dari scipy.optimize untuk menyelesaikan masalah optimisasi. Bemberikan fungsi objektif , metode (SLSQP), tebakan awal, konstrain, dan batasan.
+
Selanjutnya, gunakan fungsi minimize dari scipy.optimize untuk menyelesaikan masalah optimisasi. Memberikan fungsi objektif , metode (SLSQP), tebakan awal, konstrain, dan batasan.
  
 
Dari code tersebut didapat hasil: Tinggi: 10.84 cm, Jari-jari: 5.42 cm Luas Permukaan: 553.58 cm^2
 
Dari code tersebut didapat hasil: Tinggi: 10.84 cm, Jari-jari: 5.42 cm Luas Permukaan: 553.58 cm^2
 +
 +
 +
Mencari range ketebalan yang aman untuk di proses
 +
 +
<syntaxhighlight lang=xml>
 +
 +
r = 5.51e-2 #vessel radius
 +
p = 800000  #8 bar pressure constraint
 +
t = 2.7e-3  #minimum thickness
 +
 +
while t < 11.05e-3:
 +
  hoop = (p * r)/(t)
 +
  print('Untuk ketebalan', t, 'hoop stress =', hoop, "Pa")
 +
  t += 1e-3
 +
  if hoop > 215e9: #Yield Strength of AISI 304
 +
    break
 +
 +
</syntaxhighlight>
 +
 +
[[File:Data_ketebalan_kevin_akbar.png]]
 +
 +
Dari tabel diatas dapat dibuktikan bahwa range yang aman dalam hal ketebalan tangki adalah 2 hingga 10 mm.
 +
 +
 +
 +
[[File:400px-Pt_citra_anggun_kevin akbar.png]]
 +
 +
Berdasarkan tabel diatas, kita dapat menghitung perkiraan harga dengan spesifikasi diatas (luas silinder = 571,88). Dengan membagi Harga dengan luas pelat, maka ditemukan biaya/satuan luas pelat. Setelah dihitung, dengan memaksimalkan budget, minimum berat yang masih masuk akal, dan strength masih wajar, saya memilih ketebalan 6mm untuk tank ini.

Latest revision as of 23:09, 12 June 2023

Aisi 304 kevin akbar.png

Gambar diatas merupakan Mechanical Properties AISI 304, dari gambar diatas didapat yield strenght untuk mencari ketebalan tangki yang kita buat

Berikut merupakan code optimasi tangki hidrogen dengan kapasitas 1 liter, dan biaya produksi maksimal Rp. 500.000 dengan material yang digunakan adalah AISI 316 austenitic stainless steel


import numpy as np
from scipy.optimize import minimize

def objektif(x):
    # x[0] mewakili jari-jari, x[1] mewakili tinggi
    jari_jari = x[0]
    tinggi = x[1]

    # Hitung luas permukaan struktur silinder
    luas_permukaan = 2 * np.pi * jari_jari * (jari_jari + tinggi)

    return luas_permukaan

def konstrain(x):
    # x[0] mewakili jari-jari, x[1] mewakili tinggi
    jari_jari = x[0]
    tinggi = x[1]

    # Hitung volume internal struktur silinder
    volume = np.pi * jari_jari**2 * tinggi

    # Kembalikan selisih antara volume dan nilai yang diinginkan (1000 cm^3)
    return volume - 1000

# Menebak jari-jari dan tinggi
x0 = [1.0, 10.0]

# Membatasi variabel jari-jari dan tinggi
batas = [(0, None), (0, None)]

# Menentukan konstrain dalam bentuk kamus
konstrain_dict = {'type': 'eq', 'fun': konstrain}

# Menggunakan fungsi minimize dari scipy untuk optimasi
hasil = minimize(objektif, x0, method='SLSQP', bounds=batas, constraints=konstrain_dict)

# Mencetak hasil yang telah dioptimasi
print("Hasil Optimisasi:")
print("Jari-jari: {:.2f} cm".format(hasil.x[0]))
print("Tinggi: {:.2f} cm".format(hasil.x[1]))
print("Luas Permukaan: {:.2f} cm^2".format(hasil.fun))

Pertama mendefinisikan fungsi objektif yang menghitung luas permukaan struktur silinder berdasarkan variabel yang diberikan yakni tinggi dan jari-jari.

Kemudian mendefinisikan fungsi konstrain yang memastikan volume internal struktur silinder memenuhi konstrain dengan selisih sebesar 1000 cm^3.

Berikutnya, menebak tebakan awal untuk jari-jari dan tinggi (x0) serta batasan untuk variabel (batas). Dalam kasus ini, mengasumsikan jari-jari dan tinggi dapat memiliki nilai positif.

Selanjutnya, gunakan fungsi minimize dari scipy.optimize untuk menyelesaikan masalah optimisasi. Memberikan fungsi objektif , metode (SLSQP), tebakan awal, konstrain, dan batasan.

Dari code tersebut didapat hasil: Tinggi: 10.84 cm, Jari-jari: 5.42 cm Luas Permukaan: 553.58 cm^2


Mencari range ketebalan yang aman untuk di proses

r = 5.51e-2 #vessel radius
p = 800000  #8 bar pressure constraint
t = 2.7e-3  #minimum thickness

while t < 11.05e-3:
  hoop = (p * r)/(t)
  print('Untuk ketebalan', t, 'hoop stress =', hoop, "Pa")
  t += 1e-3
  if hoop > 215e9: #Yield Strength of AISI 304
    break

Data ketebalan kevin akbar.png

Dari tabel diatas dapat dibuktikan bahwa range yang aman dalam hal ketebalan tangki adalah 2 hingga 10 mm.


400px-Pt citra anggun kevin akbar.png

Berdasarkan tabel diatas, kita dapat menghitung perkiraan harga dengan spesifikasi diatas (luas silinder = 571,88). Dengan membagi Harga dengan luas pelat, maka ditemukan biaya/satuan luas pelat. Setelah dihitung, dengan memaksimalkan budget, minimum berat yang masih masuk akal, dan strength masih wajar, saya memilih ketebalan 6mm untuk tank ini.