9.9. Fragility Functions from IDA

plotter.plot_fragility_from_ida(ida_dict, imt_label, xlims, ylims, title=None, pFlag=True, export_path=None)[source]

Generate a fragility analysis plot showing the probability of exceedance (PoE) for multiple damage states derived from IDA results. This method visualizes the lognormal fragility functions fitted during the Incremental Dynamic Analysis. Each curve represents the probability that a specific engineering demand parameter (EDP) threshold (e.g., drift limit) is exceeded given a specific intensity measure (IM) level.

The figure uses self.figsize with constrained_layout and is saved without bbox_inches='tight' so that every output image has identical, deterministic pixel dimensions.

Parameters:

ida_dict (dict) –

A nested dictionary containing the processed IDA results. Required structure: - ‘fragility’: A dictionary containing:

  • ’intensities’: 1D array of IM levels used for sampling.

  • ’poes’: 2D array [n_intensities x n_thresholds] of probabilities.

  • ’medians’: List of the estimated median capacities for each state.

  • ’ida_inputs’: A dictionary containing:
    • ’imt_key’: String label of the intensity measure (e.g., ‘Sa(T1)’).

imt_labelstr

Label for the X-axis (e.g., ‘PGA [g]’).

xlimstuple of float

(min, max) limits for the X-axis (EDP axis).

ylimstuple of float

(min, max) limits for the Y-axis (Probability axis).

titlestr, optional

Custom plot title.

pFlagbool, optional, default=True

If True, the plot is processed (saved/shown).

export_pathstr, optional

Full path including filename to save the plot. Creates directories if missing.

Returns:

The method renders the plot using Matplotlib and handles saving via the internal _save_plot utility.

Return type:

None