# Nonlinear Dynamic Analysis
GSA uses explicit time integration in the nonlinear dynamic solver. This progresses the solution in small steps updating the state at each time step. This allows us to move from the conditions at time t to those at a new time t+δt. The fist update is to calculate the force at time t, ft. This is used to update the acceleration, at, at time t and from this the velocity and displacement are updated to the next time step.
In GSA the mass matrix is diagonalized so the inverse of the mass matrix is trivial. For this scheme to work the time step δt has to be small or the solution is unstable. It needs to subdivide the natural period of the mesh.
The shortest natural period depends on the smallest element mesh dimension. Consider a portion of a large mesh vibrating so that alternate layers of elements stretch and compress, ignoring and differences in the density and elastic modulus.
The nodal mass and element stiffness are
Where
Where
Where
It is clear that the element size has a direct impact on the time step and hence the number of iterations to arrive at a solution.
To avoid a small number of small elements having an adverse effect on the solution time mass scaling can be used. For these elements the density can be artificially increased so that the size does not impact on the time step. For example if there is one element that is half the size of the others, a quadrupling of the density of this element, halves the wave speed and this leaves the solution time step unaffected by this small element. Provided it is used sparingly the effect on the local an overall mass is negligible.