# Numerical Code for calculating Pressurized Hydrogen Storage

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Result of first section of code
```from math import pi

import pprint

'''

circle_area = pi * r**2
circle_circumference = 2 * pi * r

h = height
cylinder_volume = pi * r**2 * h

cylinder_surface = 2 * (pi * r**2) + (2 * pi * r * h)

constraint for cylinder_volume be a constant of 1 liter (cubic centimeter)
cylinder_volume = 1000
h in terms of r
h = 1000/(pi * r**2)

substitute in
cylinder_surface = 2 * (pi * r**2) + (2 * pi * r * 1000/(pi * r**2))

'''

mylist = []               # create a list of (surface area, radius)
for r in range(1, 21):    # assume a maximum of 20cm radius
cylinder_surface = 2 * (pi * r**2) + (2 * pi * r * 1000/(pi * r**2))
mylist.append((cylinder_surface, r))

# test
pprint.pprint(mylist)```

Geometry optimization result for radius and height for minimum surface area
```r = 5
surface_list = []
while True:
cylinder_surface = 2 * (pi * r**2) + (2 * pi * r * 1000/(pi * r**2))
surface_list.append((cylinder_surface, r))
r += 0.01
if r > 6:
break

print('minimum surface area and radius: ', min(surface_list))

min_surface = min(surface_list)[0]
sf = "Minimum surface of a 1000ml tank = {:0.2f} square centimeters"
print(sf.format(min_surface))