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.

Eurocode 2 Rectangular Stress Block

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.

Parabolic and Equivalent Rectangular Blocks

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

Equivalent Rectangular Stress Block Procedure

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:

Equivsb() Function

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).

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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s