Solving non-linear equations with two or more unknowns – 4

As promised in the previous post, the spreadsheet including the new functions to calculate reinforced (or prestressed) concrete moment-curvature with a revised concrete tension stress-block is now available for download from:

RC design

The spreadsheet includes full open source VBA code.

Use of the new functions is illustrated in the screen-shots below:

The function MomCurveTS returns a table of bending moment and curvature results (and associated output).  The required input is the section properties data, the axial load, and the Alpha (f’t/ft) and Epstu values defining the effective concrete behaviour in tension (see here for more details).  The remaining properties may be entered by the user, or enter -1 to use the Eurocode 2 default values, based on the value of fck entered under SectProps.  Reinforcement prestress, and the number and range of output steps may also be specified.


The function returns the section curvature at zero moment (which will be non-zero if eccentric prestress is applied), just below and just above the cracking moment, and then at equally spaced steps up to the compressive strain specified in StepA.

For each moment the function also returns:

  • The depth of the Neutral Axis
  • The “top ” (i.e. compression) face strain
  • The axial load (constant, equal to the input value)
  • The effective Elastic Modulus
  • The curvature given by the Eurocode 2 empirical formula
  • The cracked curvature with no tension stiffening.


Typical results are shown in the graph below:


The MomCurveTS function uses the function CurveMA to find the section curvature at just above the cracking moment.  It then increases the compressive face strain in equal increments and returns the associated moment and curvature.  CurveMA uses the Function MSolve to find the compressive face strain and depth of Neutral Axis for any combination of axial load and bending moment (within the section capacity), and these functions may be called directly from the spreadsheet as shown below:


MSolve calls the function SectForceMP to find the section axial force and bending moment for any given Neutral Axis depth and compression face strain.  An equivalent function, SectForceMV, may be called directly from the spreadsheet as shown below, together with two further functions: EC2ForceM which calculates the force and moment in the concrete, and Stressatx, which calculates the compressive stress in the concrete at distance X from the Neutral Axis, according to Eurocode 2 Figure 3.2:


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

Leave a Reply

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

You are commenting using your 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 )

Connecting to %s

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