Difference between revisions of "Faza Abiyya Rinaldi Haryadi"
Faza.abiyya (talk | contribs) (→Pertemuan 26/05/2023) |
Faza.abiyya (talk | contribs) (→Final Report Hydrogen Tank) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Introduction == | == Introduction == | ||
− | Saya Faza | + | Saya Faza Abiyya dari Teknik Perkapalan FTUI 2021 dengan NPM 2106705051 |
== Pertemuan 26/05/2023 == | == Pertemuan 26/05/2023 == | ||
Line 48: | Line 48: | ||
Once the design is complete, conduct testing and validation to ensure the tank meets the required standards and safety regulations. Pressure tests, leak tests, and strength tests are some examples of tests that can be performed. | Once the design is complete, conduct testing and validation to ensure the tank meets the required standards and safety regulations. Pressure tests, leak tests, and strength tests are some examples of tests that can be performed. | ||
+ | |||
+ | == Final Report Hydrogen Tank == | ||
+ | |||
+ | '''Presentasi''' | ||
+ | <youtube width="500" height="400">v=Ebon6Civljo</youtube> | ||
+ | |||
+ | |||
+ | ''' Dimension Optimization ''' | ||
+ | |||
+ | Dimension Optimization calculation for hyodrogen storage space | ||
+ | def objective_function(x): | ||
+ | radius = x[0] | ||
+ | height = x[1] | ||
+ | surface_area = calculate_cylinder_surface_area(radius, height) | ||
+ | cost = calculate_cylinder_cost(surface_area) | ||
+ | return cost | ||
+ | def calculate_cylinder_surface_area(radius, height): | ||
+ | lateral_area = 2 * math.pi * radius * height | ||
+ | base_area = math.pi * radius**2 | ||
+ | total_area = lateral_area + 2 * base_area | ||
+ | return total_area | ||
+ | def calculate_cylinder_cost(surface_area): | ||
+ | # Menghitung biaya berdasarkan luas permukaan tabung | ||
+ | # Anda dapat menyesuaikan fungsi ini dengan estimasi biaya bahan dan produksi yang relevan | ||
+ | return surface_area * cost_per_unit_area | ||
+ | |||
+ | #Mendefinisikan batasan untuk radius dan tinggi tabung | ||
+ | def constraint(x): | ||
+ | radius = x[0] | ||
+ | height = x[1] | ||
+ | volume = math.pi * radius**2 * height | ||
+ | return volume - 1 # Volume harus sama dengan 1L (1000 cm^3) | ||
+ | #Mendefinisikan fungsi untuk mencetak solusi terbaik | ||
+ | def print_solution(x): | ||
+ | radius = x[0] | ||
+ | height = x[1] | ||
+ | surface_area = calculate_cylinder_surface_area(radius, height) | ||
+ | cost = calculate_cylinder_cost(surface_area) | ||
+ | print("Optimization Result:") | ||
+ | print("Radius:", radius) | ||
+ | print("Height:", height) | ||
+ | print("Surface Area:", surface_area) | ||
+ | print("Cost:", cost) | ||
+ | # Menentukan batasan dan inisialisasi nilai awal | ||
+ | x0 = [1, 1] # Nilai awal radius dan tinggi tabung | ||
+ | volume_constraint = {'type': 'eq', 'fun': constraint} # Batasan volume harus sama dengan 1L (1000 cm^3) | ||
+ | bounds = [(0, None), (0, None)] # Batasan non-negatif untuk radius dan tinggi | ||
+ | # Melakukan optimisasi menggunakan metode SLSQPresult = minimize(objective_function, x0, method='SLSQP', bounds=bounds, | ||
+ | constraints=volume_constraint) | ||
+ | # Ekstrak variabel hasil yang dioptimalkan | ||
+ | radius_optimasi, tinggi_optimasi = hasil.x | ||
+ | # Hitung luas permukaan yang dioptimalkan | ||
+ | luas_permukaan_optimal = hitungLuasPermukaan([radius_optimasi, tinggi_optimasi]) | ||
+ | # Tampilkan hasil | ||
+ | print('Jari-jari teroptimasi:', radius_optimasi, 'cm') | ||
+ | print('Tinggi teroptimasi:', tinggi_optimasi, 'cm') | ||
+ | print('Luas Permukaan teroptimasi:', luas_permukaan_optimasi, 'cm^2') | ||
+ | |||
+ | '''Output Hitungan''' | ||
+ | Optimal Radius: 5.2311587 cm | ||
+ | Optimal Height: 9.522345 cm | ||
+ | Optimal Surface Area: 484.67733 cm^2 | ||
+ | |||
+ | ''' Thickness Calculation ''' | ||
+ | |||
+ | Menghitung Ketebalan yang dibutuhkan | ||
+ | |||
+ | # Definisikan fungsi untuk menghitung tegangan cincin (hoop stress) | ||
+ | def calculate_hoop_stress(thickness, inner_diameter, outer_diameter, pressure): | ||
+ | inner_radius = inner_diameter / 2 | ||
+ | outer_radius = outer_diameter / 2 | ||
+ | hoop_stress = (pressure * (outer_radius**2 - inner_radius**2)) / (thickness * (outer_radius - inner_radius)) | ||
+ | return hoop_stress | ||
+ | |||
+ | # Definisikan parameter dan batasan | ||
+ | target_stress = 206000000 # Target tegangan cincin yang ingin dicapai | ||
+ | min_thickness = 0.005 # Batasan tebal minimum | ||
+ | max_thickness = 0.030 # Batasan tebal maksimum | ||
+ | |||
+ | # Inisialisasi tebal awal | ||
+ | thickness = 0.005 | ||
+ | |||
+ | # Proses iterasi untuk mengoptimalkan tebal plate | ||
+ | while True: | ||
+ | # Hitung tegangan cincin berdasarkan tebal saat ini | ||
+ | hoop_stress = calculate_hoop_stress(thickness, inner_diameter, outer_diameter, pressure) | ||
+ | |||
+ | # Periksa apakah tegangan cincin sudah mencapai target | ||
+ | if hoop_stress >= target_stress: | ||
+ | break # Keluar dari iterasi jika tegangan cincin sudah mencapai target | ||
+ | |||
+ | # Sesuaikan tebal plate berdasarkan perbandingan tegangan cincin dengan target | ||
+ | thickness += 0.05 | ||
+ | |||
+ | # Periksa batasan tebal minimum dan tebal maksimum | ||
+ | if thickness < min_thickness: | ||
+ | thickness = min_thickness | ||
+ | elif thickness > max_thickness: | ||
+ | thickness = max_thickness | ||
+ | |||
+ | # Cetak tebal plate yang dihasilkan | ||
+ | print("Optimized Plate Thickness:", thickness, 'm') | ||
+ | |||
+ | '''Output hitungan dari ketebalan plate''' | ||
+ | Optimal Plate Thickness: 0.025 m | ||
+ | |||
+ | ''' Cost Calculation ''' | ||
+ | |||
+ | Setelah mendapatkan dimensi dan tebal plat yang dibutuhkan dan telah di optimasi kita dapat mencari nilai harga plat tabung di harga pasaran, setelah mendapatkannya dapat dimasukan ke dalam perhitungan excel. Tabung yang dibutuhkan sekitar memiliki berat 4.324 kg. Lalu uang yang digunakan selama proses manukfaktur untuk membeli bahan-bahan yaitu sekitar Rp 287.036,405 yang mana masih dibawah budget di angka Rp 500.000,00. |
Latest revision as of 01:23, 16 June 2023
Contents
Introduction
Saya Faza Abiyya dari Teknik Perkapalan FTUI 2021 dengan NPM 2106705051
Pertemuan 26/05/2023
Pada pertemuan pertama ini saya dapat memahami bahwa metode numerik merupakan suatu metode penyelesaian dimana untuk menyelesaikan suatu masalah menggunakan pendekatan pendekatan. Kesadaran diri dan pemikiran yang terbuka memainkan peran penting dalam kehidupan kita. Pak DAI menjelaskan sekilas tentang penugasan kepada mahasiswa untuk mendesain tabung hydrogen 8 bar dengan batasan berupa produksi dari tabung tersebut harus kurang dari Rp500.000 . tugas ini diberikan karena mengingat energy hydrogen ini di masa depan diharapkan bisa menjadi solusi
Design & Optimization of Pressurized Hydrogen Storage
Objective : Design and Optimization Of Pressurized Hydrogen Storage
Spesification :
Capacity : 1 Litres
Pressure Level : 8 bar
Limitation : Cost should not exceed Rp.500.000
Week 1 progress :
Before we dive deeper into the design & optimization phases, we must consciously understand the factors and processes involved in designing and optimizing the hydrogen storage first.
Select Tank Material
Hydrogen tanks are typically made from materials that are strong and capable of withstanding high pressures. Common materials used include alloy steel or carbon fiber reinforced with epoxy resin. Make sure the selected material has sufficient resistance to hydrogen corrosion.
Determine Working Pressure
Hydrogen can be stored in tanks either in compressed form or as a liquid. For compression storage, determine the working pressure based on your application needs. Higher working pressures require tanks with thicker and stronger walls.
Design Tank Structure
Hydrogen tanks usually have a cylindrical design with end caps. In the design, consider structural strength, tank mass, and thermal performance to avoid leaks or structural failures.
Consider Safety Systems
Safety is a critical aspect of hydrogen tank design. Ensure that the tank is equipped with pressure relief valves, and other necessary safety features to reduce the risk of hazards or accidents.
Cost Optimization
Minimize costs by considering factors such as material selection, manufacturing processes, and economies of scale because in this case the maximum cost to spend is Rp 500.000. Explore different manufacturing techniques, such as filament winding or automated fiber placement, to optimize production costs.
Test and Validation
Once the design is complete, conduct testing and validation to ensure the tank meets the required standards and safety regulations. Pressure tests, leak tests, and strength tests are some examples of tests that can be performed.
Final Report Hydrogen Tank
Presentasi
Dimension Optimization
Dimension Optimization calculation for hyodrogen storage space
def objective_function(x): radius = x[0] height = x[1] surface_area = calculate_cylinder_surface_area(radius, height) cost = calculate_cylinder_cost(surface_area) return cost def calculate_cylinder_surface_area(radius, height): lateral_area = 2 * math.pi * radius * height base_area = math.pi * radius**2 total_area = lateral_area + 2 * base_area return total_area def calculate_cylinder_cost(surface_area): # Menghitung biaya berdasarkan luas permukaan tabung # Anda dapat menyesuaikan fungsi ini dengan estimasi biaya bahan dan produksi yang relevan return surface_area * cost_per_unit_area
#Mendefinisikan batasan untuk radius dan tinggi tabung def constraint(x): radius = x[0] height = x[1] volume = math.pi * radius**2 * height return volume - 1 # Volume harus sama dengan 1L (1000 cm^3) #Mendefinisikan fungsi untuk mencetak solusi terbaik def print_solution(x): radius = x[0] height = x[1] surface_area = calculate_cylinder_surface_area(radius, height) cost = calculate_cylinder_cost(surface_area) print("Optimization Result:") print("Radius:", radius) print("Height:", height) print("Surface Area:", surface_area) print("Cost:", cost) # Menentukan batasan dan inisialisasi nilai awal x0 = [1, 1] # Nilai awal radius dan tinggi tabung volume_constraint = {'type': 'eq', 'fun': constraint} # Batasan volume harus sama dengan 1L (1000 cm^3) bounds = [(0, None), (0, None)] # Batasan non-negatif untuk radius dan tinggi # Melakukan optimisasi menggunakan metode SLSQPresult = minimize(objective_function, x0, method='SLSQP', bounds=bounds, constraints=volume_constraint) # Ekstrak variabel hasil yang dioptimalkan radius_optimasi, tinggi_optimasi = hasil.x # Hitung luas permukaan yang dioptimalkan luas_permukaan_optimal = hitungLuasPermukaan([radius_optimasi, tinggi_optimasi]) # Tampilkan hasil print('Jari-jari teroptimasi:', radius_optimasi, 'cm') print('Tinggi teroptimasi:', tinggi_optimasi, 'cm') print('Luas Permukaan teroptimasi:', luas_permukaan_optimasi, 'cm^2')
Output Hitungan
Optimal Radius: 5.2311587 cm Optimal Height: 9.522345 cm Optimal Surface Area: 484.67733 cm^2
Thickness Calculation
Menghitung Ketebalan yang dibutuhkan
- Definisikan fungsi untuk menghitung tegangan cincin (hoop stress)
def calculate_hoop_stress(thickness, inner_diameter, outer_diameter, pressure): inner_radius = inner_diameter / 2 outer_radius = outer_diameter / 2 hoop_stress = (pressure * (outer_radius**2 - inner_radius**2)) / (thickness * (outer_radius - inner_radius)) return hoop_stress
# Definisikan parameter dan batasan target_stress = 206000000 # Target tegangan cincin yang ingin dicapai min_thickness = 0.005 # Batasan tebal minimum max_thickness = 0.030 # Batasan tebal maksimum
# Inisialisasi tebal awal thickness = 0.005
# Proses iterasi untuk mengoptimalkan tebal plate while True: # Hitung tegangan cincin berdasarkan tebal saat ini hoop_stress = calculate_hoop_stress(thickness, inner_diameter, outer_diameter, pressure)
# Periksa apakah tegangan cincin sudah mencapai target if hoop_stress >= target_stress: break # Keluar dari iterasi jika tegangan cincin sudah mencapai target
# Sesuaikan tebal plate berdasarkan perbandingan tegangan cincin dengan target thickness += 0.05
# Periksa batasan tebal minimum dan tebal maksimum if thickness < min_thickness: thickness = min_thickness elif thickness > max_thickness: thickness = max_thickness
# Cetak tebal plate yang dihasilkan print("Optimized Plate Thickness:", thickness, 'm')
Output hitungan dari ketebalan plate
Optimal Plate Thickness: 0.025 m
Cost Calculation
Setelah mendapatkan dimensi dan tebal plat yang dibutuhkan dan telah di optimasi kita dapat mencari nilai harga plat tabung di harga pasaran, setelah mendapatkannya dapat dimasukan ke dalam perhitungan excel. Tabung yang dibutuhkan sekitar memiliki berat 4.324 kg. Lalu uang yang digunakan selama proses manukfaktur untuk membeli bahan-bahan yaitu sekitar Rp 287.036,405 yang mana masih dibawah budget di angka Rp 500.000,00.