|
|
Line 7: |
Line 7: |
| harapannya semoga apa yang saya tulis disini dapat bermanfaat di kemudian hari. | | harapannya semoga apa yang saya tulis disini dapat bermanfaat di kemudian hari. |
| | | |
− | == '''DESIGN AND OPTIMIZATION OF PRESSURIZED HYDROGEN STORAGE''' ==
| |
− |
| |
− | When designing the optimization of pressurized hydrogen storage with a volume of 1 liter, pressure of 8 bar, and a production cost not exceeding Rp500,000.00, there are several considerations to take into account. Here are some important factors to consider:
| |
− |
| |
− | '''1. Container Material and Construction'''
| |
− | : Choose materials that are safe and resistant to high pressure and corrosion, such as aluminum, stainless steel, or carbon fiber-reinforced composites.
| |
− | :Ensure that the container construction can safely withstand the desired hydrogen pressure.
| |
− |
| |
− | '''2. Safety'''
| |
− | : Certification and compliance with applicable safety standards such as ISO 15869 or SAE J2579.
| |
− | :Consider adequate safety features, such as pressure relief valves, pressure sensors, and fire suppression systems.
| |
− |
| |
− | '''3. Space Efficiency'''
| |
− | : Design the container to maximize the use of space within the 1-liter volume.
| |
− | :Utilize optimal packaging techniques to maximize the amount of hydrogen that can be stored within the available space.
| |
− |
| |
− | '''4. Storage Efficiency'''
| |
− | : Consider the most efficient method of hydrogen storage, such as physical storage as compressed gas or storage in the form of a fuel cell if hydrogen fuel cells are being :considered.
| |
− |
| |
− | '''5. Production Cost'''
| |
− | : Take into account the cost of materials, production, and testing associated with the storage design.
| |
− | :Optimize the design to achieve a production cost that does not exceed the budgetary constraints.
| |
− |
| |
− | '''6. Reliability'''
| |
− | : Ensure that the container design can maintain a stable pressure over the desired period without leaks or potential damage.
| |
− |
| |
− | '''7. Regulations'''
| |
− | : Ensure that the design complies with applicable regulations and standards in the hydrogen storage industry.
| |
− |
| |
− | == '''DESIGN CALCULATION''' ==
| |
− |
| |
− | '''Specification of a Cylindrical Hydrogen Tank'''
| |
− |
| |
− | Capacity : 1 liter
| |
− | Pressure : 8 bar
| |
− | Material : ASTM A36 sheet metal
| |
− | Cost : Rp500.000,00
| |
− |
| |
− | '''Code to Optimize The Design of Cylindrical Hydrogen Tank'''
| |
− |
| |
− | To optimize the design, i write a code in Python to find the optimium thickness, radius, and the height
| |
− | of the tank with cost and volume as a constant variables. Here is the code that i used:
| |
− |
| |
− | from scipy.optimize import minimize
| |
− | def objective_function(x):
| |
− | thickness, radius, height = x[0], x[1], x[2]
| |
− | # Calculate the weight of the tank (assuming density of ASTM A36 sheet metal)
| |
− | density_astm_a36 = 7850 # kg/m^3 (density of ASTM A36 sheet metal)
| |
− | volume = 3.14159 * radius * radius * height / 1000 # Convert to liters
| |
− | weight = density_astm_a36 * volume
| |
− | # Calculate the cost of the tank (based on material price per kg)
| |
− | material_price = 500000 / weight # Rp/kg (maximum allowed cost divided by weight)
| |
− | cost = weight * material_price
| |
− | # Define the objective function as a combination of weight and cost
| |
− | # You can adjust the coefficients based on your preference for weight vs. cost
| |
− | objective_value = weight + 0.001 * cost
| |
− | return objective_value
| |
− | def constraint(x):
| |
− | thickness, radius, height = x[0], x[1], x[2]
| |
− | # Volume constraint: tank volume should be 1 liter
| |
− | volume = 3.14159 * radius * radius * height / 1000 # Convert to liters
| |
− | # Pressure constraint: tank should handle 8 bar pressure with a safety factor of 2
| |
− | allowable_stress = 250e6 # Pa (allowable stress for ASTM A36 sheet metal)
| |
− | inside_radius = radius - thickness # Inner radius of the tank
| |
− | pressure = 8e5 # Pa (8 bar pressure)
| |
− | stress = pressure * inside_radius / thickness # Stress in the tank wall
| |
− | safety_factor = 2.0 # Safety factor
| |
− | stress_allowable = allowable_stress / safety_factor
| |
− | return [
| |
− | volume - 1, # Volume constraint (1 liter)
| |
− | stress - stress_allowable, # Pressure constraint
| |
− | thickness - 5, # Minimum thickness constraint (5 mm)
| |
− | 10 - thickness # Maximum thickness constraint (10 mm)
| |
− | ]
| |
− | # Initial guess for thickness, radius, and height (in mm)
| |
− | x0 = [10.0, 50.0, 100.0]
| |
− | # Define bounds for thickness, radius, and height (in mm)
| |
− | bounds = [
| |
− | (5, 10), # Bounds for thickness (assumed range from 5 to 10 mm)
| |
− | (1, 50), # Bounds for radius (assumed range from 1 to 50 mm)
| |
− | (100, 1000) # Bounds for height (assumed range from 100 to 1000 mm)
| |
− | ]
| |
− | # Define the optimization problem
| |
− | problem = {
| |
− | 'type': 'SLSQP',
| |
− | 'fun': objective_function,
| |
− | 'x0': x0,
| |
− | 'bounds': bounds,
| |
− | 'constraints': [{'type': 'ineq', 'fun': lambda x: constraint(x)}]
| |
− | }
| |
− | # Solve the optimization problem
| |
− | result = minimize(problem['fun'], x0=problem['x0'], bounds=problem['bounds'], constraints=problem['constraints'], method=problem['type'])
| |
− | # Extract the optimal solution
| |
− | optimal_thickness, optimal_radius, optimal_height = result.x
| |
− | # Calculate the weight of the tank (assuming density of ASTM A36 sheet metal)
| |
− | density_astm_a36 = 7850 # kg/m^3 (density of ASTM A36 sheet metal)
| |
− | volume = 3.14159 * optimal_radius * optimal_radius * optimal_height / 1000 # Convert to liters
| |
− | weight = density_astm_a36 * volume
| |
− | # Calculate the cost of the tank (based on material price per kg)
| |
− | material_price = 500000 / weight # Rp/kg (maximum allowed cost divided by weight)
| |
− | cost = weight * material_price
| |
− | # Print the optimal solution with units
| |
− | print(f"Optimal Thickness: {optimal_thickness:.2f} mm")
| |
− | print(f"Optimal Radius: {optimal_radius:.2f} mm")
| |
− | print(f"Optimal Height: {optimal_height:.2f} mm")
| |
− | print(f"Cost: {cost:.2f} Rp")
| |
− |
| |
− | The result of the code is:
| |
− | Optimal Thickness: 5.00 mm
| |
− | Optimal Radius: 24.28 mm
| |
− | Optimal Height: 100.00 mm
| |
− | Cost: 500000.00 Rp
| |
− |
| |
− | == '''3D MODELLING''' ==
| |
− |
| |
− | After finding out the optimum design using the code above, i try to create the 3D Design using Autodesk Inventor:
| |
− |
| |
− | [[File:hydro7.png|300x300px]] [[File:hydro8.png|300x300px]]
| |
| | | |
| | | |
| + | [[Kelas Metode Numerik 2022]] |
| [[Kelas Komputasi Teknik 2024]] | | [[Kelas Komputasi Teknik 2024]] |