Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations pierreick on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Bi-axial bending chart - concrete column 29

Pretty Girl

Structural
Nov 22, 2022
122
This is from "Reinforced concrete design to eurocodes" by prab bhat, page 371 and 372.
It has mentioned the it's for My/ (hb^2) = 2.

But I don't know how to reproduce with that ratio kept constant. So, I tried to create it with making the alpha and beta values at a constant ratio of 0.8 (beta = 0.8 alpha). Then I produced a chart.

Since I didn't reproduce the exact chart in the book, now I have another problem. I have got no reference chart to compare my chart with. Can anyone kindly help me find out if my chart is correct for the column dimensions and data I provided.

Are there any free software/ excel sheet to enter the column details mentioned below and compare it with my chart?

I'm concerned that my chart may not be correct as I don't see the part the book's chart have I have shown in the green rectangle below, when I produce my chart. I understand it cannot be the same chart, but if my chart is correct that "nose" like curve should also be in my chart isn't it.

1. Chart from the book

1734934729980.png
Untitled 5.jpg



2. The chart I produced

This is a rectangular column, h = 2000 mm, b = 1000 mm. I maintained "beta/ alpha ratio = 0.8".
4 reinforcement bars, 1 bar each corner. Steel percentage 4% (So, 1% bh area for each bar).
40 mm distance from column surface to the centroid of r/f for each bar.
fck = 30 MPa, fcd = 20 MPa, fyk = 500 MPa, fyd = 434.7 MPa.


Screenshot 2024-12-23 at 5.14.55 pm.png

Screenshot 2024-12-23 at 5.14.33 pm.png
Screenshot 2024-12-23 at 5.14.21 pm.png
 
Last edited:
Replies continue below

Recommended for you

A couple of points regarding the reduction in maximum strain:

The reduction is not just for pure compression. With increasing axial load and reducing bending moment, the full strain at the compression face is maintained until the NA reaches the bottom of the section. From that point the strain at (approximately) mid-height is maintained constant, at 0.00175 or 0.002, and the strain at the compression face reduces.

On the other hand, under pure compression the stress distribution is exactly the same for the parabolic-rectangular and the uniform stress block. They both have uniform strain and stress across the full section, so it makes no sense to me to require a reduced strain for the uniform stress block. My suggested procedure is:

1) Find the section capacity with the NA at the base of the section and the full compressive strain at the top face.
2) Find the axial load for uniform stress across the full section with a strain of 0.002 (or as required for higher strength concrete)
3) Use linear interpolation to find the maximum axial load with the specified minimum load eccentricity, and section capacity for any intermediate axial loads.

Also note that for uniform compression the 0.9 reduction factor for triangular sections is not required, because again the parabolic-rectangular and the full uniform stress block have exactly the same stress distribution in this case.

@IDS
To confirm what you have said above in step 1 to 3, are you saying to do the following, or something similar? Can you pls provide exact steps like the following.
So, this is completely different than the one we did in your spreadsheet to find strain, isn't it.

NA at bottom
1) Move NA to bottom
2) Get concrete force (Cc) with 0.85 * fc * compression block area
3) Get strain per mm length, with, 0.0035/h
4) Get strain of the steel, with, (0.0035 - ((0.0035/h) * distance to steel from bottom)
5) Get stress fs with, (0.0035 - ((0.0035/h) * distance to steel from bottom) * 200,000 = lets say we got 700 MPa and we're capping it at 500 MPa.
6) Get steel force (Cs) with, 500 MPa * total steel area of the 4 bars
7) Get total force (P1) with, Cc + Sc
8) Get moment with, ???

At pure compression (using strain 0.002)
9) Get Cc with, 0.85 * fc * hb
10) Get fs with, 0.002 * 200,000 = 400 MPa
11) Get steel force (Cs) with, 400 MPa * total steel area of the 4 bars
12) Get P2 with, Cc + Cs
13) Get moment M2 = 0

Interpolation
14) Get weight with (w), (P - P1)/(P2-P1)
15) so strain at top = (0.0035 - (P - P1)/(P2-P1)) * (0.0035 - 0.002) , and lets say we got 0.0025 as strain
16) at mid half (250 mm) we cap strain 0.00175 (or 0.002)
17) below mid half (250 mm +) we keep the constant strain 0.00175 (or 0.002)

Concrete force
18) Upper half compression block depth (0 to 250 mm) = (0.0025*0.002) / ((0.0025 - 0.00175)/250) * 0.8 = 190.47 mm * 0.8 = 152.38 mm
19) Upper half force (U) (0-250 mm) = 0.85 * fcd * block depth * b = 0.85 * 22.667 N/mm2 * 152.38 mm * 250mm = 733.97 kN
20) Lower half concrete force = 0.8 * 250 mm * fcd * 250 mm = 1113 kN.

