h2integrate.simulation.technologies.hydrogen.h2_storage.on_turbine.on_turbine_hydrogen_storage#
Author: Cory Frontin Date: 23 Jan 2023 Institution: National Renewable Energy Lab Description: This file handles the cost, sizing, and pressure of on-turbine H2 storage
To use this class, specify a turbine
Costs are assumed to be in 2003 dollars [1]
- Sources:
[1] Kottenstette 2003 (use their chosen favorite design)
- param - year:
construction year
- type - year:
int
- param - turbine:
contains various information about the turbine, including tower_length, section_diameters, and section_heights
- type - turbine:
dict
- API member functions:
get_capex(): return the total additional capex necessary for H2 production, in 2003 dollars
- get_opex(): return the result of a simple model for operational expenditures for pressure
vessel, in 2003 dollars
get_mass_empty(): return the total additional empty mass necessary for H2 production, in kg
- get_capacity_H2(): return the capacity mass of hydrogen @ operating pressure, ambient temp.,
in kg
get_pressure_H2() return the operating hydrogen pressure, in Pa
Classes
|
- class h2integrate.simulation.technologies.hydrogen.h2_storage.on_turbine.on_turbine_hydrogen_storage.PressurizedTower(year, turbine)#
- Parameters:
year (int)
turbine (dict)
- run()#
- get_volume_tower_inner()#
get the inner volume of the tower in m^3
assume t << d
- get_volume_tower_material(pressure=None)#
get the material volume of the tower in m^3
if pressurized, use pressure to set thickness increment due to pressurization
assume t << d
- params:
pressure: gauge pressure of H2 (defaults to design op. pressure)
- Returns:
- Vmat_wall -- material volume of vertical tower - Vmat_bot: material volume of bottom cap (nonzero only if pressurized) - Vmat_top: material volume of top cap (nonzero only if pressurized)
- Parameters:
pressure (float | None)
- get_mass_tower_material(pressure=None)#
get the material mass of the tower in m^3
if pressurized, use pressure to set thickness increment due to pressurization
assume t << d
- params:
pressure: gauge pressure of H2 (defaults to design op. pressure)
- Returns:
- Mmat_wall -- material mass of vertical tower - Mmat_bot: material mass of bottom cap - Mmat_top: material mass of top cap
- Parameters:
pressure (float | None)
- get_cost_tower_material(pressure=None)#
get the material cost of the tower in m^3
if pressurized, use pressure to set thickness increment due to pressurization
assume t << d
- params:
pressure: gauge pressure of H2 (defaults to design op. pressure)
- Returns:
- Vmat_wall -- material cost of vertical tower - Vmat_bot: material cost of bottom cap - Vmat_top: material cost of top cap
- Parameters:
pressure (float | None)
- get_operational_mass_fraction()#
get the fraction of stored hydrogen to tower mass
following Kottenstette
- get_cost_nontower(traditional=False, naive=True)#
- Parameters:
traditional (bool)
naive (bool)
- get_capex()#
return the total additional capex necessary for H2 production
- get_opex()#
a simple model for operational expenditures for PV
maintenance for pressure vessel based on an annual maintenance rate against the vessel-specific capital expenditure, plus wages times staff hours per year
- get_mass_empty()#
return the total additional empty mass necessary for H2 production in kg
- get_capacity_H2()#
get the ideal gas H2 capacity in kg
- get_pressure_H2()#
- static compute_cap_thickness(pressure, diameter, strength_yield, safetyfactor_Sy=1.5, efficiency_weld=0.8, constant=0.1)#
compute the necessary thickness for a pressure vessel cap
$$ t= d sqrt{frac{C P}{S E}} $$ with weld joint efficiency E, allowable stress S, pressure P, diameter of pressure action d, edge restraint factor C
- assumed:
- C= 0.10: Fig-UG-34 of ASME Code S VII, div. 1, via Rao's _Companion
Guide to the ASME Boiler and Pressure Vessel Code_ (2009), fig. 21.3. type of sketch (a) assumed
E= 0.80: conservatively butt weld, inspected
using the ASME pressure vessel code definitions, and values given in Rao _Companion Guide to the ASME Boiler and Pressure Vessel Code_ (2009)
- static compute_frustum_volume(height, base_diameter, top_diameter)#
return the volume of a frustum (truncated cone)
- static get_crossover_pressure(welded_joint_efficiency, ultimate_tensile_strength, d_t_ratio)#
get burst/fatigue crossover pressure
following Kottenstette 2003
- Parameters:
welded_joint_efficiency (float)
ultimate_tensile_strength (float)
d_t_ratio (float)
- static get_thickness_increment_const(pressure, ultimate_tensile_strength)#
compute Goodman equation-based thickness increment in m
following Kottenstette 2003
- Parameters:
pressure (float)
ultimate_tensile_strength (float)