SystemFORM¶

class
SystemFORM
(*args)¶ Approximation algorithm for system events based on FORM.
Each event is represented by its reliability index and the hyperplane defined by the normal coefficients obtained via a preliminary FORM approximation.
For an union (series systems) the probability writes:
where
For an intersection (parallel system) the probability writes:
In practice the event has to be defined under its disjonctive normal form (union of intersections). Each probability of intersection region is computed using the previous formula, then the Poincare formula is used to combine each union:
More details can be found in [lemaire2009], at the chapter Reliability of systems.
 Parameters
 solver
OptimizationAlgorithm
Optimization algorithm used to research the design point.
 event
RandomVector
Failure system event, in disjunctive normal form (either a union of intersections, or a single intersection)
 physicalStartingPointsequence of float
Starting point of the optimization algorithm, declared in the physical space.
 solver
See also
Notes
As a leaf event may appear several times in the system event tree, and as a FORM calculus is run for each unique leaf event, there may be less items in the FORM results collection (returned by
getFORMResultCollection()
) than leaf events.Examples
>>> import openturns as ot >>> dim = 2 >>> X = ot.RandomVector(ot.Normal(dim)) >>> e1 = ot.ThresholdEvent(ot.CompositeRandomVector(ot.SymbolicFunction(['x1', 'x2'], ['(x1+2*x2)^2']), X), ot.Greater(), 5.0) >>> e2 = ot.ThresholdEvent(ot.CompositeRandomVector(ot.SymbolicFunction(['x1', 'x2'], ['(x2+3*x1)^2']), X), ot.Greater(), 5.0) >>> event = ot.IntersectionEvent([e1, e2]) >>> solver = ot.AbdoRackwitz() >>> starting_pt = [0.1] * dim >>> algo = ot.SystemFORM(solver, event, starting_pt) >>> algo.run() >>> result = algo.getResult() >>> form_results = result.getFORMResultCollection() >>> pf = result.getEventProbability()
Methods
getAnalyticalResult
(self)Accessor to the result.
getClassName
(self)Accessor to the object’s name.
getEvent
(self)Accessor to the event of which the probability is calculated.
getId
(self)Accessor to the object’s id.
getName
(self)Accessor to the object’s name.
getNearestPointAlgorithm
(self)Accessor to the optimization algorithm used to find the design point.
getPhysicalStartingPoint
(self)Accessor to the starting point of the optimization algorithm.
getResult
(self)Accessor to the result.
getShadowedId
(self)Accessor to the object’s shadowed id.
getVisibility
(self)Accessor to the object’s visibility state.
hasName
(self)Test if the object is named.
hasVisibleName
(self)Test if the object has a distinguishable name.
run
(self)Perform the research of the design point.
setEvent
(self, systemEvent)Accessor to the event of which the probability is calculated.
setName
(self, name)Accessor to the object’s name.
setNearestPointAlgorithm
(self, solver)Accessor to the optimization algorithm used to find the design point.
setPhysicalStartingPoint
(self, …)Accessor to the starting point of the optimization algorithm.
setShadowedId
(self, id)Accessor to the object’s shadowed id.
setVisibility
(self, visible)Accessor to the object’s visibility state.

__init__
(self, \*args)¶ Initialize self. See help(type(self)) for accurate signature.

getAnalyticalResult
(self)¶ Accessor to the result.
 Returns
 result
AnalyticalResult
Result structure which contains the results of the optimisation problem.
 result

getClassName
(self)¶ Accessor to the object’s name.
 Returns
 class_namestr
The object class name (object.__class__.__name__).

getEvent
(self)¶ Accessor to the event of which the probability is calculated.
 Returns
 event
RandomVector
Event of which the probability is calculated.
 event

getId
(self)¶ Accessor to the object’s id.
 Returns
 idint
Internal unique identifier.

getName
(self)¶ Accessor to the object’s name.
 Returns
 namestr
The name of the object.

getNearestPointAlgorithm
(self)¶ Accessor to the optimization algorithm used to find the design point.
 Returns
 algorithm
OptimizationAlgorithm
Optimization algorithm used to research the design point.
 algorithm

getPhysicalStartingPoint
(self)¶ Accessor to the starting point of the optimization algorithm.
 Returns
 point
Point
Starting point of the optimization algorithm, declared in the physical space.
 point

getResult
(self)¶ Accessor to the result.
 Returns
 result
MultiFORMResult
Contains the global result as well as the sub FORM results.
 result

getShadowedId
(self)¶ Accessor to the object’s shadowed id.
 Returns
 idint
Internal unique identifier.

getVisibility
(self)¶ Accessor to the object’s visibility state.
 Returns
 visiblebool
Visibility flag.

hasName
(self)¶ Test if the object is named.
 Returns
 hasNamebool
True if the name is not empty.

hasVisibleName
(self)¶ Test if the object has a distinguishable name.
 Returns
 hasVisibleNamebool
True if the name is not empty and not the default one.

run
(self)¶ Perform the research of the design point.
Notes
Performs the research of the design point and creates a
AnalyticalResult
, the structure result which is accessible with the methodgetAnalyticalResult()
.

setEvent
(self, systemEvent)¶ Accessor to the event of which the probability is calculated.
 Parameters
 event
RandomVector
Event of which the probability is calculated.
 event

setName
(self, name)¶ Accessor to the object’s name.
 Parameters
 namestr
The name of the object.

setNearestPointAlgorithm
(self, solver)¶ Accessor to the optimization algorithm used to find the design point.
 Parameters
 algorithm
OptimizationAlgorithm
Optimization algorithm used to research the design point.
 algorithm

setPhysicalStartingPoint
(self, 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.

setShadowedId
(self, id)¶ Accessor to the object’s shadowed id.
 Parameters
 idint
Internal unique identifier.

setVisibility
(self, visible)¶ Accessor to the object’s visibility state.
 Parameters
 visiblebool
Visibility flag.