Total Lower + upper = 733.97 + 1113 = 1846.97 kN
 
You are over-complicating again.

1) The basic principle that plane sections remain plane still applies, so the strain line is always a straight line from top to bottom.
2) You don't need to calculate the strains for the sections where the NA is outside the section. I am suggesting a straight line interpolation for axial force and bending moment between the section with the NA at the bottom and the section with uniform strain.

The procedure is:
1) Calculate the axial force and bending moment when the NA is at the bottom of the section.
2) Calculate the axial force for uniform strain. If the reinforcement is not symmetrical also calculate the bending moment.
3) Draw a straight line between those two points.
 
You are over-complicating again.

1) The basic principle that plane sections remain plane still applies, so the strain line is always a straight line from top to bottom.
2) You don't need to calculate the strains for the sections where the NA is outside the section. I am suggesting a straight line interpolation for axial force and bending moment between the section with the NA at the bottom and the section with uniform strain.

The procedure is:
1) Calculate the axial force and bending moment when the NA is at the bottom of the section.
2) Calculate the axial force for uniform strain. If the reinforcement is not symmetrical also calculate the bending moment.
3) Draw a straight line between those two points.

@IDS did you mean something like this?

h = 500 mm, b = 250 mm, fcd = 22.667 N/mm2, fyd = 434.783 N/mm2
Bar diameter = 25 mm, A_bar = π*(25)^2/4 = 490.9 mm2
4 bars (1 in each corner), cover = 42.5 mm
For bending about one axis, assume 2 bars in tension and 2 in compression
Ast = 2 × 490.9 = 981.8 mm2

Case 1: NA at bottom (bending limit)
0.8 * fcd * b * x = Ast * fyd
x = (981.8 * 434.783) / (0.8 * 22.667 * 250) = 94.2 mm
Effective depth, d = h − cover = 500 − 42.5 = 457.5 mm
Lever arm, z = d − 0.4 * x = 457.5 − 0.4* 94.2 = 419.8 mm
Concrete compression force, Cc = 0.8 * fcd * b* x = 0.8×22.667×250×94.2 = 427,000 N
Moment capacity, M₁ = Cc * z = 427,000 × 419.8 = 179,000,000 Nmm (= 179 kNm)
N1 = 0 N

Case 2: Fully compressed (uniform strain 0.002)
Total concrete area, Ac = b * h = 250 * 500 = 125,000 mm2
Total reinforcement area, As = 4 * 490.9 = 1963.6 mm2
Steel strain, εs = 0.002 (uniform)
Steel stress, fs = εs * Es = 0.002 * 200,000 = 400 N/mm2 (does not yield)
N2 = fcd * (Ac − As) + fs * As
= 22.667 × (125,000 − 1963.6) + 400 × 1963.6
= 22.667 × 123,036 + 400 × 1963.6
= 2,788,000 N + 785,440 N = 3,573,440 N
M2 = 0 (pure compression, no eccentricity)

Interpolation (α between 0 and 1),
For α = 0.5,
N = N1 + α * (N2 − N1) = 0 + 0.5 × 3,573,440 = 1,786,720 N
M = M1 + α * (M2 − M1) = 179,000,000 + 0.5 * (0 − 179,000,000) = 89,500,000 Nmm (= 89.5 kNm)
 
That's it in principle, but why did you set N1 to 0. It should be the total axial force with the NA at the base of the section, which is a long way from 0.
 
That's it in principle, but why did you set N1 to 0. It should be the total axial force with the NA at the base of the section, which is a long way from 0.

@IDS

Thank you for the response.

N1 should be like this I guess.

Axial force, N1 = Cc + Asc*fsc - Ast*fst
= 2,266,700 + 981.8×434.783 - 981.8*434.783
= 2,266,700 N (= 2266.7 kN)
Moment capacity, M1 = Cc * (h/2 - 0.4*h) + Asc*fsc*(h - cover - h/2) - Ast* fst*(h/2 - cover)
= 2,266,700*(250 - 200) + 981.8*434.783 * (457.5 - 250) - 981.8 * 434.783 * (250 - 42.5)
= 2,266,700*50 + 981.8*434.783*207.5 - 981.8*434.783*207.5
= 113,335,000 Nmm (= 113.3 kNm)

However, I believe this method is completely different than the previous method which we did in the spreadsheet you provided earlier.
Was the method in your spreadsheet less accurate? Was the strains we calculated less accurate?

