Muhammad Ihsan
Bio Data
Nama : Muhammad Ihsan
NPM : 2106728225
Program Studi : Teknik Mesin
Hydrogen Storage Optimization
In this study case i will use a commonly used numerical method called "particle swarm optimization" (PSO):
1. Define the Problem: Clearly state the objective function that represents the performance criteria of the hydrogen storage system. It could be maximizing the storage capacity, minimizing the weight or volume, or optimizing any other relevant parameter.
2. Define Variables and Constraints: Identify the variables that can be adjusted to optimize the system, such as tank dimensions, materials, operating conditions, etc. Also, define any constraints that need to be satisfied, such as pressure limits, safety requirements, or cost considerations.
3. Initialize the Swarm: Create a population of potential solutions (particles) that represent different configurations of the hydrogen storage system. Randomly initialize their positions and velocities within the search space.
4. Evaluate Fitness: Evaluate the fitness of each particle by applying the objective function to its corresponding configuration. This step involves performing calculations and simulations to determine the system's performance for each particle.
5. Update Particle's Best Position: For each particle, compare its fitness with the best fitness achieved by that particle so far. If the current fitness is better, update the particle's best position accordingly.
6. Update Global Best Position: Identify the particle with the best fitness among all the particles and record its position as the global best position found so far.
7. Update Velocities and Positions: Update the velocities and positions of each particle based on its own best position and the global best position. This step involves using mathematical equations that incorporate inertia, cognitive, and social parameters to guide the particles' movement.
8. Repeat: Repeat steps 4 to 7 until a termination criterion is met. This criterion could be a maximum number of iterations, reaching a desired fitness threshold, or other convergence criteria.
9. Extract Optimal Solution: Once the algorithm terminates, the particle with the best fitness (global best) represents the optimized design and configuration of the hydrogen storage system. Extract the corresponding parameters and evaluate their values.
10. Validate and Refine: Validate the optimal solution obtained by implementing it in practical applications or conducting further simulations. Refine the solution if necessary based on additional constraints or considerations.
Particle swarm optimization is just one of many numerical methods available for optimization problems. Depending on the specific characteristics of the hydrogen storage system and the optimization goals, other methods like genetic algorithms, simulated annealing, or gradient-based optimization techniques may also be applicable.
Final Report Hydrogen Storage Optimization
Dengan optimasi hidrogen yang memiliki kapasitas maksimal 1 liter dan biaya maksimal produksi sebesar Rp. 500.000, maka pemrograman untuk menghitung ukuran tabung yang optimal :
import numpy as np
from scipy.optimize import minimize
def calculateSurfaceArea(radius, height):
return 2 * np.pi * radius * height + 2 * np.pi * radius**2
def calculateVolume(radius, height):
return np.pi * radius**2 * height
# Set constant variables
target_volume = 1000 # Constant volume (in cubic centimeters)
# Define the objective function to minimize
def objectiveFunction(x):
radius, height = x
surface_area = calculateSurfaceArea(radius, height)
return surface_area
# Define the constraint function
def constraintFunction(x):
radius, height = x
volume = calculateVolume(radius, height)
return volume - target_volume
# Set initial guess for optimization variables
initial_guess = [1.0, 1.0]
# Define the bounds for the variables
bounds = [(0, None), (0, None)]
# Define the optimization problem
constraint = {'type': 'eq', 'fun': constraintFunction}
# Solve the optimization problem
result = minimize(objectiveFunction, initial_guess, method='SLSQP', bounds=bounds, constraints=constraint)
# Extract the optimized variables
optimal_radius, optimal_height = result.x
# Calculate the optimized surface area
optimal_surface_area = calculateSurfaceArea(optimal_radius, optimal_height)
# Display the results
print('Optimal Radius:', optimal_radius, 'cm')
print('Optimal Height:', optimal_height, 'cm')
print('Optimal Surface Area:', optimal_surface_area, 'cm^2')
Optimal Radius: 5.419262767614773 cm
Optimal Height: 10.83851313481415 cm
Optimal Surface Area: 553.5810444881138 cm^2
MATERIAL
Selanjutnya, pada pemilihan material saya menggunakan material stainless steel AISI 316, dikarenakan faktor faktor berikut :
1. Ketahanan Korosi: AISI 316 sangat tahan terhadap korosi akibat hidrogen, memastikan keamanan sistem penyimpanan.
2. Kekuatan dan Daya Tahan: AISI 316 kuat dan tahan lama, memungkinkannya menahan tekanan yang terlibat dalam penyimpanan hidrogen.
3. Kompatibilitas dengan Hidrogen: AISI 316 tidak mudah menyerap atau membocorkan hidrogen, mempertahankan penahanan yang efisien.
4. Stabilitas Termal: AISI 316 dapat menahan variasi suhu, menjaga sifat mekaniknya dari waktu ke waktu.
5. Ketersediaan Material: AISI 316 mudah diakses dalam berbagai bentuk, membuatnya nyaman bagi produsen dan desainer. Material ini juga tergolong cukup murah.
KETEBALAN TANGKI
Melalui gambar diatas diketahui bahwa Yield Strength dari AISI 316 sebesar 205 Mpa sehingga untuk mengetahui ketebalan dinding tangki dan hoop stress diperlukan kode seperti berikut:
<syntaxhighlight lang="xml">
r = 5.42e-2
p = 800000
t = 2.9e-3
while t < 12e-3:
hoop = (r * p)/(t) print('for thickness', t, 'hoop stress =', hoop, "Pa") t += 1e-3 if hoop > 205e9: break
Berdasarkan kode diatas kita mendapatkan
for thickness 0.0029 hoop stress = 14951724.137931036 Pa for thickness 0.0039 hoop stress = 11117948.717948718 Pa for thickness 0.0049 hoop stress = 8848979.591836736 Pa for thickness 0.0059 hoop stress = 7349152.542372881 Pa for thickness 0.0069 hoop stress = 6284057.971014493 Pa for thickness 0.0079 hoop stress = 5488607.594936708 Pa for thickness 0.008900000000000002 hoop stress = 4871910.11235955 Pa for thickness 0.009900000000000003 hoop stress = 4379797.979797979 Pa for thickness 0.010900000000000003 hoop stress = 3977981.6513761454 Pa for thickness 0.011900000000000004 hoop stress = 3643697.478991595 Pa
<syntaxhighlight lang="xml">
Dari nilai diatas dapat diketahui bahwa semua nilai ketebalan 2,9 mm hingga 12 mm dengan penambahan 1 mm masih memenuhi batas dari yield strength.