FORM

class FORM(*args)

First Order Reliability Method (FORM).

Refer to FORM.

Available constructors:

FORM(nearestPointAlgorithm, event, physicalStartingPoint)

Parameters:
nearestPointAlgorithmOptimizationAlgorithm

Optimization algorithm used to research the design point.

eventRandomVector

Failure event.

physicalStartingPointsequence of float

Starting point of the optimization algorithm, declared in the physical space.

Notes

See Analytical for the description of the first steps of the FORM analysis.

The First Order Reliability Method (FORM) consists in linearizing the limit state function G(\vect{U}\,,\,\vect{d}) at the design point, denoted P^*, which is the point on the limit state surface G(\vect{U}\,,\,\vect{d})=0 that is closest to the origin of the standard space.

Then, the probability P_f where the limit state surface has been approximated by a linear surface (hyperplane) can be obtained exactly, thanks to the rotation invariance of the standard distribution f_{\vect{U}} :

P_f = \left\{
          \begin{array}{ll}
          \displaystyle E(-\beta_{HL})
          & \text{if the origin of the }\vect{u}\text{-space lies in the domain }\cD_f \\
          \displaystyle E(+\beta_{HL}) & \text{otherwise}
          \end{array}
      \right.

where \beta_{HL} is the Hasofer-Lind reliability index, defined as the distance of the design point \vect{u}^* to the origin of the standard space and E the marginal cumulative density function of the spherical distributions in the standard space.

The evaluation of the failure probability is stored in the data structure FORMResult recoverable with the getResult() method.

Examples

>>> import openturns as ot
>>> myFunction = ot.SymbolicFunction(['E', 'F', 'L', 'I'], ['-F*L^3/(3*E*I)'])
>>> myDistribution = ot.Normal([50.0, 1.0, 10.0, 5.0], [1.0]*4, ot.IdentityMatrix(4))
>>> vect = ot.RandomVector(myDistribution)
>>> output = ot.CompositeRandomVector(myFunction, vect)
>>> event = ot.ThresholdEvent(output, ot.Less(), -3.0)
>>> # We create an OptimizationAlgorithm algorithm
>>> solver = ot.AbdoRackwitz()
>>> algo = ot.FORM(solver, event, [50.0, 1.0, 10.0, 5.0])
>>> algo.run()
>>> result = algo.getResult()

Methods

getAnalyticalResult()

Accessor to the result.

getClassName()

Accessor to the object's name.

getEvent()

Accessor to the event of which the probability is calculated.

getId()

Accessor to the object's id.

getName()

Accessor to the object's name.

getNearestPointAlgorithm()

Accessor to the optimization algorithm used to find the design point.

getPhysicalStartingPoint()

Accessor to the starting point of the optimization algorithm.

getResult()

Accessor to the result of FORM.

getShadowedId()

Accessor to the object's shadowed id.

getVisibility()

Accessor to the object's visibility state.

hasName()

Test if the object is named.

hasVisibleName()

Test if the object has a distinguishable name.

run()

Evaluate the failure probability.

setEvent(event)

Accessor to the event of which the probability is calculated.

setName(name)

Accessor to the object's name.

setNearestPointAlgorithm(solver)

Accessor to the optimization algorithm used to find the design point.

setPhysicalStartingPoint(physicalStartingPoint)

Accessor to the starting point of the optimization algorithm.

setResult(formResult)

Accessor to the result of FORM.

setShadowedId(id)

Accessor to the object's shadowed id.

setVisibility(visible)

Accessor to the object's visibility state.

__init__(*args)
getAnalyticalResult()

Accessor to the result.

Returns:
resultAnalyticalResult

Result structure which contains the results of the optimisation problem.

getClassName()

Accessor to the object’s name.

Returns:
class_namestr

The object class name (object.__class__.__name__).

getEvent()

Accessor to the event of which the probability is calculated.

Returns:
eventRandomVector

Event of which the probability is calculated.

getId()

Accessor to the object’s id.

Returns:
idint

Internal unique identifier.

getName()

Accessor to the object’s name.

Returns:
namestr

The name of the object.

getNearestPointAlgorithm()

Accessor to the optimization algorithm used to find the design point.

Returns:
algorithmOptimizationAlgorithm

Optimization algorithm used to research the design point.

getPhysicalStartingPoint()

Accessor to the starting point of the optimization algorithm.

Returns:
pointPoint

Starting point of the optimization algorithm, declared in the physical space.

getResult()

Accessor to the result of FORM.

Returns:
resultFORMResult

Structure containing all the results of the FORM analysis.

getShadowedId()

Accessor to the object’s shadowed id.

Returns:
idint

Internal unique identifier.

getVisibility()

Accessor to the object’s visibility state.

Returns:
visiblebool

Visibility flag.

hasName()

Test if the object is named.

Returns:
hasNamebool

True if the name is not empty.

hasVisibleName()

Test if the object has a distinguishable name.

Returns:
hasVisibleNamebool

True if the name is not empty and not the default one.

run()

Evaluate the failure probability.

Notes

Evaluate the failure probability and create a FORMResult, the structure result which is accessible with the method getResult().

setEvent(event)

Accessor to the event of which the probability is calculated.

Parameters:
eventRandomVector

Event of which the probability is calculated.

setName(name)

Accessor to the object’s name.

Parameters:
namestr

The name of the object.

setNearestPointAlgorithm(solver)

Accessor to the optimization algorithm used to find the design point.

Parameters:
algorithmOptimizationAlgorithm

Optimization algorithm used to research the design point.

setPhysicalStartingPoint(physicalStartingPoint)

Accessor to the starting point of the optimization algorithm.

Parameters:
pointsequence of float

Starting point of the optimization algorithm, declared in the physical space.

setResult(formResult)

Accessor to the result of FORM.

Parameters:
resultFORMResult

Structure containing all the results of the FORM analysis.

setShadowedId(id)

Accessor to the object’s shadowed id.

Parameters:
idint

Internal unique identifier.

setVisibility(visible)

Accessor to the object’s visibility state.

Parameters:
visiblebool

Visibility flag.

Examples using the class

Use the post-analytical importance sampling algorithm

Use the post-analytical importance sampling algorithm

Estimate a flooding probability

Estimate a flooding probability

Use the Importance Sampling algorithm

Use the Importance Sampling algorithm

Use the FORM algorithm in case of several design points

Use the FORM algorithm in case of several design points

Use the FORM - SORM algorithms

Use the FORM - SORM algorithms

Test the design point with the Strong Maximum Test

Test the design point with the Strong Maximum Test

Axial stressed beam : comparing different methods to estimate a probability

Axial stressed beam : comparing different methods to estimate a probability

An illustrated example of a FORM probability estimate

An illustrated example of a FORM probability estimate

Control algorithm termination

Control algorithm termination