I don't want a smooth beautiful curve, even I don't need smooth transition from non-pure-compression to pure-compression (I mean I notice there can be sudden change since we cap the strain) still, just want to be safe and Eurocode complient than producing a smooth beautiful curve.

I liked and enjoyed the calculations we did in the spreadsheet, finding strains of each steel bar etc. Now in this one I don't see that kind of deep detail. Is it possible that we combine those with this new method?

If I want to keep the previous calculation (spreadsheet method) and add new things to comply to Eurocode, without completely deviating from spreadsheet method. How should I do it?


If we just calculate strains like the previous

in non-pure compression cases

strain = distance to r/f from NA * (0.0035/depth of NA)

in pure compression cases

Method 1:
I
f we just cap the strain at 0.00175 (or 0.002) when the column enters pure-compression

Method 2: using 0.00175 (or 0.002) instead of 0.0035

when the column enters pure-compression, we use 0.00175 (or 0.002)
strain = distance to r/f from NA * (0.00175/depth of NA)

--
I don't understand why that does not comply to Eurocode? I feel like that's also compliant (although the curve may not be smooth at the transition, I don't need a beautiful curve).

But it's also safe isn't it? I don't get why we need to complicate by adapting a completely new method of calculation.
 
Last edited:
@IDS

Thank you for the response.

N1 should be like this I guess.

Axial force, N1 = Cc + Asc*fsc - Ast*fst
= 2,266,700 + 981.8×434.783 - 981.8*434.783
= 2,266,700 N (= 2266.7 kN)
Moment capacity, M1 = Cc * (h/2 - 0.4*h) + Asc*fsc*(h - cover - h/2) - Ast* fst*(h/2 - cover)
= 2,266,700*(250 - 200) + 981.8*434.783 * (457.5 - 250) - 981.8 * 434.783 * (250 - 42.5)
= 2,266,700*50 + 981.8*434.783*207.5 - 981.8*434.783*207.5
= 113,335,000 Nmm (= 113.3 kNm)

However, I believe this method is completely different than the previous method which we did in the spreadsheet you provided earlier.
Was the method in your spreadsheet less accurate? Was the strains we calculated less accurate?

I don't want a smooth beautiful curve, even I don't need smooth transition from non-pure-compression to pure-compression (I mean I notice there can be sudden change since we cap the strain) still, just want to be safe and Eurocode complient than producing a smooth beautiful curve.

I liked and enjoyed the calculations we did in the spreadsheet, finding strains of each steel bar etc. Now in this one I don't see that kind of deep detail. Is it possible that we combine those with this new method?

If I want to keep the previous calculation (spreadsheet method) and add new things to comply to Eurocode, without completely deviating from spreadsheet method. How should I do it?


If we just calculate strains like the previous

in non-pure compression cases

strain = distance to r/f from NA * (0.0035/depth of NA)

in pure compression cases

Method 1:
I
f we just cap the strain at 0.00175 (or 0.002) when the column enters pure-compression

Method 2: using 0.00175 (or 0.002) instead of 0.0035

when the column enters pure-compression, we use 0.00175 (or 0.002)
strain = distance to r/f from NA * (0.00175/depth of NA)

--
I don't understand why that does not comply to Eurocode? I feel like that's also compliant (although the curve may not be smooth at the transition, I don't need a beautiful curve).

But it's also safe isn't it? I don't get why we need to complicate by adapting a completely new method of calculation.
I'm not sure what you are doing with your calculation of N1, but N1 is exactly as it was in the original calculation. The strain at the compression face is 0.0035, so why would anything change?

The "pure compression" case is uniform compression across the full section. Between those two extremes there is a smooth transition, where using the rectangular stress block numbers:
- The compression face strain reduces smoothly from 0.0035 to 0.00175
- The mid height strain stays constant at 0.00175
- The bottom face strain increases smoothly from 0 to 0.00175

If you must, you can calculate those strains and then calculate the forces and moments as before, but the results will be very close to a straight line.

In addition, using the rectangular stress block when the NA is outside the section has two problems:

1) When the base of the stress block reaches the base of the section (i.e. NA at D/0.8), the top strain is still very close to 0.0035 and the full concrete section is at maximum stress, but using the parabolic-rectangular stress block there would be a significant portion of the concrete with significantly less than maximum stress, so that case is unconservative.
2) Under uniform compression the strain is reduced to 0.00175, but the concrete stress distribution is the same as for the parabolic stress block, so that case is unnecessarily conservative.

So doing the linear interpolation is not only much simpler, it is also closer to the results you would get with a parabolic-rectangular stress block.
 
