Difference between revisions of "Clarisa Cecillya Schuurman"

From ccitonlinewiki
Jump to: navigation, search
(Final Report Hydrogen Storage)
Line 24: Line 24:
  
 
''' A. Dimensi '''
 
''' A. Dimensi '''
Menentukan dimensi tabung yang akan dibuat dengan menggunakan metode numerik agar lebih mudah dan cepat.
+
 
 +
Menentukan dimensi tabung yang akan dibuat dengan menggunakan metode numerik agar lebih mudah dan cepat. ''Coding'' yang digunakan adalah sebagai berikut:
 +
 
 +
import math
 +
from scipy.optimize import minimize
 +
 
 +
target_capacity = 1.0  # 1 liter
 +
target_pressure = 8.0  # 8 bar
 +
 
 +
def calculate_cylinder_volume(diameter, height):
 +
    radius = diameter / 2
 +
    volume = math.pi * radius**2 * height
 +
    return volume
 +
 
 +
def calculate_cylinder_surface_area(diameter, height):
 +
    radius = diameter / 2
 +
    surface_area = 2 * math.pi * radius * (radius + height)
 +
    return surface_area
 +
 
 +
def objective(x):
 +
    diameter, height = x
 +
    surface_area = calculate_cylinder_surface_area(diameter, height)
 +
    return surface_area
 +
 
 +
def constraint(x):
 +
    diameter, height = x
 +
    volume = calculate_cylinder_volume(diameter, height)
 +
    pressure = target_pressure * (target_capacity / volume)
 +
    return pressure - target_pressure
 +
 
 +
def optimize_tank_dimensions():
 +
    initial_guess = [0.5, 0.5]  # Initial guess for diameter and height
 +
 
 +
    # Define bounds for diameter and height
 +
    bounds = [(0.01, 1), (0.01, 1)]
 +
 
 +
    # Define the constraint that pressure should be within acceptable limits
 +
    pressure_constraint = {'type': 'ineq', 'fun': constraint}
 +
 
 +
    # Optimize using the minimize function from SciPy
 +
    result = minimize(objective, initial_guess, bounds=bounds, constraints=pressure_constraint)
 +
 
 +
    optimal_diameter = result.x[0]
 +
    optimal_height = result.x[1]
 +
    min_surface_area = result.fun
 +
 
 +
    return optimal_diameter, optimal_height, min_surface_area
 +
 
 +
optimal_diameter, optimal_height, min_surface_area = optimize_tank_dimensions()
 +
print("Optimal diameter:", optimal_diameter)
 +
print("Optimal height:", optimal_height)
 +
print("Minimum surface area:", min_surface_area)
 +
 
 +
 
 +
'''Output'''
 +
 
 +
Optimal Diameter = 10.009 mm
 +
Optimal Height = 10.009 mm
 +
Minimum Surface Area = 0.4 mm

Revision as of 11:56, 9 June 2023

Design & Optimization of Pressurized Hydrogen Storage

Konsep desain dan optimasi untuk penyimpanan hidrogen bertekanan 8 bar dengan kapasitas 1 liter dan budget maksimal Rp500.000

1. Bahan Tabung Penyimpanan: Memilih tabung penyimpanan yang berbahan stainless steel yang tahan terhadap tekanan 8 bar dan tahan akan hidrogen. Mengapa stainless steel? Karena stainless steel memiliki kekuatan yang baik dan relatif terjangkau.

2. Desain Silinder Sederhana: Memastikan tabung memiliki diameter yang cukup untuk memuat jumlah hidrogen yang diinginkan.

3. Pengamanan: Berikan katup pelepas tekanan yang sesuai untuk mencegah peningkatan tekanan yang berlebihan.

4. Penyegelan yang Efektif: Memastikan sistem penyegelan pada tabung penyimpanan efektif untuk mencegah kebocoran hidrogen. Gunakan seal atau O-ring yang tahan terhadap hidrogen dan bisa dipasang dengan aman pada sambungan tabung.

5. Desain Compact: Pertimbangkan ukuran yang optimal untuk memenuhi kapasitas 1 liter tetapi tetap mempertimbangkan efisiensi biaya dan kegunaan.

6. Pengujian: Pastikan tabung penyimpanan diuji dan memenuhi standar keselamatan serta regulasi yang berlaku. Penting untuk memastikan bahwa desain tabung telah melalui pengujian kebocoran, kekuatan, dan kinerja secara keseluruhan.

Final Report Hydrogen Storage

A. Dimensi

Menentukan dimensi tabung yang akan dibuat dengan menggunakan metode numerik agar lebih mudah dan cepat. Coding yang digunakan adalah sebagai berikut:

import math from scipy.optimize import minimize

target_capacity = 1.0 # 1 liter target_pressure = 8.0 # 8 bar

def calculate_cylinder_volume(diameter, height):

   radius = diameter / 2
   volume = math.pi * radius**2 * height
   return volume

def calculate_cylinder_surface_area(diameter, height):

   radius = diameter / 2
   surface_area = 2 * math.pi * radius * (radius + height)
   return surface_area

def objective(x):

   diameter, height = x
   surface_area = calculate_cylinder_surface_area(diameter, height)
   return surface_area

def constraint(x):

   diameter, height = x
   volume = calculate_cylinder_volume(diameter, height)
   pressure = target_pressure * (target_capacity / volume)
   return pressure - target_pressure

def optimize_tank_dimensions():

   initial_guess = [0.5, 0.5]  # Initial guess for diameter and height
   # Define bounds for diameter and height
   bounds = [(0.01, 1), (0.01, 1)]
   # Define the constraint that pressure should be within acceptable limits
   pressure_constraint = {'type': 'ineq', 'fun': constraint}
   # Optimize using the minimize function from SciPy
   result = minimize(objective, initial_guess, bounds=bounds, constraints=pressure_constraint)
   optimal_diameter = result.x[0]
   optimal_height = result.x[1]
   min_surface_area = result.fun
   return optimal_diameter, optimal_height, min_surface_area

optimal_diameter, optimal_height, min_surface_area = optimize_tank_dimensions() print("Optimal diameter:", optimal_diameter) print("Optimal height:", optimal_height) print("Minimum surface area:", min_surface_area)


Output

Optimal Diameter = 10.009 mm Optimal Height = 10.009 mm Minimum Surface Area = 0.4 mm