Difference between revisions of "Tugas 2 Final Project To Optimaze Hydrogen Storage Design"
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | |||
+ | <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 | 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 55: | 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. | + | 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]] | [[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. | 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
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
Dari tabel diatas dapat dibuktikan bahwa range yang aman dalam hal ketebalan tangki adalah 2 hingga 10 mm.
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.