I'm not sure what you are doing with your calculation of N1, but N1 is exactly as it was in the original calculation. The strain at the compression face is 0.0035, so why would anything change?

The "pure compression" case is uniform compression across the full section. Between those two extremes there is a smooth transition, where using the rectangular stress block numbers:
- The compression face strain reduces smoothly from 0.0035 to 0.00175
- The mid height strain stays constant at 0.00175
- The bottom face strain increases smoothly from 0 to 0.00175

If you must, you can calculate those strains and then calculate the forces and moments as before, but the results will be very close to a straight line.

In addition, using the rectangular stress block when the NA is outside the section has two problems:

1) When the base of the stress block reaches the base of the section (i.e. NA at D/0.8), the top strain is still very close to 0.0035 and the full concrete section is at maximum stress, but using the parabolic-rectangular stress block there would be a significant portion of the concrete with significantly less than maximum stress, so that case is unconservative.
2) Under uniform compression the strain is reduced to 0.00175, but the concrete stress distribution is the same as for the parabolic stress block, so that case is unnecessarily conservative.

So doing the linear interpolation is not only much simpler, it is also closer to the results you would get with a parabolic-rectangular stress block.

@IDS

Thank you for the response.
However, I don't get the purpose of doing the previous spreadsheet method if we already knew it's not going to produce an accurate code compliant curve.
However, I enjoyed doing the strain calculations etc, but feel like I was like walking too far on a wrong path.
So, we spent time learning a wrong method, that was guaranteed to produce a substandard chart?
And there is a simpler and accurate method. I'm just curious why did we do the spreadsheet method in the first place if it meant to produce inaccurate code non-compliant chart?

Are you sure the new method you're proposing will be accurate and code compliant?

The previous method still produces very close results to yours, I don't understand how that could be producing straight lines as you mentioned.

Screenshot 2025-03-09 at 1.29.31 pm.jpg
 
Last edited:
I don't get the purpose of doing the previous spreadsheet method if we already knew it's not going to produce an accurate code compliant curve.
The calculated spreadsheet results are used all the way until the NA is outside the concrete section. On the graph above the only part using interpolated values is the top-left portion where the axial load is greater than 2900 kN, and your results are close to a straight line in that area.

Another reason for using the interpolation method for results close to the maximum axial load is that the 0.9 reduction factor for sections that reduce in width towards the compression face is only applicable where a rectangular stress block is being used. When the concrete has uniform stress over the full section the rectangular and the parabolic-rectangular stress blocks give exactly the same results, so there is no need to apply the additional reduction.
 
The calculated spreadsheet results are used all the way until the NA is outside the concrete section. On the graph above the only part using interpolated values is the top-left portion where the axial load is greater than 2900 kN, and your results are close to a straight line in that area.

Another reason for using the interpolation method for results close to the maximum axial load is that the 0.9 reduction factor for sections that reduce in width towards the compression face is only applicable where a rectangular stress block is being used. When the concrete has uniform stress over the full section the rectangular and the parabolic-rectangular stress blocks give exactly the same results, so there is no need to apply the additional reduction.

@IDS
Thank you.

However, I no longer apply 0.9 reduction factor as I believe it's not applicable for rectangular shaped columns. It's for L or T shaped ones as I know (pointy sections, not pointy compression blocks as I realised).
So, that chart is without 0.9 reduction.
I only apply 0.8x to the NA depth to find the simplified compression block area.

In pure compression, for steel, I applied 0.00175 (Eurocode says to use it if using simplified stress block) cap, and again capped the stress at fyd. It makes a difference as I see, because it caps the strain at 0.00175 and then check for fyd later, we take minimum of the two values. So as I see it does matter whether to use 0.00175 or 0.002.

For me, It's ok to have a straight line. And since Eurocode simplified model follows simplicity, I understand at some point it just uses capped values, which may result in straight like lines, that's fine for me.
All I need to check, if my chart is Eurocode compliant and so, that means if it's in the safe limits. At this moment I really don't want to have a parabolic level extreme refinement. I just need to follow the simplified method and produce the conservative and safe diagram.

Is it possible for you to check if my diagram is safe and code compliant.

Screenshot 2025-03-09 at 6.00.38 pm.jpg

Screenshot 2025-03-09 at 6.00.49 pm.jpg


