G.17.2.1.3 PDelta K+Kg Dynamic Analysis
In STAAD.Pro, an alternate procedure has been adopted to incorporate the PDelta effect into dynamic analysis by combining the global stiffness matrix and the global geometric stiffness matrix [K+Kg].
This method uses the resulting [K+Kg] matrices from the last static case before the PDELTA KG command in the dynamic cases that precede the PDELTA KG command.
LOAD n static case input LOAD n+1 dynamic load case PDELTA KG ANALYSIS

First, the primary deflections are calculated by linear static analysis based on the provided external loading for case n.

Primary deflections are used to calculate member axial forces and plate center membrane stresses. These forces and stresses are used to calculate geometric stiffness terms. Both the large delta effects and the small delta effects are calculated. These terms are the terms of the Kg matrix which are added to the global stiffness matrix K.
The final triangular factorization for case n is then used in the dynamic case n+1 along with the masses specified in case n+1 to solve the dynamic analysis.
Lateral loading must be present concurrently with the vertical loading for proper consideration of the PDelta effect. The REPEAT LOAD facility (See TR.32.11 Repeat Load Specification) has been created with this requirement in mind. This facility allows the user to combine previously defined primary load cases to create a new primary load case.
PDelta effects are calculated for frame members and plate elements only. They are not calculated for solid elements. PDelta is restricted to structures where members and plate elements carry the vertical load from one structure level to the next.
The maximum displacement should be reviewed for PDelta analyses because this analysis type permits buckling. You may need to repeat the analysis with only one to five iterations or as a static case in order to get a precollapse solution in order to view the large displacement areas.
Buckling may also cause the analysis to fail with a negative definite matrix failure. In this case a message is printed and the results of the case are set to zero. The dynamic results should be ignored if this type of failure should occur.