Difference between revisions of "Ashar Prayoga"

From ccitonlinewiki
Jump to: navigation, search
(INTRODUCTION)
Line 35: Line 35:
 
'''7. Regulations'''
 
'''7. Regulations'''
 
:  Ensure that the design complies with applicable regulations and standards in the hydrogen storage industry.
 
:  Ensure that the design complies with applicable regulations and standards in the hydrogen storage industry.
 +
 +
== '''DESIGN CALCULATION''' ==
 +
 +
<syntaxhighlight lang="xml">
 +
 +
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")

Revision as of 03:25, 5 June 2023

INTRODUCTION

AsharP.jpg

Assalamualaikum wr. wb. Perkenalkan nama saya Ashar Prayoga, saya adalah mahasiswa program studi Teknik Mesin angkatan 2021 dengan NPM 2106727954. Di laman ini saya akan membagikan tentang hasil pembelajaran saya untuk kelas Metode Numerik-01, 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

<syntaxhighlight lang="xml">

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)
   ]
  1. Initial guess for thickness, radius, and height (in mm)

x0 = [10.0, 50.0, 100.0]

  1. 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)

]

  1. Define the optimization problem

problem = {

   'type': 'SLSQP',
   'fun': objective_function,
   'x0': x0,
   'bounds': bounds,
   'constraints': [{'type': 'ineq', 'fun': lambda x: constraint(x)}]

}

  1. Solve the optimization problem

result = minimize(problem['fun'], x0=problem['x0'], bounds=problem['bounds'], constraints=problem['constraints'], method=problem['type'])

  1. Extract the optimal solution

optimal_thickness, optimal_radius, optimal_height = result.x

  1. 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

  1. 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

  1. 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")