Axial (kN)​
Mx (kN)​
My (kN)​
-853.68477​
0.00230461​
0.00115141​
-845.38614​
1.99238082​
0.97201953​
-698.06656​
33.0281874​
13.7202266​
-522.77427​
69.5599158​
28.683844​
-392.17925​
96.0000623​
39.4710945​
-268.73852​
119.632123​
47.9192008​
-56.404069​
159.878594​
48.0973857​
131.983101​
192.816971​
48.948872​
305.871989​
219.900751​
49.2288823​
519.753595​
233.06543​
53.9676395​
759.41792​
245.351504​
57.3783664​
997.995983​
256.800513​
58.9378507​
1242.71938​
260.617727​
58.7818507​
1504.63078​
254.248442​
56.3238507​
1742.72418​
246.485658​
53.2978507​
1981.79258​
232.395376​
51.4718507​
2212.61198​
214.048596​
49.8738507​
2382.22223​
181.501661​
45.416973​
2572.79504​
157.304881​
42.83216​
2731.81059​
135.903581​
39.7931086​
2882.09118​
113.069412​
34.8514981​
3012.97327​
91.5220997​
29.3189627​
3124.83828​
71.6897365​
23.5897626​
3217.99831​
54.0162231​
18.0592373​
3292.71472​
38.9536894​
13.1217784​
3349.20818​
26.9648508​
9.17292554​
3387.66149​
18.5182747​
6.60506117​
3407.33433​
14.259​
5.669​
3415.92433​
12.476​
4.96​
3423.92233​
10.817​
4.301​
3431.38633​
9.268​
3.685​
3438.36933​
7.819​
3.109​
3444.91633​
6.46​
2.569​
3451.06533​
5.184​
2.061​
3456.85333​
3.983​
1.584​
3462.31133​
2.851​
1.134​
3467.46533​
1.782​
0.708​
3472.34033​
0.77​
0.306​
3476.05033​
0​
0​
3476.05033​
0​
0​
3476.05033​
0​
0​
3476.05033​
0​
0​
3476.05033​
0​
0​
3476.05033​
0​
0​
3476.05033​
0​
0​
3476.05033​
0​
0​
3476.05033​
0​
0​
3476.05033​
0​
0​
3476.05033​
0​
0​
3476.05033​
0​
0​
3476.05033​
0​
0​
 
Last edited:
I will check your latest graphs (numerical data for the 2 graphs would also be useful), but I disagree with your comment about the 0.9 reduction factor.

The code says:
"If the width of the compression zone decreases in the direction of the extreme compression fibre, the
value eta fcd should be reduced by 10%."
So it isn't applicable to rectangular sections when the NA is parallel to the compression face (or to T sections), but it definitely is applicable to rectangular sections with a rotated NA. It is also applicable to circular sections. In both cases only when a rectangular stress block is used and the NA is inside the concrete section.
 
I will check your latest graphs (numerical data for the 2 graphs would also be useful), but I disagree with your comment about the 0.9 reduction factor.

The code says:
"If the width of the compression zone decreases in the direction of the extreme compression fibre, the
value eta fcd should be reduced by 10%."
So it isn't applicable to rectangular sections when the NA is parallel to the compression face (or to T sections), but it definitely is applicable to rectangular sections with a rotated NA. It is also applicable to circular sections. In both cases only when a rectangular stress block is used and the NA is inside the concrete section.

Thank you for your response.

After I apply the 0.9 reduction I got the diagrams as below.

Screenshot 2025-03-09 at 8.00.46 pm.jpg

Screenshot 2025-03-09 at 8.00.59 pm.jpg


Axial (kN)​
Mx (kN)​
My (kN)​
-853.68569​
0.00207415​
0.00103627​
-846.21693​
1.79314274​
0.87481757​
-701.38971​
32.2650687​
13.358004​
-530.25134​
67.9190243​
27.9286596​
-405.47183​
93.2182561​
38.234885​
-289.50817​
115.497011​
46.1537807​
-86.312362​
154.228535​
45.7944471​
91.2745907​
185.541074​
46.1399848​
252.70169​
210.938876​
45.9854941​
452.459936​
222.408187​
50.4010756​
676.339328​
233.040254​
53.6398298​
897.753585​
242.996362​
55.1817656​
1125.16895​
245.812654​
55.0257656​
1369.77231​
238.971098​
52.5677656​
1590.55767​
231.264693​
49.5417656​
1812.31803​
217.759439​
47.7157656​
2025.82939​
200.526336​
46.1177656​
2178.46121​
169.537195​
41.7005757​
2353.60364​
147.007493​
39.323344​
2498.85013​
127.303823​
36.6343977​
2637.02326​
106.147071​
32.1459483​
2757.45964​
86.2061898​
27.1294664​
2860.54035​
67.8585628​
21.9394864​
2946.57778​
51.4973008​
16.9312135​
3015.83305​
37.5238204​
12.4592006​
3068.52696​
26.3500657​
8.87933298​
3104.84234​
18.3938473​
6.54425505​
3124.001​
14.259​
5.669​
3132.591​
12.476​
4.96​
3140.589​
10.817​
4.301​
3148.053​
9.268​
3.685​
3155.036​
7.819​
3.109​
3161.583​
6.46​
2.569​
3167.732​
5.184​
2.061​
3173.52​
3.983​
1.584​
3178.978​
2.851​
1.134​
3184.132​
1.782​
0.708​
3189.007​
0.77​
0.306​
3192.717​
0​
0​
3192.717​
0​
0​
3192.717​
0​
0​
3192.717​
0​
0​
3192.717​
0​
0​
3192.717​
0​
0​
3192.717​
0​
0​
3192.717​
0​
0​
3192.717​
0​
0​
3192.717​
0​
0​
3192.717​
0​
0​
3192.717​
0​
0​
3192.717​
0​
0​
 
