6.10. Incremental Dynamic Analysis
- modeller.do_ida_analysis(fnames, dt_gm, t_max, dt_ansys, target_drift=0.05, initial_sf=0.1, hunt_step=2.0, max_fill_gap=0.2, max_runs=15, capping_drift=0.10, xi=0.05, pFlag=False)[source]
Performs Incremental Dynamic Analysis (IDA) using the ‘Hunt, Trace and Fill’ algorithm as per Vamvatsikos and Cornell (2002, 2004).
The algorithm first ‘hunts’ for the collapse capacity by increasing the scale factor (SF) geometrically. Once collapse or the target drift is reached, it ‘traces’ back with smaller steps for the scaling factor and ‘fills’ the gaps between successful runs to refine the IDA curve.
- Parameters:
fnames (list) – List of file paths to the ground motion records for each direction.
dt_gm (float) – Time-step of the ground motion records.
t_max (float) – The maximum time duration for each individual analysis run.
dt_ansys (float) – The integration time-step at which the structural analysis will be conducted.
target_drift (float, optional, default=0.05) – The drift ratio threshold considered as structural collapse (e.g., 5%).
initial_sf (float, optional, default=0.1) – The starting scale factor for the first simulation run.
hunt_step (float, optional, default=2.0) – The geometric multiplier used to increase the scale factor during the ‘Hunt’ phase.
max_fill_gap (float, optional, default=0.2) – The maximum allowable gap between scale factors. If a gap is larger, the ‘Fill’ phase will bisect it.
max_runs (int, optional, default=15) – Maximum total number of nonlinear time-history simulations allowed.
capping_drift (float, optional, default=0.10) – The drift value assigned to failed or collapsed runs for visualization (flatlining).
xi (float, optional, default=0.05) – The damping ratio used in the analysis (default is 5%).
- Returns:
ida_data (dict) – A dictionary where keys are scale factors and values are dictionaries containing results (peak drift, acceleration, convergence state, etc.) for that run.
ordered_sfs (list) – A list of all scale factors tested, in the order they were executed.
Note
The current method assumes the acceleration time-history is in m/s2. Therefore, the acceleration values are multiplied by a factor of g.
References
- [1] Vamvatsikos, D. and Cornell, C.A. (2002), Incremental
dynamic analysis. Earthquake Engng. Struct. Dyn., 31: 491-514. https://doi.org/10.1002/eqe.141
- [2] Vamvatsikos D, Cornell CA. Applied Incremental Dynamic
Analysis. Earthquake Spectra. 2004;20(2):523-553. doi:10.1193/1.1737737
Theoretical Background
Incremental dynamic analysis (IDA) repeats the nonlinear time-history analysis of one ground-motion record at increasing scale factors (SF) to trace the IM–EDP curve up to collapse (Vamvatsikos and Cornell, 2002). To limit the number of runs, the method uses the Hunt, Trace and Fill algorithm (Vamvatsikos and Cornell, 2004):
Hunt: starting from
initial_sf, the SF is multiplied byhunt_stepuntil the peak drift reachestarget_driftor the run collapses.Trace: the SF is then reduced in smaller steps, back towards the last non-collapsing level, to locate the collapse capacity.
Fill: gaps between successful runs larger than
max_fill_gapare bisected until the curve is resolved ormax_runsis reached.
Runs that fail to converge or collapse are assigned capping_drift so the
IDA curve flatlines for visualisation. The method returns one result
dictionary per scale factor (keys such as 'peak_drift',
'peak_accel' and 'conv_index') and the list of scale factors in the
order they were run; these are the inputs to
postprocessor.process_ida_results.
Example
m.compile_model()
m.do_gravity_analysis()
record_ida_results, ordered_sfs = m.do_ida_analysis(
fnames=["openquake/vmtk/tests/test_data/acceleration.txt"],
dt_gm=0.005,
t_max=30.0,
dt_ansys=0.005,
target_drift=0.05,
initial_sf=0.1,
hunt_step=2.0,
max_fill_gap=0.2,
max_runs=15,
xi=0.05,
)
for sf in sorted(record_ida_results):
print(sf, record_ida_results[sf]["conv_index"])
6.10.1. References
Vamvatsikos, D. and Cornell, C.A. (2002). “Incremental dynamic analysis”, Earthquake Engineering & Structural Dynamics, 31(3), 491–514. https://doi.org/10.1002/eqe.141
Vamvatsikos, D. and Cornell, C.A. (2004). “Applied incremental dynamic analysis”, Earthquake Spectra, 20(2), 523–553. https://doi.org/10.1193/1.1737737