## Equivalent Stress Blocks

Previous posts (e.g. Stress blocks in AS 3600) have presented Excel User Defined Functions (UDFs) that determine the ultimate bending strength of a reinforced concrete section with the use of a rectangular concrete stress block, with depth and stress factors adjusted so that the results are identical to those using a parabolic-rectangular block, such as that defined in Eurocode 2.  This post provides details of this procedure, including VBA code for a UDF to calculate the required factors for any specified concrete strength.

The figure below (from Eurocode 2) illustrates how a non-linear stress-strain curve may be approximated by a rectangular stress block, applied over part of the area in compression.

If the stress block is being used with a rectangular cross section it is possible to calculate values for the depth and stress such that the area under the block, and the lever arm from the neutral axis, are exactly equal to that for any specified curvilinear stress-strain relationship.

The procedure for calculating the rectangular stress block equivalent to the Eurocode 2 parabolic/rectangular block is shown below :

This procedure can be simply coded in a VBA function (to use the function in your own spreadsheet, copy and paste the code into any VBA module):

```Function EquivSB(Fc As Double, Optional Out As Long = 0, Optional RFact As Double = 0.9) As Variant
Dim Epscu As Double, Epscm As Double, n As Double, K As Double
Dim Ap As Double, Ar As Double, LAp As Double, LAr As Double, Qc As Double, Ac As Double, LAc As Double
Dim SBFA(1 To 5, 1 To 1) As Variant

' Find rectangular stress block factors for block equivalent to the Eurocode parabolic/rectangular block

' Find ultimate strain (Epscu), strain at maximum stress (Epscm) and parabolic exponent (n)
' Based on Eurocode 2 Table 3.1
If Fc         Epscu = 0.0035
Epscm = 0.002
n = 2
Else
If Fc < 90 Then              Epscu = 0.0026 + 0.035 * ((90 - Fc) / 100) ^ 4              n = 1.4 + 23.4 * ((90 - Fc) / 100) ^ 4          Else              Epscu = 0.0026              n = 1.4          End If          Epscm = 0.002 + 0.000085 * (Fc - 50) ^ 0.53          If Epscm > 0.0026 Then Epscm = 0.0026
End If

' Find area and lever arm of parabolic, rectangular and composite curves
K = Epscm / Epscu
Ap = K * (n / (n + 1))
LAp = K * ((n + 3) / (2 * (n + 2)))

Ar = 1 - K
LAr = 1 - (1 - K) / 2

Qc = Ap * LAp + Ar * LAr
Ac = Ap + Ar
LAc = Qc / Ac

' If out = -1 generate description of each output array item
If Out = -1 Then
SBFA(1, 1) = "Gamma"
SBFA(2, 1) = "Alpha2"
SBFA(3, 1) = "Epscu"
SBFA(4, 1) = "Epscm"
SBFA(5, 1) = "n"
' Else generate output array values
Else
SBFA(1, 1) = (1 - LAc) * 2
SBFA(2, 1) = Ac / SBFA(1, 1) * RFact
SBFA(3, 1) = Epscu
SBFA(4, 1) = Epscm
SBFA(5, 1) = n
End If

' If out < 1 then return complete array, else return the specified array value
If Out < 1 Then
EquivSB = SBFA
Else
EquivSB = SBFA(Out, 1)
End If

End Function
```

And this is what the function looks like in use:

The function arguments are:

• Fc: the concrete strength grade
• Out (optional): 0 or omit to return the full array of output values
-1 to return an array of descriptions of each output value
1 to 5 to return a specified value
• Rfact (optional): reduction factor on concrete stress (default = 0.9)

Enter as an array function to return the full array (see here for details of using array functions).

This entry was posted in Beam Bending, Concrete, Excel, Newton, UDFs and tagged , , , , , , , . Bookmark the permalink.

This site uses Akismet to reduce spam. Learn how your comment data is processed.