I have now added my results to your graphs with four different versions:

IDS1: Shape factor of 0.9 applied to all load cases, uniform strain limit = 0.00175, i.e. as your calculations above.
IDS2: Shape factor of 0.9 applied only when the NA is inside the concrete section.
IDS3: As 2 but uniform strain limit increased to 0.002. This is my interpretation of the Eurocode requirements, as discussed above.
IDS4: No shape reduction factor applied. As discussed above, and also discussed here in other threads, I do not think this is right because the rectangular stress block is unconservative when the section in compression is triangular, or a similar shape.

All the analyses were with the NA at -51.84 degrees to the X axis.

In summary:
My runs 1, 2, and 3 give identical results for all cases where the NA is inside the section. Only the maximum axial loads are different.

My MX results for run 1 are about 10% higher than yours up to about 1800 kN, then the difference increases significantly. I'm not sure why that is, but if we look at detailed calculation examples below and above 1800 kN we should be able to work it out.

The MY results are closer up to about 1400 kN, with some fairly small variations, then differences increase.

The changes in Axial load capacity for runs 2 and 3 are fairly small, and are as would be expected.

IDS-MX2.jpg


IDS-MY2.jpg
 
I have now added my results to your graphs with four different versions:

IDS1: Shape factor of 0.9 applied to all load cases, uniform strain limit = 0.00175, i.e. as your calculations above.
IDS2: Shape factor of 0.9 applied only when the NA is inside the concrete section.
IDS3: As 2 but uniform strain limit increased to 0.002. This is my interpretation of the Eurocode requirements, as discussed above.
IDS4: No shape reduction factor applied. As discussed above, and also discussed here in other threads, I do not think this is right because the rectangular stress block is unconservative when the section in compression is triangular, or a similar shape.

All the analyses were with the NA at -51.84 degrees to the X axis.

In summary:
My runs 1, 2, and 3 give identical results for all cases where the NA is inside the section. Only the maximum axial loads are different.

My MX results for run 1 are about 10% higher than yours up to about 1800 kN, then the difference increases significantly. I'm not sure why that is, but if we look at detailed calculation examples below and above 1800 kN we should be able to work it out.

The MY results are closer up to about 1400 kN, with some fairly small variations, then differences increase.

The changes in Axial load capacity for runs 2 and 3 are fairly small, and are as would be expected.

View attachment 6318


View attachment 6319

@IDS
Thank you for the detailed comparison with several possible variables.

I believe that comparison imply that my diagram can also be considered safe for design, as it's on or below the other lines. Is that correct?

Further, since you said that the strain limit 0.002 is your interpretation of the Eurocode, I'm curious what made you choose 0.002 as the strain limit as the Eurocode shows to use 0.00175. (As I used bilinear 0.8x etc model to simplify the compressed area). Is there any logical reason to use 0.002?

Screenshot 2025-03-10 at 11.09.11 pm.jpg
Screenshot 2025-03-10 at 11.17.23 pm.jpg

I believe now we can confidently move forward to construct the 3D surface.
 
Yes, your results are conservative, but it would be interesting to know why your results are less than my run 1, when we should be using exactly the same numbers. Are you doing something different for axial loads over 2000 kN? Also have you kept the same NA angle as in previous examples?

Regarding the strain limit, this makes no difference until the NA is outside the bottom of the section, where the axial load exceeds 2970 kN. Up to that point all the sections have a maximum strain of 0.0035, reducing to 0 at the NA. The only remaining calculated load has uniform strain across the full section. Because the strain is uniform, I have used the parabolic-rectangular stress block for that case, with a constant strain of 0.002, which complies with the code requirements. I have used linear interpolation between the two final points, which seems like a reasonable assumption to me.

