.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_reliability_sensitivity/reliability/plot_flood_model.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_reliability_sensitivity_reliability_plot_flood_model.py: Estimate a flooding probability =============================== .. GENERATED FROM PYTHON SOURCE LINES 7-9 In this example, we estimate the probability that the output of a function exceeds a given threshold with the FORM method. We consider the :ref:`flooding model `. .. GENERATED FROM PYTHON SOURCE LINES 12-14 Define the model ---------------- .. GENERATED FROM PYTHON SOURCE LINES 16-23 .. code-block:: Python from openturns.usecases import flood_model import openturns as ot import openturns.viewer as viewer from matplotlib import pylab as plt ot.Log.Show(ot.Log.NONE) .. GENERATED FROM PYTHON SOURCE LINES 24-25 We load the flooding model from the usecases module : .. GENERATED FROM PYTHON SOURCE LINES 25-29 .. code-block:: Python fm = flood_model.FloodModel() distribution = fm.distribution model = fm.model.getMarginal(1) .. GENERATED FROM PYTHON SOURCE LINES 30-31 See the input distribution .. GENERATED FROM PYTHON SOURCE LINES 31-33 .. code-block:: Python distribution .. raw:: html
JointDistribution
  • name=JointDistribution
  • dimension: 8
  • description=[Q (m3/s),Ks,Zv (m),Zm (m),B (m),L (m),Zb (m),Hd (m)]
  • copula: IndependentCopula(dimension = 8)
Index Variable Distribution
0 Q (m3/s) TruncatedDistribution(Gumbel(beta = 558, gamma = 1013), bounds = [0, (19000.8) +inf[)
1 Ks TruncatedDistribution(Normal(mu = 30, sigma = 7.5), bounds = [0, (87.3797) +inf[)
2 Zv (m) Uniform(a = 49, b = 51)
3 Zm (m) Uniform(a = 54, b = 56)
4 B (m) Triangular(a = 295, m = 300, b = 305)
5 L (m) Triangular(a = 4990, m = 5000, b = 5010)
6 Zb (m) Triangular(a = 55, m = 55.5, b = 56)
7 Hd (m) Uniform(a = 2, b = 4)


.. GENERATED FROM PYTHON SOURCE LINES 34-35 See the model .. GENERATED FROM PYTHON SOURCE LINES 35-37 .. code-block:: Python model.getOutputDescription() .. raw:: html
[S]


.. GENERATED FROM PYTHON SOURCE LINES 38-39 Draw the distribution of a sample of the output. .. GENERATED FROM PYTHON SOURCE LINES 39-45 .. code-block:: Python sampleSize = 1000 inputSample = distribution.getSample(sampleSize) outputSample = model(inputSample) graph = ot.HistogramFactory().build(outputSample).drawPDF() _ = viewer.View(graph) .. image-sg:: /auto_reliability_sensitivity/reliability/images/sphx_glr_plot_flood_model_001.png :alt: S PDF :srcset: /auto_reliability_sensitivity/reliability/images/sphx_glr_plot_flood_model_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 46-48 Define the event ---------------- .. GENERATED FROM PYTHON SOURCE LINES 50-51 Then we create the event whose probability we want to estimate. .. GENERATED FROM PYTHON SOURCE LINES 53-58 .. code-block:: Python vect = ot.RandomVector(distribution) G = ot.CompositeRandomVector(model, vect) event = ot.ThresholdEvent(G, ot.Greater(), 0.0) event.setName("overflow") .. GENERATED FROM PYTHON SOURCE LINES 59-61 Estimate the probability with FORM ---------------------------------- .. GENERATED FROM PYTHON SOURCE LINES 63-64 Define a solver. .. GENERATED FROM PYTHON SOURCE LINES 66-73 .. code-block:: Python optimAlgo = ot.Cobyla() optimAlgo.setMaximumCallsNumber(1000) optimAlgo.setMaximumAbsoluteError(1.0e-8) optimAlgo.setMaximumRelativeError(1.0e-10) optimAlgo.setMaximumResidualError(1.0e-10) optimAlgo.setMaximumConstraintError(1.0e-10) .. GENERATED FROM PYTHON SOURCE LINES 74-75 Run FORM. .. GENERATED FROM PYTHON SOURCE LINES 77-83 .. code-block:: Python startingPoint = distribution.getMean() algo = ot.FORM(optimAlgo, event, startingPoint) algo.run() result = algo.getResult() standardSpaceDesignPoint = result.getStandardSpaceDesignPoint() .. GENERATED FROM PYTHON SOURCE LINES 84-85 Retrieve results. .. GENERATED FROM PYTHON SOURCE LINES 87-91 .. code-block:: Python result = algo.getResult() probability = result.getEventProbability() print("Pf=", probability) .. rst-class:: sphx-glr-script-out .. code-block:: none Pf= 0.0006501344567729738 .. GENERATED FROM PYTHON SOURCE LINES 92-93 Importance factors. .. GENERATED FROM PYTHON SOURCE LINES 95-98 .. code-block:: Python graph = result.drawImportanceFactors() view = viewer.View(graph) plt.show() .. image-sg:: /auto_reliability_sensitivity/reliability/images/sphx_glr_plot_flood_model_002.png :alt: Importance Factors from Design Point - overflow :srcset: /auto_reliability_sensitivity/reliability/images/sphx_glr_plot_flood_model_002.png :class: sphx-glr-single-img .. _sphx_glr_download_auto_reliability_sensitivity_reliability_plot_flood_model.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_flood_model.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_flood_model.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_flood_model.zip `