Strain compatibility analysis has always been a staple of concrete design. Indeed, it often seems like the only thing grounded in theory. Everything else seems to be empirically derived and based on regression of experimental data. I’ve always been a fan of strain compatibility because it is just so easy and clean to understand. You assume a linear strain profile, apply Hooke’s law, and iterate depth of neutral axis until internal equilibrium is satisfied:
\[P_{n}=C + \sum T \;,\; M_n = Cy + \sum T_i(0.5h-d_i)=0\]When it comes to column or wall design. The knee-jerk reaction for many is to open up some spreadsheet, or software like spColumn to perform strain compatibility analysis to ensure the demand (P,M) falls within the interaction surface.
There are various approximate solutions available in literature. In this article, I will present a slightly modified version of an equation from the UCSD seismic design class. The methodology presented is specifically for shear walls and it is surprisingly accurate and easy to use!
To set the cornerstone of our approximate equation, we refer to the formula presented in TMS 402-13 “Building Code Requirements and Specification for Masonry Structures” commentary 3.3.5.4. This equation is meant to predict the nominal axial+flexure strength of masonry walls. We will build on top of it for shear walls.
\[M_n = (P_u + A_sf_y)(d-a/2)\]The key feature of the equation above is linearly increasing flexure strength in the presence of compression (and a linear decrease for tension).
In the case of a uniformly reinforced shear wall, we can make an educated guess as to what the internal lever arm \(d-\frac{a}{2}\) might be. Assuming a very very small depth of neutral axis, the maximum possible lever arm possible is half the wall length:
The actual internal lever arm is a certain fraction “j” of this maximum lever arm. We can make j a function of neutral axis depth (c).
\[j = 1 - \frac{c}{L}\] \[(d-a/2)=jd = (1 - \frac{c}{L}) (0.5L)\]The above equation for “j” makes sense.
Combining everything above, we have this equation:
\[M_n = (f_yA_s + P_u)(1-c/L)(0.5L)\]Next we need a way to predict depth of neutral axis. We can use the following equation:
\[C = \sum T + P_u\] \[0.85f'_c \beta c t = A_s f_y + P_u\]We need to somehow modify the \(\sum T\) term because we cannot assume all reinforcing steel have yielded. A good modifier is shown below.
\[A_sf_y(1-2\frac{c}{L})\]Isolate and solve for “c”:
\[0.85f'_c \beta c t = A_sf_y(1-2\frac{c}{L}) + P_u\] \[\frac{c}{L} = \frac{A_sf_y + P_u}{2A_sf_y + 0.85\beta f'_c Lt}\]Shear walls usually have concentrated reinforcement at the ends known as boundary elements. These areas of concentrated steel can be treated separately as a concentrated couple.
Therefore, the moment contribution from the two lumped steel area is:
\[M_{n2} = A_{s2}f_y (L_w - L_{web})\]Step 1: determine area of steel in web region of wall and in boundary elements, and other general wall information
Step 2: adjust steel area because boundary steel and equivalent steel plate overlap. Increase web steel to extend into boundary region, and subtract this amount from the boundary steel.
\[A_{sl1} = A_{web} \times \frac{L}{L_{web}}\] \[A_{sl2} = A_{be} - A_{web} \times \frac{L_{be}}{L_{web}}\]Step 3: approximate depth of neutral axis. let
\[\alpha = \frac{P_u}{A_g} \; , \; \omega = \frac{A_sf_y}{f'_cLt}\] \[\frac{c}{L} = \frac{\omega + \alpha}{2\omega + 0.85\beta}\]Step 4: determine moment capacity contribution from boundary element steel
\[M_{n2} = A_{sl2}f_y(L - L_{web})\]Step 5: Determine moment capacity contribution from the equivalent steel plate
\[M_{n1} = f_yA_{sl1}(1+\frac{P_u}{f_yA_{sl1}}) \times 0.5L(1-\frac{c}{L})\]Step 6: Moment capacity at axial demand \(P_u\)
\[M_{n} = M_{n1} + M_{n2}\]And voila, an approximate flexure+axial interaction equation that can be calculated by hand fairly quickly. Here is an implementation of it in python.
Please note that the approximation is limited to symmetrical planar walls without any irregularities.
Here is an animated comparison of nominal interaction curve and depth of neutral axis between the approximate solution vs. strain compatibility analysis. The wall under consideration has typical design parameters:
Two things to note:
The inaccuracy at high compression demand is reasonable given our assumption of yielded steel. To obtain a better fit near the top of the interaction curve, we may add in an adjustment factor \(\zeta\) to our equation in step 5.
\[M_{n1} = f_yA_{sl1}(1+\frac{P_u}{f_yA_{sl1}}) \times 0.5L(1-\zeta\frac{c}{L})\] \[\zeta = 0.8 \;to\; 0.9\]Here is a typical shear wall with \(\zeta\) factor set to 0.83. Look how accurate you can get
Admittedly this adjustment isn’t required as the solution is accurate enough and conservative. You can adjust \(\zeta\) to your liking, but I find values between 0.8 to 0.9 to work well for 6 ksi concrete and 60 ksi steel. Please note that \(f'_c\) and \(f_y\) seems to dramatically affect how well the fit is. Try for yourself. Perhaps it would be better to leave it at 1.0.
I made an interactive Jupyter notebook where you can use sliders to vary different design parameters. Take a look!