Ok, writing a spreadsheet for checking moment capacity of circular RC column at a given axial load with uniformly distributed longitudinal bars following standard flexible theory. Spreadsheet is to the New Zealand Concrete Standard NZS3101 which generally follows the same theory/methodology as the ACI318 code. For the purposes of the discussion the code doesn't really matter too much.
FYI, the differences between ACI318 & NZS3101 are that there is just a single strength reduction factor of 0.85 vs the different strength reduction factors in ACI depending on the type of failure. The α1 and β1 factors on the rectangular Whitney stress block are also ever so slightly different (probably just a metric/imperial thing), but for the purposes of the exercise can be taken as 0.85 for both.
So the crux of the question is that after writing the spreadsheet and going on and verifying it using SPColumn (Link), I get the exact same answer to a few decimal places with zero axial load for any cross sections, so all good there.
However when I factor in the axial load the answer starts to differ by a small margin (not much only a few percent). Depending on the arrangement SPColumn is generally giving me a few percent higher capacity, so the question is I think I am probably going slightly wrong somewhere, but for the life of me I cannot figure out where!
SPColumn allows a user to manually adjust the strength reduction factors, and the α1 and β1 factors. So I should be getting the exact same answer (on the assumption that the folks who write commercial software get it right 99% of the time (right?). But because SPColumn is written for ACI318 maybe there is something also going on in the background relating to the way ACI318 works out the capacity that I'm not factoring in. Perhaps SPColumn approximates the circular shape as a series of trapezoids, but then I would expect a lower capacity.
General procedure I'm following is outlined as follows:-
1. determine bar center line set out based on cover, column diameter, spiral diameter & longitudinal bar diameter
2. from bar set out determine depth of bar from the extreme compression fiber (i.e. say the top of the section)
3. Assemble a series of equations to determine the stress in relation to the distance from the neutral axis depth 'c' assuming the limiting concrete compression strain of 0.003 is reached at the extreme compression fibre at the ultimate capacity
3a. For bars within the compression block depth 'a' determine the effective steel stress (i.e. actual bar stress minus (α1 x f'c)). This enables the compression force and more importantly the centroid of the compression area to be determined in the concrete ignoring the bars
3b. For bars between the compression block depth and the neutral axis the bars are still in compression but the actual steel stress is determined based on the strain.
3c. For bars below the neutral axis the bars are in tension, the bar strain is determined, if the strain is greater than the steel yield strain, the bars are assumed to be stressed to their yield stress, if not the actual stress is determined (actual stress = E x strain)
3d. Based on knowing the compression depth 'a' work out the area and depth to the centroid of a rectangular stress block in the shape of a circular segment.
4. Determine the forces in the concrete, and each bar
5. Sum the bar forces, concrete force and axial load (axial load assumed to act at the plastic centroid, i.e. center of column for circular column) which must equal zero for internal equilibrium.
6. Solve for the compression block depth 'a' using excels goalseek function based on the result of step 5 equaling zero
7. determine moment capacity by summing the component bar forces/concrete forces/axial load x their respective lever arms from any arbitrary location
8. multiply this moment capacity x the appropriate strength reduction factor.
Anyone see anything wrong in this approach that might account for the differences when the axial load is considered?
Its worth pointing out I've also downloaded a number of other free or demo spreadsheets from the net, all of which have a slight variations on the answer from SPColumn as well!
FYI, the differences between ACI318 & NZS3101 are that there is just a single strength reduction factor of 0.85 vs the different strength reduction factors in ACI depending on the type of failure. The α1 and β1 factors on the rectangular Whitney stress block are also ever so slightly different (probably just a metric/imperial thing), but for the purposes of the exercise can be taken as 0.85 for both.
So the crux of the question is that after writing the spreadsheet and going on and verifying it using SPColumn (Link), I get the exact same answer to a few decimal places with zero axial load for any cross sections, so all good there.
However when I factor in the axial load the answer starts to differ by a small margin (not much only a few percent). Depending on the arrangement SPColumn is generally giving me a few percent higher capacity, so the question is I think I am probably going slightly wrong somewhere, but for the life of me I cannot figure out where!
SPColumn allows a user to manually adjust the strength reduction factors, and the α1 and β1 factors. So I should be getting the exact same answer (on the assumption that the folks who write commercial software get it right 99% of the time (right?). But because SPColumn is written for ACI318 maybe there is something also going on in the background relating to the way ACI318 works out the capacity that I'm not factoring in. Perhaps SPColumn approximates the circular shape as a series of trapezoids, but then I would expect a lower capacity.
General procedure I'm following is outlined as follows:-
1. determine bar center line set out based on cover, column diameter, spiral diameter & longitudinal bar diameter
2. from bar set out determine depth of bar from the extreme compression fiber (i.e. say the top of the section)
3. Assemble a series of equations to determine the stress in relation to the distance from the neutral axis depth 'c' assuming the limiting concrete compression strain of 0.003 is reached at the extreme compression fibre at the ultimate capacity
3a. For bars within the compression block depth 'a' determine the effective steel stress (i.e. actual bar stress minus (α1 x f'c)). This enables the compression force and more importantly the centroid of the compression area to be determined in the concrete ignoring the bars
3b. For bars between the compression block depth and the neutral axis the bars are still in compression but the actual steel stress is determined based on the strain.
3c. For bars below the neutral axis the bars are in tension, the bar strain is determined, if the strain is greater than the steel yield strain, the bars are assumed to be stressed to their yield stress, if not the actual stress is determined (actual stress = E x strain)
3d. Based on knowing the compression depth 'a' work out the area and depth to the centroid of a rectangular stress block in the shape of a circular segment.
4. Determine the forces in the concrete, and each bar
5. Sum the bar forces, concrete force and axial load (axial load assumed to act at the plastic centroid, i.e. center of column for circular column) which must equal zero for internal equilibrium.
6. Solve for the compression block depth 'a' using excels goalseek function based on the result of step 5 equaling zero
7. determine moment capacity by summing the component bar forces/concrete forces/axial load x their respective lever arms from any arbitrary location
8. multiply this moment capacity x the appropriate strength reduction factor.
Anyone see anything wrong in this approach that might account for the differences when the axial load is considered?
Its worth pointing out I've also downloaded a number of other free or demo spreadsheets from the net, all of which have a slight variations on the answer from SPColumn as well!