# Liquid Hydrogen Tank Problem

**URL:** <https://uqworld.org/t/liquid-hydrogen-tank-problem/58>\
**Category:** Benchmarks\
**Tags:** 5-dimension, test-function, reliability\
**Created:** [January 25, 2019, 10:48am UTC](https://uqworld.org/t/liquid-hydrogen-tank-problem/58 "2019-01-25T10:48:07Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![damarginal](https://uqworld.org/user_avatar/uqworld.org/damarginal/32/73_2.png) [@damarginal](https://uqworld.org/u/damarginal)\
**Post date:** [January 25, 2019, 10:48am UTC](https://uqworld.org/t/liquid-hydrogen-tank-problem/58/1 "2019-01-25T10:48:07Z")

</div>

The 5-dimensional liquid hydrogen tank problem is a reliability analysis benchmark problem (Bichon et al., 2011). The problem consists in quantifying the failure probability of a liquid hydrogen fuel tank on a space launch vehicle. The structure of the tank is subjected to stresses caused by ullage pressure, head pressure, axial forces due to acceleration, and bending and shear stresses caused by the weight of the fuel.

## Description

Three different failure modes exist for the tank:

- Von Mises stress failure (P\_{VM})
- Isotropic strength failure (P\_{IS})
- Honeycomb buckling failure (P\_{HB})

The limit state function of the overall system is then defined as:

g(\mathbf{x}) = \min{(P\_{VM}, P\_{IS}, P\_{HB})},

where:

P\_{VM} = \frac{8.4 \cdot 10^4 \cdot t\_{\text{plate}}}{\sqrt{N\_x^2 + N\_y^2 - N\_x N\_y + 3 N\_{xy}^2}} - 1,

P\_{IS}=\frac{8.4 \cdot 10^4 \cdot t\_{\text{plate}}}{|N\_y|} - 1,

\begin{split} P\_{HB} = & 0.847 + 0.96 x\_1 + 0.986 x\_2 - 0.216 x\_3 \\ & + 0.077 x\_1^2 + 0.11 x\_2^2 + 0.007 x\_3^2 \\ & + 0.378 x\_1 x\_2 - 0.106 x\_1 x\_3 - 0.11 x\_2 x\_3, \end{split}

and:

- x\_1 = 4 (t\_{\text{plate}} - 0.075)
- x\_2 = 20 (t\_h - 0.1)
- x\_3 = -6 \cdot 10^3 (\frac{1}{N\_{xy}} + 0.003)

while the input variables of the performance function are \mathbf{x} = \{t\_{\text{plate}}, t\_{h}, N\_x, N\_y, N\_{xy}\}.

The failure event is defined as g(\mathbf{x}) \leq 0 and the failure probability P\_f = \mathbb{P}[g(\mathbf{x}) \leq 0].

## Inputs

The five input variables are modeled as independent Gaussian random variables.

| No | Variable | Distribution | Parameters | Description |
| --- | --- | --- | --- | --- |
| 1 | t\_{\text{plate}} | Gaussian | \mu\_{t\_\text{plate}} = 0.07433  
\sigma\_{t\_\text{plate}} = 0.005 | Plate thickness |
| 2 | t\_{h} | Gaussian | \mu\_{t\_h} = 0.1  
\sigma\_{t\_h} = 0.01 | Honeycomb thickness |
| 3 | N\_x | Gaussian | \mu\_{N\_x} = 13  
\sigma\_{N\_x} = 60 | Load on tank, x-component |
| 4 | N\_y | Gaussian | \mu\_{N\_y} = 4751  
\sigma\_{N\_y} = 48 | Load on tank y-component |
| 5 | N\_{xy} | Gaussian | \mu\_{N\_{xy}} = -648  
\sigma\_{N\_{xy}} = 11 | Load on tank xy-component |

## Reference values

Some reference values for the failure probability P\_f from the literature are shown in the table below. Note that the values from Bichon et al. (2011) are average values over 20 replications.

| Method | N | \hat{P\_f} | \text{CoV}[\hat{P\_f}] | Source |
| --- | --- | --- | --- | --- |
| MCS (LHS) | 10^4 | 7.0 \times 10^{-4} | - | Bichon et al. (2011) |
| MCS (LHS) | 10^5 | 6.92 \times 10^{-4} | - | Bichon et al. (2011) |
| MCS (LHS) | 10^6 | 6.97 \times 10^{-4} | - | Bichon et al. (2011) |
| MCS | 10^6 | 7.1 \times 10^{-4} | 3.75\% | UQLab v1.2.1 |

## Resources

The vectorized implementation of the limit state function for the liquid hydrogen tank problem in MATLAB as well as the script file with the model and probabilistic inputs definitions for the function in UQLAB can be downloaded below:

[uq\_liquidHydrogenTank.zip](https://uqworld.org/uploads/default/original/1X/01ad80b826039ae58f710b96dc75643413cc0c1f.zip) (3.0 KB)

The contents of the file are:

| Filename | Description |
| --- | --- |
| `uq_liquidHydrogenTank.m` | vectorized implementation of the limit state function of the liquid hydrogen tank problem in MATLAB |
| `uq_Example_liquidHydrogenTank.m` | definitions for the model and probabilistic inputs in UQLab |
| `LICENSE` | license for the function (BSD 3-Clause) |

## References

- B. J. Bichon, J. M. McFarland, and S. Mahadevan, “Efficient surrogate models for reliability analysis of systems with multiple failure modes,” _Reliability Engineering & System Safety_, vol. 96, no. 10, pp. 1386-1395, 2011. [DOI:10.1016/j.ress.2011.05.008](https://doi.org/10.1016/j.ress.2011.05.008)

---

<div class="post-metadata">

**Author:** ![Maitreya](https://uqworld.org/letter_avatar_proxy/v4/letter/m/d78d45/32.png) [@Maitreya](https://uqworld.org/u/Maitreya)\
**Post date:** [July 15, 2019, 10:15pm UTC](https://uqworld.org/t/liquid-hydrogen-tank-problem/58/2 "2019-07-15T22:15:27Z")

</div>

In the variables input, may I know why only 5 variables are allowed?

---

<div class="post-metadata">

**Author:** ![damarginal](https://uqworld.org/user_avatar/uqworld.org/damarginal/32/73_2.png) [@damarginal](https://uqworld.org/u/damarginal)\
**Post date:** [July 16, 2019, 7:22am UTC](https://uqworld.org/t/liquid-hydrogen-tank-problem/58/3 "2019-07-16T07:22:23Z")

</div>

How many additional variables do you want to vary? Which ones?  
For sure you can vary additional variables in the function for your own application, but the problem is presented here (following the paper) as a benchmark problem, so the problem (including the input specification) has to be specific and well defined. The reference values, in turn, correspond to this specification.

---

<div class="post-metadata">

**Author:** ![emarsden](https://uqworld.org/letter_avatar_proxy/v4/letter/e/e95f7d/32.png) [@emarsden](https://uqworld.org/u/emarsden)\
**Post date:** [February 28, 2020, 2:06pm UTC](https://uqworld.org/t/liquid-hydrogen-tank-problem/58/4 "2020-02-28T14:06:48Z")

</div>

Here’s an implementation in the Rust programming language, in a Jupyter notebook. It’s many thousands of times faster than an implementation in Python (even vectorized with NumPy), so I assume also much faster than in Matlab.

[https://risk-engineering.org/notebook/monte-carlo-hydrogen-tank-failure-rust.html](https://risk-engineering.org/notebook/monte-carlo-hydrogen-tank-failure-rust.html)
