SORM¶
- class SORM(*args)¶
Second Order Reliability Method (SORM).
Refer to SORM.
- Parameters:
- nearestPointAlgorithm
OptimizationAlgorithm
Optimization algorithm used to search the design point.
- event
RandomVector
Failure event.
- physicalStartingPointsequence of float
Starting point of the optimization algorithm, declared in the physical space.
- nearestPointAlgorithm
See also
Notes
See
Analytical
for the description of the first steps of the SORM analysis.The Second Order Reliability Method (SORM) consists in approximating the limit state surface in U-space at the design point by a quadratic surface. SORM is usually more accurate than FORM e.g. in case when the event boundary is highly curved.
Let us denote by the dimension of the random vector and the main curvatures of the limit state function at the design point in the standard space.
Several approximations of the failure probability are available in the library, and detailed here in the case where the origin of the standard space does not belong to the failure domain:
Breitung’s formula:
the marginal cumulative distribution function of the spherical distributions in the standard space and is the Hasofer-Lind reliability index, defined as the distance of the design point to the origin of the standard space.
Hohenbichler’s formula is an approximation of the previous equation:
where is the cumulative distribution function of the standard 1D normal distribution and is the standard Gaussian probability density function.
Tvedt’s formula:
where is the real part of the complex number and the complex number such that .
The evaluation of the failure probability is stored in the data structure
SORMResult
recoverable with thegetResult()
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.SORM(solver, event, [50.0, 1.0, 10.0, 5.0]) >>> algo.run() >>> result = algo.getResult()
Methods
Accessor to the result.
Accessor to the object's name.
getEvent
()Accessor to the event of which the probability is calculated.
getName
()Accessor to the object's name.
Accessor to the optimization algorithm used to find the design point.
Accessor to the starting point of the optimization algorithm.
Accessor to the result of SORM.
hasName
()Test if the object is named.
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
(sormResult)Accessor to the result of SORM.
- __init__(*args)¶
- getAnalyticalResult()¶
Accessor to the result.
- Returns:
- result
AnalyticalResult
Result structure which contains the results of the optimisation problem.
- result
- 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:
- event
RandomVector
Event of which the probability is calculated.
- event
- 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:
- algorithm
OptimizationAlgorithm
Optimization algorithm used to research the design point.
- algorithm
- getPhysicalStartingPoint()¶
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()¶
Accessor to the result of SORM.
- Returns:
- result
SORMResult
Structure containing all the results of the SORM analysis.
- result
- hasName()¶
Test if the object is named.
- Returns:
- hasNamebool
True if the name is not empty.
- run()¶
Evaluate the failure probability.
Notes
Evaluate the failure probability and create a
SORMResult
, the structure result which is accessible with the methodgetResult()
.
- setEvent(event)¶
Accessor to the event of which the probability is calculated.
- Parameters:
- event
RandomVector
Event of which the probability is calculated.
- event
- 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:
- algorithm
OptimizationAlgorithm
Optimization algorithm used to research the design point.
- algorithm
- 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(sormResult)¶
Accessor to the result of SORM.
- Parameters:
- result
SORMResult
Structure containing all the results of the SORM analysis.
- result
Examples using the class¶
Estimate a buckling probability
Use the FORM - SORM algorithms
An illustrated example of a FORM probability estimate
Using the FORM - SORM algorithms on a nonlinear function