pystra.form.Form#
- class Form(stochastic_model=None, limit_state=None, analysis_options=None)[source]#
Bases:
AnalysisObject
First Order Reliability Method (FORM)
Let \({\\bf Z}\) be a set of uncorrelated and standardized normally distributed random variables \(( Z_1 ,\dots, Z_n )\) in the normalized z-space, corresponding to any set of random variables \({\\bf X} = ( X_1 , \dots , X_n )\) in the physical x-space, then the limit state surface in x-space is also mapped on the corresponding limit state surface in z-space.
The reliability index \(\\beta\) is the minimum distance from the z-origin to the failure surface. This distance \(\\beta\) can directly be mapped to a probability of failure
\[\begin{split}p_f \\approx p_{f1} = \Phi(-\\beta)\end{split}\]this corresponds to a linearization of the failure surface. The linearization point is the design point \({\\bf z}^*\). This procedure is called First Order Reliability Method (FORM) and \(\beta\) is the First Order Reliability Index. [Madsen2006]
- Attributes:
stochastic_model (StochasticModel): Information about the model
limit_state (LimitState): Information about the limit state
analysis_option (AnalysisOption): Option for the structural analysis
Methods
Compute alpha vector
Compute beta value
Compute probability of failure
Compute gamma vector
Compute the Jacobian
Evaluate limit-state function and its gradient
Determine search direction
Compute starting point for the algorithm
Calculate the step size for the calculation
Compute transformation from u to x space
Returns the alpha vector
Returns the beta value
Returns the design point, defaults to u-space
Returns the probability of failure
Returns the number of function evaluations used
Determine step size
Derived classes call this at top of their run()
Executes the FORM analysis
Get detailed output to console
Show results
- computeStepSize(G, gradient, u, d)[source]#
Calculate the step size for the calculation
- Returns:
step_size (float): Returns the value of the step size.
- getFailure()[source]#
Returns the probability of failure
- Returns:
Pf (float): Returns the probability of failure
- getDesignPoint(uspace=True)[source]#
Returns the design point, defaults to u-space
- Returns:
u (float): Returns the design point in u- or x-space
- getAlpha(as_dict=False)[source]#
Returns the alpha vector
- Returns:
alpha (np.array): Returns the alpha vector
- getNoFunctionCalls()[source]#
Returns the number of function evaluations used
- Returns:
n (int): Returns the number of function evaluations
- init_run()#
Derived classes call this at top of their run()