LH2_tank_no_boil_off.py
- class openconcept.energy_storage.hydrogen.LH2_tank_no_boil_off.LH2TankNoBoilOff(**kwargs)
Bases:
Group
Model of a liquid hydrogen storage tank that is cylindrical with hemispherical end caps. It uses vacuum insulation with MLI and aluminum inner and outer tank walls. This model does not include the boil-off or thermal models, so it only estimates the weight and not pressure/temperature time histories.
This model includes an integrator to compute the weight of liquid hydrogen remaining in the tank. It is the responsibility of the user to constrain the fill level to be greater than zero (or slightly more), since the integrator is perfectly happy with negative fill levels.
|--- length ---| . -------------- . --- ,' `. | radius / \ | | | --- \ / `. ,' ` -------------- '
- WARNING: Do not modify or connect anything to the initial integrated delta state value
“integ.delta_m_liq_initial”. It must remain zero for the initial tank state to be the expected value. Set the initial tank condition using the fill_level_init option.
- Inputs:
radius (float) – Inner radius of the cylinder and hemispherical end caps. This value does not include the insulation (scalar, m).
length (float) – Length of JUST THE CYLIDRICAL part of the tank (scalar, m)
m_dot_liq (float) – Mass flow rate of liquid hydrogen out of the tank; positive indicates fuel leaving the tank (vector, kg/s)
N_layers (float) – Number of reflective sheild layers in the MLI, should be at least ~10 for model to retain reasonable accuracy (scalar, dimensionless)
environment_design_pressure (float) – Maximum environment exterior pressure expected, probably ~1 atmosphere (scalar, Pa)
max_expected_operating_pressure (float) – Maximum expected operating pressure of tank (scalar, Pa)
vacuum_gap (float) – Thickness of vacuum gap, used to compute radius of outer vacuum wall, by default 5 cm, which seems standard. This parameter only affects the radius of the outer shell, so it’s probably ok to leave at 5 cm (scalar, m)
- Outputs:
m_liq (float) – Mass of the liquid hydrogen in the tank (vector, kg)
fill_level (float) – Fraction of tank volume filled with liquid (vector, dimensionless)
tank_weight (float) – Weight of the tank walls (scalar, kg)
total_weight (float) – Current total weight of the liquid hydrogen, gaseous hydrogen, and tank structure (vector, kg)
- Options:
num_nodes (int) – Number of analysis points to run (scalar, dimensionless)
fill_level_init (float) – Initial fill level (in range 0-1) of the tank, default 0.95 to leave space for boil off gas; 5% adopted from Millis et al. 2009 (scalar, dimensionless)
LH2_density (float) – Liquid hydrogen density, by default 70.85 kg/m^3 (scalar, kg/m^3)
weight_fudge_factor (float) – Multiplier on tank weight to account for supports, valves, etc., by default 1.1
stiffening_multiplier (float) – Machining stiffeners into the inner side of the vacuum shell enhances its buckling performance, enabling weight reductions. The value provided in this option is a multiplier on the outer wall thickness. The default value of 0.8 is higher than it would be if it were purely empirically determined from Sullivan et al. 2006 (https://ntrs.nasa.gov/citations/20060021606), but has been made much more conservative to fall more in line with ~60% gravimetric efficiency tanks
inner_safety_factor (float) – Safety factor for sizing inner wall, by default 1.5
inner_yield_stress (float) – Yield stress of inner wall material (Pa), by default Al 2014-T6 taken from Table IV of Sullivan et al. 2006 (https://ntrs.nasa.gov/citations/20060021606)
inner_density (float) – Density of inner wall material (kg/m^3), by default Al 2014-T6 taken from Table IV of Sullivan et al. 2006 (https://ntrs.nasa.gov/citations/20060021606)
outer_safety_factor (float) – Safety factor for sizing outer wall, by default 2
outer_youngs_modulus (float) – Young’s modulus of outer wall material (Pa), by default LiAl 2090 taken from Table XIII of Sullivan et al. 2006 (https://ntrs.nasa.gov/citations/20060021606)
outer_density (float) – Density of outer wall material (kg/m^3), by default LiAl 2090 taken from Table XIII of Sullivan et al. 2006 (https://ntrs.nasa.gov/citations/20060021606)
- class openconcept.energy_storage.hydrogen.LH2_tank_no_boil_off.InitialLH2MassModification(**kwargs)
Bases:
ExplicitComponent
Subtract the change in LH2 mass from the initial value (computed internally). Also computes the fill level.
- Inputs:
radius (float) – Inner radius of the cylinder and hemispherical end caps. This value does not include the insulation (scalar, m).
length (float) – Length of JUST THE CYLIDRICAL part of the tank (scalar, m)
delta_m_liq (float) – Change in mass of liquid hydrogen in the tank since the beginning of the mission (vector, kg)
- Outputs:
m_liq (float) – Mass of liquid hydrogen in the tank (vector, kg)
fill_level (float) – Fraction of the tank filled with LH2 (vector, dimensionless)
- Options:
num_nodes (int) – Number of analysis points to run (scalar, dimensionless)
fill_level_init (float) – Initial fill level (in range 0-1) of the tank, default 0.95 to leave space for boil off gas; 5% adopted from Millis et al. 2009 (scalar, dimensionless)
LH2_density (float) – Liquid hydrogen density, by default 70.85 kg/m^3 (scalar, kg/m^3)