We are not analysing a compression flange of a box girder, so the code quote above does not apply to our calculations, but it isn't clear to me just when it should be applied. If anyone else familiar with the use of Eurocode 2 has any comments on that, I would be interested to hear them.

Finally, I really don't see the point of generating a 3D surface. How would you use that for design?
 
@IDS
Thank you for the response.

Yes, your results are conservative, but it would be interesting to know why your results are less than my run 1, when we should be using exactly the same numbers. Are you doing something different for axial loads over 2000 kN? Also have you kept the same NA angle as in previous examples?

Regarding the strain limit, this makes no difference until the NA is outside the bottom of the section, where the axial load exceeds 2970 kN. Up to that point all the sections have a maximum strain of 0.0035, reducing to 0 at the NA. The only remaining calculated load has uniform strain across the full section. Because the strain is uniform, I have used the parabolic-rectangular stress block for that case, with a constant strain of 0.002, which complies with the code requirements. I have used linear interpolation between the two final points, which seems like a reasonable assumption to me.

We are not analysing a compression flange of a box girder, so the code quote above does not apply to our calculations, but it isn't clear to me just when it should be applied. If anyone else familiar with the use of Eurocode 2 has any comments on that, I would be interested to hear them.

Finally, I really don't see the point of generating a 3D surface. How would you use that for design?

Can you please check, at the neutral axis position 510 mm, 649.0515 mm (angle 51.84), if the area of concrete is 89894.57 mm2, at 2178.46 kN axial force. I still can't find what causes the misalignment above 2000 kN.

I have used linear interpolation between the two final points, which seems like a reasonable assumption to me.

Did you do this interpolation method for the run 1 as well?

We are not analysing a compression flange of a box girder, so the code quote above does not apply to our calculations, but it isn't clear to me just when it should be applied. If anyone else familiar with the use of Eurocode 2 has any comments on that, I would be interested to hear them.

Finally, I really don't see the point of generating a 3D surface. How would you use that for design?

