Update 17 May 2022: Following discussion on 10-11 May 22 the download file has been updated to version 2.15, fixing problems with the interaction diagram with a rectangular stress block under high axial loads.

I have uploaded another update to the ULS Design Functions spreadsheet with some new features and fixes. The new version can be downloaded from:

Stress block type 3 will now use the Eurocode full parabolic stress block.

In previous versions entering a reinforcement yield stress of 600 MPa resulted in a divide by zero error. This has now been fixed.

Using the AS 3600 rectangular stress block, there has been a minor correction to the calculation of section capacity when the neutral axis is at or beyond the “tension” face, so that linear interpolation is used, as required by the code.

The Eurocode parabolic stress block may be used with AS 3600 and AS 5100, as well as Eurocode 2:

Interaction diagrams to AS 3600 are shown below for the rectangular stress block (including 10% reduction in concrete stress for a non-rectangular section, the Eurocode parabolic-rectangular stress block, and the full parabolic stress block:

Can I use this spreadsheet for Ultra-High Performance Concrete (UHPC)? I want to determine the ULS section capacity for UHPC concrete with fcu of 200 MPa.

No, it’s not really applicable to UHPC. It ignores all concrete in tension, which (as far as I know) is not what is done for UHPC design. Also the stress block parameters used for 100 MPa concrete are probably not appropriate for UHPC.

Hello dougaj4, thanks for your comments. As you have seen above description in “The changes in the new version are:”. The author has said that “In previous versions entering a concrete yield stress of 600 MPa resulted in a divide by zero error. This has now been fixed”. Then, I think that this spreadsheet may be used for concrete up to 600 MPa like UHPC. I am now learning how to design such UHPC in ULS since nowaday it is lack of design knowledge. Does anyone has a guideline for me?

I am the author 🙂
It should say steel yield stress of 600 MPa, not concrete, I will fix that.
As far as I know, there are no published design codes for UHPC, but the paper linked below seems to cover the design in a reasonable level of detail:

I’ll look into this sometime, but for the time being just divide the concrete into two layers and add another layer of reinforcement with zero bars.
Also note that if you are working with a rectangular section with one or two layers of steel the UMom function in the RC Design Functions spreadsheet has more convenient input.
It is set up for two layers of steel, but you can enter 0 bars for one layer.

Thank you.
Also I found some big difference in results between old version (what I have on my PC. Not have all versions saved,but still) and newest version.
I made some comparison and see big result difference for phiMu.
For latest version I get 161.7kNm. For oldest version 188.3kNm.
Also I made comparison in biaxial version (without 2nd direction bending moment) I getting phiMu 187.5kNm (what is closer to oldest version of umom calculation).
Maybe this is me making some mistake, but still worth it to ask.

P.S. For latest version not possible to enter reinforcement in 2 layers in same position. In oldest version this wasn’t an issue.

I have now had a look at your files and the difference is due to the stress block. In the new version the Eurocode rectangular stress block is Code 0, and Code 1 is linear rectangular. If you change to Code 0 both spreadsheets agree excatly. The biaxial spreadsheet alo agrees exactly if you set MY and NA Angle to 0, and concrete grade to 50. Also check the reinforcement coordinates. Note that in the Biax spreadsheet the reo is defined by X,Y coordinates, but in the other two by the depth from the top of the section.
Setting the two close layers to exactly the same depth did not seem to cause a problem for me.

Thank you Doug.
Didn’t knew about 0=Rectangular and I wasn’t reading its carefully telling it is linear-rectangular 🙂
And yes, taking my words back about same depth position of reinforcement. Its working for me too.

It seems the rectangular stress block was wrong for all of the codes, and regardless of the shape. I have also fixed a problem with the code for finding the NA depth when using steel with a yield stress > 500 MPa.

If you could check that out I will update the download zip file if all is OK.

Could you, please, explain, why with rectangular stress block Mu much bigger than with full parabolic?
Here I made an example. Simple section with pre-stressed tendons.
For rectangular stress block Mu=203kNm and for parabolic 171kNm. Quite big difference.
Thank you

I have updated the code so that the prestress force is included in the calculation for all the non-rectangular stress blocks.
Also changing the strain at the compression face now works with the full parabolic stress block only. All the other stress blocks always default to the code value.
Note that for the parabolic curve reducing the compression face strain increases the moment capacity at high axial loads. I have added the new file to the zip file at: https://interactiveds.com.au/software/ULS%20Design%20Functions2_14.zip
The new file is ULS Design Functions2_15.xlsb

Thank you. Now looks all fine.
Only one thing I found now. All except rectangular stress block calculates much slower.
Not sure is it was the same before, but now caught my eye clearly.
When put rectangular stress block all changes calculates instantly. With anything other I wait 3-4sec (I have new PC with i7-12700k processor etc so it is very fast).
Also when I open spreadsheet it shows Calculation, than Spill resize, and than again Calculation.
I don’t know maybe this is only issue (or maybe it is not issue at all) on my side 🙂 Just telling.

It’s recalculating almost instantly for all stress blocks for me. Could you download the latest version (now in the zip download at the top), and send me a sample problem if it is still slow for you.

Nice spreahsheet with lot of knowledge. Thank you very much. I have a quick question related to side cover. It seems like the Phi Mu doesnt change when the side cover number has changed.

The position of the bars relative to the neutral axis is controlled by the “Depth” parameter. The “side cover” parameter only changes the horizontal position of the bars in the plot and it has no effect on the calculation.
For the example shown if you wanted to check for a changed cover depth you would need to recalculate the depth values, or you could use the UMom-Biax spreadsheet (https://newtonexcelbach.com/2019/11/21/biaxial-bending-update/), which has the reinforcement defined with XY coordinates, and enter the section as a square section with equal moments about the X and Y axes.

Can I use this spreadsheet for Ultra-High Performance Concrete (UHPC)? I want to determine the ULS section capacity for UHPC concrete with fcu of 200 MPa.

LikeLike

No, it’s not really applicable to UHPC. It ignores all concrete in tension, which (as far as I know) is not what is done for UHPC design. Also the stress block parameters used for 100 MPa concrete are probably not appropriate for UHPC.

LikeLike

Hello dougaj4, thanks for your comments. As you have seen above description in “The changes in the new version are:”. The author has said that “In previous versions entering a concrete yield stress of 600 MPa resulted in a divide by zero error. This has now been fixed”. Then, I think that this spreadsheet may be used for concrete up to 600 MPa like UHPC. I am now learning how to design such UHPC in ULS since nowaday it is lack of design knowledge. Does anyone has a guideline for me?

LikeLike

I am the author 🙂

It should say steel yield stress of 600 MPa, not concrete, I will fix that.

As far as I know, there are no published design codes for UHPC, but the paper linked below seems to cover the design in a reasonable level of detail:

Click to access 20-0016_Tadros_ND20.pdf

LikeLike

Thank you so much.

LikeLike

Functions not working for me with 1 layer of concrete or reinforcement …

Here example:

https://docs.google.com/spreadsheets/d/106wrBSLXqAaUIwQZWZJ416V8ajhWEodC/edit?usp=sharing&ouid=103163905878412060324&rtpof=true&sd=true

LikeLike

I’ll look into this sometime, but for the time being just divide the concrete into two layers and add another layer of reinforcement with zero bars.

Also note that if you are working with a rectangular section with one or two layers of steel the UMom function in the RC Design Functions spreadsheet has more convenient input.

It is set up for two layers of steel, but you can enter 0 bars for one layer.

LikeLike

Thank you.

Also I found some big difference in results between old version (what I have on my PC. Not have all versions saved,but still) and newest version.

I made some comparison and see big result difference for phiMu.

For latest version I get 161.7kNm. For oldest version 188.3kNm.

Also I made comparison in biaxial version (without 2nd direction bending moment) I getting phiMu 187.5kNm (what is closer to oldest version of umom calculation).

Maybe this is me making some mistake, but still worth it to ask.

P.S. For latest version not possible to enter reinforcement in 2 layers in same position. In oldest version this wasn’t an issue.

Here link to zip file:

https://drive.google.com/file/d/107XTLIuGDbd73BTpIkkYCb5TLWU48P1R/view?usp=sharing

LikeLike

It may just be due to different code provisions, if the old version was using the previous Australian code, but I’ll have a look and let you know.

LikeLike

I used Eurocode in my examples

LikeLike

I have now had a look at your files and the difference is due to the stress block. In the new version the Eurocode rectangular stress block is Code 0, and Code 1 is linear rectangular. If you change to Code 0 both spreadsheets agree excatly. The biaxial spreadsheet alo agrees exactly if you set MY and NA Angle to 0, and concrete grade to 50. Also check the reinforcement coordinates. Note that in the Biax spreadsheet the reo is defined by X,Y coordinates, but in the other two by the depth from the top of the section.

Setting the two close layers to exactly the same depth did not seem to cause a problem for me.

LikeLike

Thank you Doug.

Didn’t knew about 0=Rectangular and I wasn’t reading its carefully telling it is linear-rectangular 🙂

And yes, taking my words back about same depth position of reinforcement. Its working for me too.

LikeLike

Something wrong with Interaction diagram with rectangular stress block and Eurocode if layers with different width.

At Axial load N=4524kN -> Mu=154kN and at N=4675kN instantly -> Mu=284kN

Please see example by link:

https://docs.google.com/spreadsheets/d/10HzzsnvBp9FhjVaUtr2UcUT2LQOCJgLR/edit?usp=sharing&ouid=103163905878412060324&rtpof=true&sd=true

There no such problem with non rectangular stress block.

Thank you.

LikeLike

See updated file at https://interactiveds.com.au/software/ULS%20Design%20Functions2_14.zip

It seems the rectangular stress block was wrong for all of the codes, and regardless of the shape. I have also fixed a problem with the code for finding the NA depth when using steel with a yield stress > 500 MPa.

If you could check that out I will update the download zip file if all is OK.

LikeLike

I will do my tests during today and let you know. Thank you

LikeLike

It is OK for me now. Thank you again

LikeLike

Thanks for the feedback.

I will update the download file.

LikeLike

Could you, please, explain, why with rectangular stress block Mu much bigger than with full parabolic?

Here I made an example. Simple section with pre-stressed tendons.

For rectangular stress block Mu=203kNm and for parabolic 171kNm. Quite big difference.

Thank you

https://docs.google.com/spreadsheets/d/10PscSAhqp3LJzpRAhE1-SV7D7sFCqgb5/edit?usp=sharing&ouid=103163905878412060324&rtpof=true&sd=true

LikeLike

Looks like the parabolic stress blocks are not including the prestress force.

Another update on the way.

LikeLiked by 1 person

I have updated the code so that the prestress force is included in the calculation for all the non-rectangular stress blocks.

Also changing the strain at the compression face now works with the full parabolic stress block only. All the other stress blocks always default to the code value.

Note that for the parabolic curve reducing the compression face strain increases the moment capacity at high axial loads. I have added the new file to the zip file at:

https://interactiveds.com.au/software/ULS%20Design%20Functions2_14.zip

The new file is ULS Design Functions2_15.xlsb

LikeLike

Thank you. Now looks all fine.

Only one thing I found now. All except rectangular stress block calculates much slower.

Not sure is it was the same before, but now caught my eye clearly.

When put rectangular stress block all changes calculates instantly. With anything other I wait 3-4sec (I have new PC with i7-12700k processor etc so it is very fast).

Also when I open spreadsheet it shows Calculation, than Spill resize, and than again Calculation.

I don’t know maybe this is only issue (or maybe it is not issue at all) on my side 🙂 Just telling.

LikeLike

It’s recalculating almost instantly for all stress blocks for me. Could you download the latest version (now in the zip download at the top), and send me a sample problem if it is still slow for you.

LikeLike

Looks like this a problem with my home PC only …

Tried on work PC and all works fast. So strange.

LikeLike

Nice spreahsheet with lot of knowledge. Thank you very much. I have a quick question related to side cover. It seems like the Phi Mu doesnt change when the side cover number has changed.

LikeLike

The position of the bars relative to the neutral axis is controlled by the “Depth” parameter. The “side cover” parameter only changes the horizontal position of the bars in the plot and it has no effect on the calculation.

For the example shown if you wanted to check for a changed cover depth you would need to recalculate the depth values, or you could use the UMom-Biax spreadsheet (https://newtonexcelbach.com/2019/11/21/biaxial-bending-update/), which has the reinforcement defined with XY coordinates, and enter the section as a square section with equal moments about the X and Y axes.

LikeLike