For material nonlinear analysis of frame models, you can improve the computed response by using more displacement-based elements or more integration points in a force-based element. The material nonlinearity occurs inside the basic system, also known as the natural system or the kernel.

To capture geometric nonlinearity due to large displacements, you have to go outside the basic system with the P- $\Delta$ or corotational transformation between the basic and global systems.

But capturing geometric nonlinearity inside the basic system, i.e., P- $\delta$ effects, is more complicated. You need to use a different element formulation, e.g., nonlinear strain in the displacement-based formulation or curvature-based displacement interpolation (CBDI) in the force-based formulation.

Fortunately, the large displacement transformation outside the basic system is independent of what’s going on inside the basic system. So, instead of using a more complex element formulation, you can use a small strain formulation for each element in a corotational mesh and get P- $\delta$ effects “for free”.

Let’s demonstrate the idea with a 15 ft long W10x54 column buckling about its weak axis. The section area is $A=15.8 \mbox{ in}^2$ and the second moment of section area about the weak axis is $I=103 \mbox{ in}^4$. The material properties are $E$ = 29,000 ksi and $F_y$ = 50 ksi.

To trigger buckling in the subsequent analyses, the nodal locations are defined by a first mode buckled shape with an initial imperfection of $L/1000$ at mid-height of the column.

Elastic Buckling

The elastic buckling load for the column, $P_e$=910 kip, is obtained from the Euler equation $P_e=\pi^2EI/L^2$. Using a corotational mesh of Bernoulli beam elements defined by $E$, $A$, and $I$, we should converge to this value.

The axial load-displacement response is shown below for $N_{ele}$ = 2, 4, and 6 elements. The response is computed using displacement control on the vertical DOF at the top of the column. Consistent with finite element theory, the coarser mesh gives higher apparent strength. Four elements does a good job and six elements is a little better.

We will use six elements for the analyses in the following section.

Inelastic Buckling

This column is not slender enough to buckle elastically because the crushing load, $P_c=F_yA$ = 790 kip, is less than the Euler buckling load. Furthermore, Table 4-1a of the Steel Manual reports the nominal strength for this column to be $P_n$ = 550 kip. In other words, the column will buckle inelastically. (I suppose we could have started the examples section of the post here, but it’s always fun to check the Euler buckling load.)

To capture inelastic buckling, we can use material nonlinear beam-column elements in the corotational mesh. Since we are using a discretized mesh to capture the geometric nonlinearity, we might as well go with the displacement-based formulation for the material nonlinearity.

A fiber discretization about the weak axis simulates the force-deformation response at each integration point. The stress-strain response of each fiber is bilinear with the given $F_y$ and $E$, and strain-hardening ratio $\alpha$ = 0.005. There are two fibers in the web and eight in each flange.

The computed axial load-displacement relationship is shown below, again using displacement control. As expected, we come in under the crushing load; however, we over-predict the nominal strength by about 50 kip.

Why are we over-predicting the nominal compressive strength reported in the Steel Manual? Recall that the Steel Manual uses an empirical relationship to account for residual stresses in the compressive strength tables. So, we should get closer to the nominal strength if we use residual stresses in the analysis.

To this end, we can use the InitStressMaterial in OpenSees to define a residual stress pattern across the fiber section. The linear approximation of the Lehigh pattern is a simple approach (see Fig. 6a here).

Recomputing the axial load-displacement response with $F_r=0.2F_y$ (compression) and $F_t=F_r(b_ft_f)/(b_ft_f+d_wt_w)$ (tension) gives the results shown below. Much better!

Note that it’s a good idea to get the initial stresses into equilibrium with one analysis step prior to applying loads with displacement control. It took me a while to remember this after trying to wrap my head around why the displacement-controlled analysis failed well before reaching the nominal compressive strength.

## 18 thoughts on “Meshing for Column Loads”

1. ZHU says:

When doing elastic buckling analysis, what is the art of determining the incr of integrator DisplacementControl.

Liked by 1 person

1. Positive Definite says:

Hello ZHU,
Good question! A quick way to do this would be to compute the Euler buckling load, P, then find a reference axial displacement from U=PL/EA. Then take increments in displacement control on the vertical DOF equal to U/100. It’s kind of a dark art 🙂
PD

Like

2. Praveen Huded says:

In the Last plot how it is possible to apply a lesser load yet getting large displacement. How to apply load beyond the peak point or how to achieve decreasing trend of the plot.

Like

1. Positive Definite says:

Hello Praveen,
You can go past the peak point using the DisplacementControl integrator instead of LoadControl.
PD

Like

1. Praveen Huded says:

Actually what I am doing is applying a vertical load and noting the displacement for that particular load. However from your plot, it appears that you have increased the load from 0 to the peak value, I am unable to understand how did you reduce the load after the peak load and yet you were able to get large displacement. In my case I am getting plot till the peak after that I am facing a convergence problem. It would be helpful if you tell me how to apply load using displacement control.

Like

2. Praveen Huded says:

Thank you sir

Like

3. Praveen Huded says:

Dear sir, After your suggestion, I did a gravity analysis. After that, I defined load pattern and displacement control integrator as shown below
pattern Plain 2 Linear {
}
test EnergyIncr 1.0e-8 300 1
algorithm KrylovNewton
system UmfPack
numberer RCM
constraints Plain
analysis Static
set dU 0.0002
integrator DisplacementControl 161 2 $dU 1$dU \$dU
analyze 10

But how to apply the load lesser than the peak load and yet getting large displacement.

Like

3. Mohsen ghasemii says:

Hello,
thank you for your valuable post.
I searched your site for an explanation about twoNodeLink but found nothing. Can you provide an explanation for this element and how it works.?

Like

4. Nestor says:

Great article!!

Can this buckling simulation, using displacement-based beam-column elements with nonlinear material (fibers), be used for histeretic behavior? I mean in a dynamic analysis, for example.

TY.

Like

1. Positive Definite says:

Thank you! Yes, this approach can be used for cyclic loading with hysteretic material behavior.

Like

5. HX says:

Good explanation!

Liked by 1 person

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