SafeAndSlow

class SafeAndSlow(*args)

SafeAndSlow method.

Parameters:
solverSolver

Non linear solver used to research the intersection of the limit state function with the direction, on each segment of length stepSize, between the center of the space and maximumDistance (root research).

maximumDistancepositive float

Distance from the center of the standard space until which we research an intersection with the limit state function along each direction. By default, the maximum distance is equal to the value defined through the key RootStrategyImplementation-DefaultMaximumDistance of the ResourceMap.

stepSizefloat

Length of each segment inside which the root research is performed. By default, the step size is equal to the value defined through the key RootStrategyImplementation-DefaultStepSize of the ResourceMap.

Notes

The SafeAndSlow strategy is the following: for each direction, we go along the direction by step of length stepSize from the origin to the maximum distant point(at distance maximumDistance from the center of the standard space) and we check whether there is a sign changement on each segment so formed.

We go until the maximum distant point. Then, for all the segments where we detected the presence of a root, we research the root with the selected non linear solver. We evaluate the contribution to the failure probability of each segment.

If stepSize is small enough, this strategy guarantees us to find all the roots in the direction and the contribution of this direction to the failure probability is precisely evaluated.

Methods

getClassName()

Accessor to the object's name.

getMaximumDistance()

Get the maximum distance.

getName()

Accessor to the object's name.

getOriginValue()

Get the origin value.

getSolver()

Get the solver.

getStepSize()

Get the step size.

hasName()

Test if the object is named.

setMaximumDistance(maximumDistance)

Set the maximum distance.

setName(name)

Accessor to the object's name.

setOriginValue(originValue)

Set the origin value.

setSolver(solver)

Set the solver.

setStepSize(stepSize)

Set the step size.

solve(function, value)

Give all the roots found applying the root strategy.

__init__(*args)
getClassName()

Accessor to the object’s name.

Returns:
class_namestr

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

getMaximumDistance()

Get the maximum distance.

Returns:
maximumDistancepositive float

Distance from the center of the standard space until which we research an intersection with the limit state function along each direction. By default, the maximum distance is equal to the value defined through the key RootStrategyImplementation-DefaultMaximumDistance of the ResourceMap.

getName()

Accessor to the object’s name.

Returns:
namestr

The name of the object.

getOriginValue()

Get the origin value.

Returns:
originfloat

Value of the limit state function at the center of the standard space.

getSolver()

Get the solver.

Returns:
solverSolver

Non linear solver which will research the root in a segment.

getStepSize()

Get the step size.

Returns:
stepSizefloat

Length of each segment inside which the root research is performed. By default, the step size is equal to the value defined through the key RootStrategyImplementation-DefaultStepSize of the ResourceMap.

hasName()

Test if the object is named.

Returns:
hasNamebool

True if the name is not empty.

setMaximumDistance(maximumDistance)

Set the maximum distance.

Parameters:
maximumDistancepositive float

Distance from the center of the standard space until which we research an intersection with the limit state function along each direction. By default, the maximum distance is equal to the value defined through the key RootStrategyImplementation-DefaultMaximumDistance of the ResourceMap.

setName(name)

Accessor to the object’s name.

Parameters:
namestr

The name of the object.

setOriginValue(originValue)

Set the origin value.

Parameters:
originfloat

Value of the limit state function at the center of the standard space.

setSolver(solver)

Set the solver.

Parameters:
solverSolver

Non linear solver which will research the root in a segment.

setStepSize(stepSize)

Set the step size.

Parameters:
stepSizefloat

Length of each segment inside which the root research is performed. By default, the step size is equal to the value defined through the key RootStrategyImplementation-DefaultStepSize of the ResourceMap.

solve(function, value)

Give all the roots found applying the root strategy.

Parameters:
functionFunction

Function from \Rset to \Rset along the ray, a linear function along the direction.

valuefloat
Returns:
rootsScalarCollection

All the roots found applying the root strategy.

  • If SafeAndSlow: all the real values x such as function(x) = value researched in each segment of length stepSize, within [origin, maximumDistance].

  • If RiskyAndFast: the real value x such as function(x) = value researched within [origin, maximumDistance].

  • If MediumSafe: the real value x such as function(x) = value researched the first segment of length stepSize, within [origin, maximumDistance] where a sign changement of function has been detected.