Workshop 04: Component Reliability Analysis 2#

This workshop was assigned on GitHub.

The solution is provided here in the following sub-pages, and is a subset of what was included in the repository:

  • Report: the Markdown report with 6 questions about the analysis

  • Analysis (Deterministic): the Jupyter notebook where the FEM calculations were made

  • Analysis (Reliability): the Jupyter notebook where MCS and/or FORM calculations were made

The list here summarizes common questions and issues that came up during the workshop:

  • Error when OpenTURNS runs. The traceback had two parts: 1) a NoneType error, where the None was the result of a function that was expected to return an object with attributes (accessing the attributes caused the error), and 2) a RuntimeError within the OpenTURNS algorithm. The first error was caused by the second error, and unfortunately error report in OpenTURNS is very minimal. In this case the root cause is typically something with the limit-state function. It is best to check that the limit-state function is implemented correctly prior to running the OpenTURNS algorithm.

  • Limit-state function input/output. It was common to plug something into the LSF and not be fully aware of what the type and dimension of the input and output should be. The LSF should take a vector of random variables as input, and return a scalar value (the limit-state function value) stored in an iterable object (i.e., list, array, etc). It is important to note that the LSF itself is entirely deterministic; random variable objects should not be included in the function, nor in the inputs. OpenTURNs takes care of determining the realizations of each random variable and passing them to the LSF as part of the algorithm (that is why you define the vectorized LSF and multivariate distribution separately before running the algorithm).

  • Limit-state function definition. The FEM model used to calculate stresses returns stress at many locations (discretized points) within the geometry of the tunnel. When defining failure it is important to recognize that the entire tunnel will fail as soon as any single location fails. This means the max stress should be used to compare against the capacity in the LSF. Note that in practice there are often several different criteria that could be important for evaluating failure and/or determining the most critical failure mechanism, so often several LSF’s and iterative reliability analyses are needed.

Contents of README.md#

This workshop focuses on the component reliability analysis of the structural capacity of a submerged tunnel element subjected to various hydraulic loads. It provides nearly-completed Python code that needs to be filled in to complete the analysis; the code can also be easily adapted to solve other component reliability problems you may deal with in the future. The answers you will provide in Report.md illustrate the type of information expected when describing any component reliability analysis (e.g., your final report, as well as in your future career as an engineer).

You should be able to complete the entire assignment during the in-class session; if not, make sure you at least have all the code implemented, so that outside of class you only have to review how the reliability algorithms work and interpret the results.

The repository contains a variety of files and file types. To complete this assignment, you should do the following:

  1. Look through the repository and observe the files and file types provided.

  2. Read (briefly) the questions in Report.md to get an idea of what you will have to answer at the end of this workshop.

  3. Read the rest of this README.md file to understand the context of the tunnel problem.

  4. Complete the Tasks in notebook Analysis_deterministic.ipynb to get familiar with the model for calculating stress in the tunnel element.

  5. Complete the Tasks in notebook Analysis_reliability.ipynb to set up and complete the component reliability analysis.

  6. Answer the questions in Report.md.

Python Environment#

You should be able to complete this assignment using your environment from WS03.

See the Workbook page tudelft-citg.github.io/HOS-workbook/2025/component/openturns.html for instructions on how to use the OpenTURNS package.

If you are having trouble installing or using OpenTURNS, it may be easier to create a new environment. To help with this, a file openturns_env.yml is included with the assignment files and will create an environment named openturns25 using the following command in a terminal:

conda env create -f openturns_env.yml

Submission and Grading#

Submit your assignment by making a commit in your repository.

Due date: make your last commit before 13:30 on Monday, May 26, 2025. Contact Robert directly if you can’t make the deadline.

If you are not required to submit this assignment for a grade, you can still submit by the deadline to receive feedback on your results.

Problem Introduction: Crossing the Straight#

The joint consortium of Colomes & Agarwal Inc. and Frank & Co designed a floating and submerged tunnel in the Strait of Gibraltar. This project would be a ‘permanent’ link between Spain and Morocco, eliminating the need for ferries.

The consortium, however, still needs to perform a risk analysis. An important meeting with their client is coming up soon and the client needs preliminary assessment of the risks associated with the tunnel. Specifically, the probability of failure of the special concrete they intend to use for tunnel components due to the complex loads caused by fluid-structure interaction.

The firm Lanzafame Consulting was hired to perform the calculations. For the preliminary analysis, using a static scenario instead of dynamic would be sufficient, as running simulations for dynamics would cost too much time. In a later phase the static calculations can easily be updated to a dynamic model.

As such, the project goal is as follows:

Perform a component reliability analysis for a tunnel element such that the probability of failure due to exceedance of the compressive strength is calculated, which must be less than 1%. Water velocity is used to compute compressive stress, and is a function of three random variables: wave conditions (wind and swell waves) and current. The compressive strength of the tunnel material also can be a random variable. The consortium has already built a FEM model that can be used to perform the stress calculations.

Tunnel Characteristics and Metocean Conditions#

Tunnel characteristics:

  • The tunnel is curved and modelled as an Euler-Bernoulli Beam.

  • The tunnel is located at 30 meters below M.S.L.

  • A ‘special’ concrete has a compressive strength of 75 MPa.

  • Steel is an alternative material that has a compressive strength of 250 MPa.

It is assumed that the water velocity at the project location is a result of the following 3 processes:

  1. Swell waves

  2. Wind sea waves

  3. Current

The deterministic analysis has been set up as follows:

  • compute water velocity from wind waves, swell waves and current

  • compute forces on the tunnel using Morrison’s equation (makes the dynamic problem static)

    • note that the force due to the swell waves includes the current water velocity

  • from each component of force, compute stresses in the tunnel elements with the finite element method (FEM)

  • total stress is the superposition of the components from the hydraulic loads

  • check whether the compressive capacity of the tunnel element is exceeded

Random Variables#

The random variables to use in the analysis are summarized here:

Symbol

Code

Description

Units

Distribution

Parameter(s)

\(H^{1/3}\)

X1

Significant wave height, swell waves

m

Exponential

2.0309

\(H^{1/3}\)

X2

Significant wave height, wind sea waves

m

Exponential

2.0663

\(u\)

X3

Velocity of current

m/s

Normal

2, 0.2

\(\sigma_c\)

X4

Compressive strength of concrete

MPa

Normal

75, 5

\(\sigma_s\)

X4

Compressive strength of steel

MPa

Normal

250, 20

Distributions and parameters are for OpenTURNs.

Component Reliability Algorithm#

Note that a summary of FORM (and its results) and a comparison of FORM and MCS have been added to the workbook, and could be useful to choose your component reliability analyses used in class.