Previous post in this series.

Download latest version of RC Design Functions6.

Previous posts in this series have looked at elastic design functions. We now move on to functions for ultimate limit state (ULS) analysis of reinforced concrete sections:

- UMom: ULS analysis of rectangular reinforced concrete sections with two layers of reinforcement under combined bending moment and axial load. Australian and ACI codes.
- UMomPF: As UMom but for codes using a partial factor approach; Eurocode 2, BS 5400 and BS 8110.
- MaxAx: New. Moment magnification factor for slender columns, and maximum axial load, including slenderness effects (AS 3600 only).

Input for the functions is shown below:

Output from the UMom function is controlled by the parameters: Out1 and Out2, as for the EStress functions, with 11 columns (selected by Out1) and up to 17 rows (selected by Out2). Alternatively a complete column may be displayed by entering the function as an array function, with Ctrl-Shift-Enter.

Umom output columns 1 to 6:

Umom output columns 7 to 11:

UMomPF provides similar functionality for Eurocode 2 and BS 5400 and BS 8110:

The new MaxAx function provides 3 alternative outputs (controlled by the Out1 parameter):

- the moment magnification factor for a specified axial load (Out1 = 1, default)
- the maximum axial load for a specified eccentricity, (Out1 = 2)
- loading line to the maximum axial load, for a specified eccentricity (Out1 > 2)

Graph of average column stress for maximum axial load against slenderness ratio (Le/r), generated using the MaxAx function:

The “Interaction Diagram” sheet uses the Umom and MaxAx functions to create an interaction diagram, using the input on the Umom Input sheet.

Further details of input and output options are given on the download file:

RC Design Functions6.

### Like this:

Like Loading...

*Related*

I’m looking into mEstress module.

It looks like condition:

“If NettMom = 0 And Nettax = 0 ”

is never fulfilled because ealier you assumed that NettMom wille never be equal to 0:

“If Abs(NettMom) = 0 Then NettMom = 0.000001”

or am I wrong?

What precision is used in VBA?

Discussed part of code:

‘ Calculate nett moment, axial force and eccentricity

NettMom = (Mome + PSMoment)

If Abs(NettMom) = 0 Then NettMom = 0.000001

Nettax = Round(Ax + PSTotal, 6)

‘ Check for zero load

If NettMom = 0 And Nettax = 0 Then

SigC = 0

Strc = 0

Strscomp = 0

Strstens = 0

Strctens = 0

GoTo ZeroLoad

End If

Looking at an “about” sheet there is also lack of one chart – your time spent on code developing and implementing improvements 🙂

Thanks for your work.

LikeLike

andre – Thanks for the feedback and the comments.

You are right about the check for zero axial load and moment never being true. It doesn’t have any serious effects, but it could do with tidying up.

This is the spreadsheet I use most in my regular work, which accounts for the large number of revisions!

LikeLike

Yes, it isn’t important thing for results. It’s very useful spreadsheet. Did you used particular book or monograph for equilibrium equations and variable conventions or they are your hand calculations? I guess that it is the second one.

Are those notifications in Replay field work in your website? I marked them but I don’t get notification for my email.

LikeLike

andre – The formulas in the code I derived myself from first principles, although for ultimate with a rectangular stress block it is quite straightforward, and I’m sure there are books with the equivalent formulas. For elastic design it gets a bit more complicated, and I don’t know of any other published work with the equivalent closed form solutions. See:

https://newtonexcelbach.wordpress.com/2008/03/25/reinforced-concrete-section-analysis-1/

for more details of the derivation.

The reply notifications are controlled by the WordPress software. I get a notification of every comment, but I don’t know how it works when you comment on a post on someone else’s site. You could try looking in the WordPress support page.

Also in your first comment you asked about the precision used in VBA. By default (or if you declare a variable as double or variant) it works to about 15 significant figures, which is the same as used in Excel.

LikeLike

If I have both “typical” reinforcement and prestress I have to manipulate with reinforcement area (presstress steel yield)/(reinforcement steel yield) and value of prestress stress to get properly values of “PSForce” and “PSMoment”. Will you change in future input range to include prestress and reinforcement separately?

LikeLike

andre – I’m not proposing to make any changes to this spreadsheet in the near future, but you might like to look at the two linked spreadsheets that allow more flexibility in the input. You can have any shaped cross section (defined by trapezoid layers) and any number of layers or reinforcement, with different E values and prestress.

https://newtonexcelbach.wordpress.com/2011/09/07/using-beam-design-functions/

https://newtonexcelbach.wordpress.com/2012/08/09/uls-analysis-of-concrete-beams-now-with-added-units/

LikeLike