English Français

Documentation / User's manual in Python : PDF version

XIII.2. Form Sorm

XIII.2. Form Sorm

The FORM (First Order Reliability Method) and SORM (Second Order Reliability Method) try to estimate the probability of failure of a system. It is often used when a monte-carlo approach is not affordable due to evaluation cost.

In short, its principle uses the notion of design point: the most probable point that exceeds safety threshold. A probability transformation is applied to pass from physical space to a gaussian space, where all random variables are standard normal ones, statistically independent one from another. In this space, FORM approximates the separate function between safe and unsafe solutions with a tangent hyper-plane, while SORM approximates it with a second order taylor expansion. From this design point, FORM estimation is directly calculable, while SORM needs to evaluate the curves around it. Design point search is treated as a constrained optimisation problem.

Currently, Multi-FORM and Multi-SORM are not available, as well as the conjoint use of importance sampling with FORM SORM.

A FORM-SORM problem is a kind of parametric studies. So, it could make the best of the Relauncher architecture. Having this in mind, having a look at Chapter VIII is crucial in order to get good understanding of the following, already-introduced, concepts.

XIII.2.1. Study outline

Before getting into the heart of its study, the user has to define the reliability function, which determines if the system is secure or not. The standard steps to make a FORM SORM studies are:

  1. define the problem

    • declare the input parameters with their statistical law.

    • choose the probability transformation between random spaces.

    • define the TEval providing the reliability function.

    • compose the two previous functions in a TSormEval.

  2. find the design point (optimisation problem)

    • define a TDataServer

    • choose an optimisation solver (eventually configure it),

    • create the corresponding master (eventually configure it), and declare the objective and constraints of the problem.

    • run the optimisation.

  3. (FORM estimation is directly accessible from the last step in the TDataServer)

  4. calculate SORM estimation

    • define the TSorm object.

    • run the estimation.

  5. and finally, analyse the results.

To match the relauncher mold, separating evaluation from study, all parts but first are on the study side.

The second part deals with a constraint optimisation problem: find the most probable solution (objective) that is unsafe (constraint). As the transformation function does not provide the gradient matrix and problem is constrained, the TNloptCobyla algorithm is the recommended local solver. See the Reoptimizer chapter for details.

The FORM estimation is implicit and the SORM estimation is optional. The classes dedicated to FORM SORM studies are described in the next chapter.

XIII.2.2. TSimpleTransform

Currently, the only available probability transformation in Uranie is the simplest one. It supposes that all random variables are independent and have its statistical law known.

TSimpleTransform is a TEval subclass: it does not returned the gradient matrix. Its constructor has no argument. The addParameter method adds the physical random variables.

In fact, it is the inverse transformation that is implemented. The inputs are the normal variable values, and it computes the physical values, the Hasofer-Lind indicator, and the FORM estimation.

XIII.2.3. TFormEval

TFormEval is a TComposeEval subclass used to compose the probability transformation and the safety function. The constructor have two arguments corresponding to this two functions. To complete the definition, the addConstraint method select the output variable used to classify safe and unsafe items. It looks like the addConstraint method of Reoptimizer classes and has the same arguments: a TAttribute and an optional modifier.

This class has a helper method (addOjective) to declare both the objective and the constraint to the design point optimisation problem.

XIII.2.4. TSorm

The SORM estimation needs the principal curves of the design point. The implemented method approximates these curve: for each half axe of the hyper-plane, it searches the border line points of the separation function. The returned probability uses the Breitung approximation.

The TSorm class is a TMaster subclass. The constructor has the two standard arguments: a TDataServer and a TRun.

For each design points found in the TDataServer, the solverLoop method performs an estimation of the curves, and completes its data with the FORM correction factor and SORM estimation. If they are many design points in the TDataServer, it may be useful to filter them to perform a SORM estimation only with principal ones.

These searches can be done in parallel using an adequate TRun. It does not exploit if there is many points (it is often not the case), but inside a point estimation, can treat each half axe searches in parallel. For a 6 input variable problem, 10 evaluation resources may be exploited.

/language/en