# Visualization of Distributed Plasticity in Concrete Piles Using OpenSeesPy
## 3 Results and Discussion  
Pushover curves from both models are shown in Figure 7. It is observed that the two models exhibit similar initial stiffness, while the displacement at the peak base shear differs by 5.6%. Additionally, the figure illustrates the progression of hinge formation throughout the pile during the pushover analysis, identifying locations where plastic rotations occur. Leveraging OpenSeesPy's capability to extract element-level fiber responses, custom Python visualization routines were developed to plot extreme stress and extreme strain distributions for each material type along the pile length (Figure 8). OpenSeesPy defines  
Figure 7: Comparison of pushover analysis results for the RC pile: (**a**) Base shear–displacement curve from the SAP2000 model using lumped plasticity hinges. (**b**) Deformed shape of the SAP2000 model at the final step of the pushover analysis, showing hinge locations and plastic rotation states. (**c**) Base shear–displacement curve from the OpenSeesPy model using distributed plasticity with fiber sections. (**d**) Deformed shape of the OpenSeesPy model at maximum displacement. fiber sections in the local \(Y\) and \(Z\) axes; in each subplot, solid lines represent strain or stress in the positive local axis direction, while dashed lines indicate responses in the negative direction. This visualization helps to identify critical regions along the pile where material strain demands may exceed code-based limits. Figure 8: Fiber extreme stress and extreme strain distributions along the pile length: (**a**) Stress–strain response for bending about \(Y\) axis. (**b**) Stress–strain response for bending about \(Z\) axis. Solid blue lines represent positive fiber locations, and dashed red lines indicate negative fiber locations, according to the local coordinate system of the section. Insets show a schematic of the cross-section, with the tracked fiber color coded. Three-dimensional color-coded plots provide direct insight into the spatial distribution of fiber-level stress and strain responses along the pile. Using OpenSeesPy output and custom Python post-processing tools, strain demands are evaluated against code-prescribed material-specific limit states, enabling the visualization of plastic strain demand-to-capacity ratios along the pile. This distributed plasticity modeling reveals localized strain concentrations and the shifting position of the neutral axis--phenomena that remain obscured under the lumped hinge approach with fixed plastic hinge lengths and rotations. Figure 9 illustrates the evolution of stress and strain states across the pile's cross-sections. Plastic regions are readily distinguishable, and the spatial extent of damage progression can be contrasted against the limited regions assumed in traditional lumped plasticity models. In these graphs, the strain limits for unconfined concrete, confined concrete, and reinforcing steel were defined based on three performance levels. At Level 1, the limits were set at 80% of the peak compressive and tensile strains for both unconfined and confined concrete, and at 80% of the yield strain for steel reinforcement. At Level 2, the limits corresponded to 100% of the peak compressive and tensile strains for concrete and the full yield strain for steel. For Level 3, the strain limits were defined using the ultimate compressive and tensile strain capacities of both unconfined and confined concrete, as well as the ultimate strain capacity of the reinforcing steel. Additionally, the limits account for the distinct behavior and capacity of concrete under compression and tension. Figure 9: Three-dimensional distributed plasticity visualization along the pile: (**a**) Demand/capacity ratios for material strain distribution computed at each fiber location along pile length. (**b**) Stresses and strains at multiple cross-sections. To assess structural performance relative to code-defined limit states, maximum and minimum fiber strains are extracted at each cross-section.