Andre Christian Batama
Introduction Saya andre lahir di batam
Optimitization Assigment
The design was to create an optimized prezzuried Hydrogen Storage with a capacity of one litre, pressure eight bar, and the cost of optimization should not exceed five hundred thousand rupiah.
Based on the journal of Minghe and friends (2021)[1], there are several ways to increase the efficiency of the storage, which are :
1.) System Composition
Its a well known fact that the state of hydrogen could bring major improvement for the storage. for example the injection of liquid hidrogen into a tank using high pressure pump would actually lower the temprature while keeping the pressure high. this would actually benefitted the system as it increase the storage efficiency.
2.) Improving the tank cooling process
The tank of hydrogen storage usually a have high requirements of material. the material should be able to withstand a high range of temprature variation and pressure. the unsteady temprature of hydrogen liquid would be a huge consideration.
3.) the diameter of design
Considering the diameter of pipe during the cooling process actually would benefit the storage system itself. by changing the variable of diameter system it actually could increase the efficiency.
Now moving on, the most plausible solution to be done according to the limited budget is the second and third solution. the first solution would need a lot of resource to actually make the most perfect state of hydrogen to be keep in storage. a limtied budget of 500 thousand rupiah wouldn't be able to bring anything. The second solution could be done in small scale and based on the previous research that have been done by the the predecessor. Aluminium has a good thermal conductivty both for hot and cold temprature. adding extra layeer of insulation could be done to add a buffer zone to the system temprature. as we know that system temprature some times become a tricky variable for thermal research especially in a storaged energy study. by adding a layer of thermal insulation we could minimize the lost of energy to the system. The third solution actually the most practical solution, the researcher just need to make a proper estimation of the progress and steps. then could optimize the design by actually cutting the budet. this actually very plausible for a mere five hundred thousand rupiah budget.
Resume Pertemuan 26/5/22
Pada pertemuan pada hari jumat tanggal 26 mei 2023, saya menyadari bagaimana sebenarnya keterbatasan logika seorang individu. setiap individu berusaha untuk mencari jawaban atas permasalahan-permasalahan yang ditemui. Jawaban dari permasalahan tersebut salah satunya berupa pendekatan matematika yang dianggap manusia sebagai sebuah metode eksak atau pasti. akan tetapi seiring dengan perkembangannya manusia menyadari bahwa penyelesaian sebuah masalah secara eksak tidak selalu dapat dilakukan bahkan jika dapat dilakukan hal tersebut membutuhkan waktu yang sangat panjang dan materi yang sedikit. oleh karenanya manusia mencoba melakukan pendekatan-pendekatan dalam menyelesaikan masalah-masalah tersebut. pendekatan tersebut dilakukan secara itiriner dimana hasil yang didapatkan semakin mendekati nilai yang paling sempurna seiring dengan jumlah pengulangan yang dilakukan. ini sama hal nya dengan bagaimana konsep kepercayaan, manusia dengan segala keterbatasannya cenderung sering kali mencoba menanyakan ketuhanan sendiri melalui standar kemanusiaannya sehingga sering kali melakukan pendekatan-pendekatan.
Final Project
class Material:
def __init__(self, name, cost, strength): self.name = name self.cost = cost # Cost in rupiah self.strength = strength # Material strength in MPa
class CoolingMechanism:
def __init__(self, name, cost, cooling_capacity): self.name = name self.cost = cost # Cost in rupiah self.cooling_capacity = cooling_capacity # Cooling capacity in watts
class HydrogenStorageSystem:
def __init__(self, capacity, operating_pressure): self.capacity = capacity # Hydrogen storage capacity in liters self.operating_pressure = operating_pressure # Operating pressure in bar
self.materials = [ Material("Copper", 20000, 200), # Copper material with cost and strength values Material("Steel", 10000, 400), # Steel material with cost and strength values ]
self.cooling_mechanisms = [ CoolingMechanism("Air Cooling", 50000, 100), # Example cooling mechanisms with cost and cooling capacity CoolingMechanism("Liquid Cooling", 100000, 200), CoolingMechanism("Cryogenic Cooling", 200000, 300), ]
self.selected_material = None self.selected_cooling_mechanism = None self.selected_diameter = None
def optimize_design(self): optimized_designs = [] step_size = 50000 max_budget = 500000
for i in range(10): target_budget = (i + 1) * step_size if target_budget > max_budget: break
best_cost = float('inf') selected_diameter = None
for material in self.materials: for cooling_mechanism in self.cooling_mechanisms: # Calculate the cost of the tank based on material cost and required volume tank_volume = self.capacity / 1000 # Convert capacity from liters to m^3 tank_cost = material.cost * tank_volume
# Calculate the required tank diameter based on material strength and operating pressure tank_diameter = (self.operating_pressure * self.capacity * 2) / (material.strength * 1000)
# Check if the calculated diameter matches the target diameter if tank_cost <= target_budget: # Calculate the total system cost including material cost and cooling mechanism cost total_cost = tank_cost + cooling_mechanism.cost
# Check if the cost is better than the current best cost if total_cost < best_cost: best_cost = total_cost self.selected_material = material self.selected_cooling_mechanism = cooling_mechanism selected_diameter = tank_diameter
if self.selected_material is not None and self.selected_cooling_mechanism is not None and selected_diameter is not None: optimized_designs.append( {"Material": self.selected_material.name, "Cooling Mechanism": self.selected_cooling_mechanism.name, "Diameter (mm)": selected_diameter, "Total Cost (rupiah)": best_cost})
return optimized_designs
- Example usage
storage_system = HydrogenStorageSystem(capacity=1, operating_pressure=8) optimized_designs = storage_system.optimize_design()
- Print the optimized designs for each budget
This code estimating the budget of the optimization with considering the aspect of cooling progress, design, and material thickness (diameter). from this coding printing its proven that material did have effect on lowering the budget. material such as composite which is more expensive will cost more money than cheaper material such as steel, aluminium, an copper. Steel, Aluminium, and Copper also have advatange compared to the composite which is the thermal conductivity. but the composite is proven to be more resilince and adapt to pressure. Among all materials, aluminium was proven to be the most cost effective and efficient as its could meet the requirements to withstand 8 bar pressure and has good conductivity. The thickness of the tube also being considered as the thinner the tube meaning the lower cost of materials would be spent. To estimate the real cost we need to first calculate the total of materials spend.
First count the diameter and height of the tube
h = V / (π * r^2) h = (1 * 10^-3) / (π * (0.1)^2)
import math
diameter = 20 # cm radius = diameter / 2 / 100 # Convert to meters volume = 1 / 1000 # Convert to cubic meters
height = volume / (math.pi * radius ** 2)
print("Estimated tube height: {:.2f} meters".format(height))
Estimated tube height: 0.16 meters
After got the estimation of the height and diamater now estimate the thickness of the diameter
desired_stress = 50 # MPa yield_strength = 200 # MPa pressure = 8 # bar radius = 0.1 # meters
thickness = pressure * radius / (desired_stress * 10**6 / yield_strength)
print("Estimated thickness: {:.2f} meters".format(thickness))
Estimated thickness: 0.02 meters
Now we got the estimation of the thickness we can start counting the money we are going to spend by making iteration
import math
class Material:
def __init__(self, name, price_per_kg): self.name = name self.price_per_kg = price_per_kg # Price in rupiah per kg
class HydrogenStorageSystem:
def __init__(self, capacity, operating_pressure, initial_thickness, iterations): self.capacity = capacity # Hydrogen storage capacity in liters self.operating_pressure = operating_pressure # Operating pressure in bar self.initial_thickness = initial_thickness # Initial thickness of the tube in cm self.iterations = iterations # Number of iterations self.materials = [ Material("Copper", 200000), # Copper material with price per kg Material("Steel", 100000), # Steel material with price per kg ]
self.selected_material = None self.selected_diameter = None
def estimate_cost(self): best_cost = float('inf')
for material in self.materials: thickness = self.initial_thickness
for _ in range(self.iterations): # Calculate the weight of the tube tube_volume = math.pi * (self.selected_diameter ** 2) * thickness / 4 # Volume in cubic cm tube_weight = tube_volume * material_density / 1000 # Weight in kg
# Calculate the material cost material_cost = tube_weight * material.price_per_kg
# Calculate the total cost (material cost + labor cost + other costs) total_cost = material_cost
# Check if the cost is better than the current best cost if total_cost < best_cost: best_cost = total_cost self.selected_material = material
# Increase the thickness for the next iteration thickness += 0.1
return best_cost
- Example usage
storage_system = HydrogenStorageSystem(capacity=1, operating_pressure=8, initial_thickness=0.2, iterations=25) cost = storage_system.estimate_cost()
print("Estimated cost: {:.2f} rupiah".format(cost)) print("Selected material: {}".format(storage_system.selected_material.name))