Concrete Column Interaction Diagram

This guide is aimed at civil and structural engineers. It shows how Hurmet can produce a concrete column interaction diagram, like this one:

Concrete Interaction Diagram Concrete Column fc fy ACI 318- Width Depth Bar size Bar qty Clear cover Tie size 4.5 ksi 60 ksi 19 24.0 in 24.0 in #7 12 2.00 in #4 Ag = 576.0 in² As = 7.2 in² ρ = 1.25% bars at 5.93″ c/c ϕPn (kips) 0 ϕMn (kip·ft) 1356 kips 321 ϕPn = 618 kips ϕMn = 483 kip·ft ϕMn = 245 kip·ft 300 600 900 1200 100 200 300 400 500

It’s a three-step process. First, one must import a module. To do that, open a math zone (Alt-C) and copy in this code:

colDiagram = import("https://gist.githubusercontent.com/ronkok/6ea53b79cd49a0ab5c6c60e3f9e8c874/raw/concreteColumnInteraction.txt") = !

That module exposes one function, which works through a loop that sets the neutral axis in 25 different locations and finds the axial strength and bending strength that results from each neutral axis location. The process is described in ACI E702.2. And you can look at the function’s source code.

Your second step is to define the parameters of your column in a data frame. Here’s an example:

col =
``f_c′	f_y	width	depth	barSize	bars	cover	tieSize
psi	psi	in	in			in	
4500	60000	24	24	#7	12	2	#4`` = @

Note that the diagram function is not unit-aware. You have to use the same units as the example.

Finally, invoke the function with this code:

colDiagram.draw(col) = @

In your document, the results will look like this:

colDiagram=import(concreteColumnInteraction.txt)

fcfywidthdepthbarSizebarscovertieSizepsipsiininin4,50060,0002424#7122#4

Concrete Interaction Diagram Concrete Column fc fy ACI 318- Width Depth Bar size Bar qty Clear cover Tie size 4.5 ksi 60 ksi 19 24.0 in 24.0 in #7 12 2.00 in #4 Ag = 576.0 in² As = 7.2 in² ρ = 1.25% bars at 5.93″ c/c ϕPn (kips) 0 ϕMn (kip·ft) 1356 kips 321 ϕPn = 618 kips ϕMn = 483 kip·ft ϕMn = 245 kip·ft 300 600 900 1200 100 200 300 400 500

Variations

Bar Pattern

The bar arrangement need not be doubly symmetric. You can define a bar pattern in the form: 𝐦x𝐧, where 𝐦 and 𝐧 are integers ≥ 2. Like this example:

fcfywidthdepthbarSizebarscovertieSizepsipsiininin4,50060,0002424#75x42#4

Concrete Interaction Diagram Concrete Column fc fy ACI 318- Width Depth Bar size Bar pattern Clear cover Tie size 4.5 ksi 60 ksi 19 24.0 in 24.0 in #7 5x4 2.00 in #4 Ag = 576.0 in² As = 8.4 in² ρ = 1.46% bars at 4.45″ × 5.93″ c/c ϕPn (kips) 0 ϕMn (kip·ft) 1391 kips 370 ϕPn = 618 kips ϕMn = 512 kip·ft ϕMn = 258 kip·ft 300 600 900 1200 100 200 300 400 500

Material Properties

Your calculation package may have previously defined values for fc and fy. Like this:

fc=3,000psi

fy=60,000psi

In that case, you can define the column by appending fc and fy to a slightly smaller data frame.

col =
``width	depth	barSize	bars	cover	tieSize
in	in			in	
24	24	#7	12	2	#4`` & f_c′ & f_y = @

… which will result in this:

widthdepthbarSizebarscovertieSizefcfyinininpsipsi2424#7122#43,00060,000

Concrete Interaction Diagram Concrete Column fc fy ACI 318- Width Depth Bar size Bar qty Clear cover Tie size 3.0 ksi 60 ksi 19 24.0 in 24.0 in #7 12 2.00 in #4 Ag = 576.0 in² As = 7.2 in² ρ = 1.25% bars at 5.93″ c/c ϕPn (kips) 0 ϕMn (kip·ft) 979 kips 309 ϕPn = 418 kips ϕMn = 369 kip·ft ϕMn = 127 kip·ft 200 400 600 800 75 150 225 300 375

Strength Demand

The function has two optional arguments: Pu and Mu. If you supply both of them, the function will draw a dot on the diagram that represents your strength demand.

Pu=150kips

Mu=80kft

You then invoke the function with the optional arguments:

colDiagram.draw(col, P_u, M_u) = @

… with this result:

Concrete Interaction Diagram Concrete Column fc fy ACI 318- Width Depth Bar size Bar qty Clear cover Tie size 3.0 ksi 60 ksi 19 24.0 in 24.0 in #7 12 2.00 in #4 Ag = 576.0 in² As = 7.2 in² ρ = 1.25% bars at 5.93″ c/c ϕPn (kips) 0 ϕMn (kip·ft) 979 kips 309 ϕPn = 418 kips ϕMn = 369 kip·ft ϕMn = 127 kip·ft 200 400 600 800 75 150 225 300 375

Limitations

The remote module works only with rectangular columns with ties. If you want a diagram that deals with circular cross-sections, octagons, or spirals, check out this utility.

This function is not the last word on concrete capacity. For one thing, it deals only with short columns. Slenderness must be addressed elsewhere. Also, ACI 318 has several prescriptive requirements that must be met in order for this diagram to be valid. Such as: maximum bar spacing, minimum ρ values, and minimum cover. You are responsible to check those prescriptive requirements.

Only qualified engineers should use this diagram.