7.3. Fragility Function Rotation
- postprocessor.calculate_rotated_fragility(percentile, theta, sigma_record2record, sigma_build2build=0.30, sigma_ds=0.30, intensities=np.round(np.geomspace(0.05, 10.0, 50), 3))[source]
Calculates a rotated fragility function based on a lognormal cumulative distribution function (CDF), adjusting the median intensity to align with a specified target percentile.
This function modifies the median intensity based on the desired target percentile and total uncertainty (considering both record-to-record variability and modeling variability). The resulting rotated fragility curve represents the damage exceedance probabilities for a range of intensity measure levels, as defined by the lognormal distribution.
- Parameters:
percentile (float) – The target percentile for fragility function rotation. This value corresponds to the desired percentile (e.g., 0.2 corresponds to the 20th percentile of the fragility curve). The curve is adjusted such that this percentile aligns with the calculated fragility function.
theta (float) – The median seismic intensity corresponding to the edp-based damage threshold.
sigma_record2record (float) – The uncertainty associated with record-to-record variability in the seismic records used to derive the fragility.
sigma_build2build (float, optional, default=0.30) – The uncertainty associated with modeling variability between different buildings or building types.
sigma_ds (float, optional) – The logarithmic standard deviation representing uncertainty in damage-state thresholds. Default value is 0.30.
intensities (array-like, optional,) – default=np.round(np.geomspace(0.05, 10.0, 50), 3) A list or array of intensity measure levels at which to evaluate the fragility function, typically representing seismic intensity levels (e.g., spectral acceleration). The default is a geometric space ranging from 0.05 to 10.0.
- Returns:
theta_prime (float) – The new median intensity after the rotation based on the specified percentile.
beta_total (float) – The total standard deviation of the lognormal distribution, calculated from both record-to-record and building-to- building (modelling) uncertainties.
poes (array-like) – The probabilities of exceedance (fragility values) corresponding to the input intensity measure levels. This is the lognormal CDF evaluated at the given intensities with the rotated median and combined uncertainty.
References
1) Porter, K. (2017), “When Addressing Epistemic Uncertainty in a Lognormal Fragility Function, How Should One Adjust the Median?”, Proceedings of the 16th World Conference on Earthquake Engineering (16WCEE), Santiago, Chile.
Theoretical Background
Fragility function rotation adjusts the median capacity to account for epistemic uncertainty, so that the rotated curve passes through a specified percentile of the original curve (Porter, 2017).
Motivation
When epistemic uncertainty (building-to-building variability \(\beta_{\text{b2b}}\) and damage-state threshold uncertainty \(\beta_{\text{DS}}\)) is added to the aleatory record-to-record dispersion \(\beta_{\text{r2r}}\), the total dispersion increases:
A naïve approach (keeping the same median \(\theta\)) would shift the fragility curve upward, implying lower damage probabilities at high intensity. The rotation method avoids this by anchoring the wider curve at a target percentile \(p\) of the original aleatory curve.
Rotated median
The adjusted median \(\theta'\) is chosen such that the rotated curve passes through the \(p\)-th percentile of the unrotated (aleatory-only) curve:
where \(\Phi^{-1}(\cdot)\) is the standard normal quantile function.
The rotated fragility curve is then:
A value of \(p = 0.10\) (10th percentile) is a common choice, rotating the median downward to produce a more conservative representation of expected damage.