Eurocode says "ed/h > 0.1" so that means, it should be applied within +10%/-10% Neutral axis position (relative to the position when it's in pure axial compression) as I see.
Further, I believe "concentric loading" and "such as, compression flanges", means it can also apply to rectangular columns as well, when it's in compression.

May be there are software to check if the charts are correct, I'm not aware of it. Have to look them up somewhere else as well.

About generating 3d surface, it's not all about designing only, it's just I like to learn in depth. So I would like to have the 3d surface as well, to see how the behaviour actually look like.
 
@IDS

Further, I tried to build the chart for N/bhfck : M/bh2fck diagram, as a re-confirmation of the diagrams we made earlier are correct or not.

The example chart (standard chart) I used has d2/h = 0.15, so I set the cover to 70.5 mm (so it align with d2/h) and the bar diameter to 35 mm to align to the as required for the "asfyk/bhfck = 0.4" (as = roughly 4000 mm2, for 4 bars). The rest of the parameters are same, like fck = 40 N/mm2 (fcd = 22.667), 250 * 500 mm dimensions etc.

However, the chart I generated does not resemble the standard chart's 0.4 line (it looks close, but does not have the same shape etc). Could I have used different parameters than the standard chart? or my calculation is wrong? Do you get the same diagram?

May be the standard chart used some kind of standard equation to generate all those, so the apparent straight lines in their diagram?


Screenshot 2025-03-12 at 3.34.13 pm.jpg

Screenshot 2025-03-12 at 3.01.50 pm.jpg
 
Last edited:
@IDS
Thank you for the response.



Can you please check, at the neutral axis position 510 mm, 649.0515 mm (angle 51.84), if the area of concrete is 89894.57 mm2, at 2178.46 kN axial force. I still can't find what causes the misalignment above 2000 kN.



Did you do this interpolation method for the run 1 as well?



Eurocode says "ed/h > 0.1" so that means, it should be applied within +10%/-10% Neutral axis position (relative to the position when it's in pure axial compression) as I see.
Further, I believe "concentric loading" and "such as, compression flanges", means it can also apply to rectangular columns as well, when it's in compression.

May be there are software to check if the charts are correct, I'm not aware of it. Have to look them up somewhere else as well.

About generating 3d surface, it's not all about designing only, it's just I like to learn in depth. So I would like to have the 3d surface as well, to see how the behaviour actually look like.
The code says "where ed/h < 0.1". That is not the NA position, it is the eccentricity of the axial load. If the axial load has an eccentricity of less than 0.1h, the NA will be outside the section. If the eccentricity is zero, the NA is at infinity.

For your NA position above, I agree with your concrete area, but I get an axial force of 2232.9 kN and an Mx of 180.4 kNm. My calculations for the steel strains and forces, and the total force are:
Neutral AxisXYCompressionXY
1​
-125​
-80.889​
1​
-125​
48.9213​
2​
125​
-399.0515​
2​
109.881​
-250​
Y axis
0​
-239.97025​
Compression Area
89894.534​
HorizontalVertical
Strain gradient
6.86275E-06​
5.39248E-06​
Bar area
490.8738521​
Concrete stress
20.4​
Bar
1​
2​
3​
4​
Total
X
-82.5​
82.5​
-82.5​
82.5​
Y
207.5​
207.5​
-207.5​
-207.5​
Bar strain
0.0018468​
0.002979153​
-0.0003911​
0.000741​
Limit to yield strain
1.847E-03​
2.174E-03​
-3.911E-04​
7.413E-04​
Bar stress
369.36​
434.78​
-78.22​
148.25​
Deduct conc stress
348.96​
414.38​
-78.22​
127.85​
Force
171.30​
203.41​
-38.39​
62.76​
399.07​
Concrete Force
1833.8​
Total Force
2232.92​

I will look at your latest post and respond later (probably tomorrow)
 
The code says "where ed/h < 0.1". That is not the NA position, it is the eccentricity of the axial load. If the axial load has an eccentricity of less than 0.1h, the NA will be outside the section. If the eccentricity is zero, the NA is at infinity.

For your NA position above, I agree with your concrete area, but I get an axial force of 2232.9 kN and an Mx of 180.4 kNm. My calculations for the steel strains and forces, and the total force are:
Neutral AxisXYCompressionXY
1​
-125​
-80.889​
1​
-125​
48.9213​
2​
125​
-399.0515​
2​
109.881​
-250​
Y axis
0​
-239.97025​
Compression Area
89894.534​
HorizontalVertical
Strain gradient
6.86275E-06​
5.39248E-06​
Bar area
490.8738521​
Concrete stress
20.4​
Bar
1​
2​
3​
4​
Total
X
-82.5​
82.5​
-82.5​
82.5​
Y
207.5​
207.5​
-207.5​
-207.5​
Bar strain
0.0018468​
0.002979153​
-0.0003911​
0.000741​
Limit to yield strain
1.847E-03​
2.174E-03​
-3.911E-04​
7.413E-04​
Bar stress
369.36​
434.78​
-78.22​
148.25​
Deduct conc stress
348.96​
414.38​
-78.22​
127.85​
Force
171.30​
203.41​
-38.39​
62.76​
399.07​
Concrete Force
1833.8​
Total Force
2232.92​

I will look at your latest post and respond later (probably tomorrow)

@IDS
Thank you for the detailed data provided.

You are right. After going through it, I figured out I have applied the 0.00175 reduction too early, even before it go beyond pure compression. I rectified it.

Do you get the same diagram as below? for the run 1?
I believe the sudden drop at the end is expected as it caps the strain at 0.00175 once it enters the pure compression.

However, I have another doubt, how can the axial force still increase beyond the pure compression, after consuming all the cross-sectional concrete area as compressive force and for the steel we have 0.00175 strain cap. I feel like it should be a drop and then a horizontal line once it enters pure compression. Or could it be an another error?

Screenshot 2025-03-13 at 3.29.22 pm.jpg

Screenshot 2025-03-13 at 3.29.38 pm.jpg



and the N/bhfck: M/bh^2 fck digram is,
Screenshot 2025-03-13 at 4.59.11 pm.jpg
 
Last edited:
Replying to your post from yesterday:
The interaction diagrams posted are for rectangular cross sections with uniaxial moment. It looks like you have compared with your results with a skew NA, which would account for the different shape of your results.

I have now done my own comparison (see below), and get good agreement up to the point where the NA is at the base of the section. I then calculate the axial load with a uniform strain of 0.002 rather than 0.00175. I then have a straight line between those two points. I have also added the moment line for minimum eccentricity. My results are slightly conservative up to the minimum eccentricity moment, and beyond that point the design axial load stays constant, so the higher axial load with close to zero moment would not be used for design.

IDS-MX3.jpg
Regarding your results posted today, it looks like there is probably an error in the strain distribution when the NA is outside the section. I'm suggesting there is no need to calculate those points, just take a straight line from the results for the NA at the base through to the uniform strain distribution. If you want, you could then find the axial load when the moment has the minimum eccentricity by interpolation, and that will be the maximum design axial load.
 

Part and Inventory Search

Sponsor