# Plastic Rotation

Plastic rotations are a common damage measure for frame members and frequently define limit states of structural performance under seismic loading. The calculation of plastic rotations for frame elements in OpenSees is based on a decomposition of deformations in to elastic and plastic components.

The elastic deformations are obtained by elastic unloading of the basic forces, as shown below. Then the plastic deformations can be expressed entirely in terms of the current deformations and forces of an element, i.e., ${\bf v}^p={\bf v}-{\bf f}^e{\bf q}$, where ${\bf f}^e$ is the elastic flexibility of the element. You can find more details in this paper.

In OpenSees, you can obtain the plastic rotation using the 'plasticDeformation' argument to an element recorder or the eleResponse command.

ops.recorder('Element','-file','plastic.out', \
'-ele',1,'plasticDeformation')
# or
ops.eleResponse(1,'plasticDeformation')

Note that the recorded response gives three values, one for each basic DOF: axial, rotation at I, and rotation at J. For 3D frame elements, there are six plastic deformations recorded: axial, z-rotation at I, z-rotation at J, y-rotation at I, y-rotation at J, and torsion.

Below is a W14x90 steel column loaded in double curvature about its strong axis. Fiber discretizations define the cross-section response for a single force-based element with four Lobatto integration points.