6.6. Static Pushover Analysis
- modeller.do_spo_analysis(ref_disp, disp_scale_factor, push_dir, phi, pFlag=True, num_steps=200, ansys_soe='BandGeneral', constraints_handler='Transformation', numberer='RCM', test_type='EnergyIncr', init_tol=1.0e-5, init_iter=1000, algorithm_type='KrylovNewton', save_animation_path=None)[source]
Perform static pushover analysis (SPO) on a stick model. This method simulates a static pushover analysis where a lateral load pattern is incrementally applied to the structure. The displacement at the control node is increased step by step, and the corresponding base shear, floor displacements, and forces in non-linear elements are recorded. The analysis helps in evaluating the structural response to lateral loads, such as earthquake forces. evaluating the structural response to lateral loads.
- Parameters:
ref_disp (float) – The reference displacement at which the analysis starts, corresponding to the yield or other significant displacement (e.g., 1mm).
disp_scale_factor (float) – The scale factor applied to the reference displacement to determine the final displacement. The analysis will be run to this scaled displacement.
push_dir (int) –
- The direction in which the pushover load is applied:
1 = X direction 2 = Y direction 3 = Z direction
phi (list of floats) – The lateral load pattern shape. This is typically a mode shape or a predefined load distribution. For example, it can be the first-mode shape from the calibrate_model function.
pFlag (bool, optional) – Flag to print (or not) the pushover analysis steps. If True, detailed feedback on each step will be printed. Default is True.
num_steps (int, optional) – The number of steps to increment the pushover load. Default is 200.
ansys_soe (string, optional) – The type of system of equations solver to use. Default is ‘BandGeneral’.
constraints_handler (string, optional) – The constraints handler object to determine how constraint equations are enforced. Default is ‘Transformation’.
numberer (string, optional) – The degree-of-freedom (DOF) numberer object to determine the mapping between equation numbers and degrees-of-freedom. Default is ‘RCM’.
test_type (string, optional) – The type of test to use for the linear system of equations. Default is ‘EnergyIncr’.
init_tol (float, optional) – The tolerance criterion to check for convergence. Default is 1.0e-5.
init_iter (int, optional) – The maximum number of iterations to perform when checking for convergence. Default is 1000.
algorithm_type (string, optional) – The type of algorithm used to solve the system. Default is ‘KrylovNewton’.
save_animation_path (string, optional,) – If provided, saves the figure to this path (e.g., ‘spo.gif’)
- Returns:
spo_dict – A dictionary containing the SPO results with the following keys:
'spo_disps': array, shape (TimeSteps × Floors) — floor displacements.'spo_rxn': array, shape (TimeSteps,) — base shear at each step.'spo_disps_spring': array, shape (TimeSteps × Springs) — spring displacements.'spo_forces_spring': array, shape (TimeSteps × Springs) — spring shear forces.'spo_idr': array, shape (TimeSteps × Storeys) — interstorey drift ratio history.'spo_midr': array, shape (TimeSteps,) — maximum IDR across all storeys.
- Return type:
dict