OpenSees Cloud

OpenSees AMI

It Takes Two

Original Post - 22 Nov 2023 - Michael H. Scott

Visit Structural Analysis Is Simple on Substack.


While it might be advantageous for some modes of response in some solid finite element formulations, using a single integration point in a frame element is not OK because the element needs to integrate quadratic polynomials–something you just can’t do with one integration point. The result of using one integration point is generally pretty bad for frame elements.

But how do you get one integration point in a frame element in the first place? There’s actually a few ways–some more inviting to user error, others requiring intent.

Gauss-Legendre will put one integration point at the center of an element.

ops.beamIntegration('Legendre',23,secTag,1)

Gauss-Radau (not the plastic hinge integration, but straight up Gauss-Radau) will put one integration point at the I end of an element.

ops.beamIntegration('Radau',23,secTag,1)

If you want to put one integration point somewhere else along an element, you’ll have to use FixedLocation integration, e.g., at x=0.6L from the I end of an element.

ops.beamIntegration('FixedLocation',23,1,secTag,0.6)

Consider a beam with simple supports. The beam section is elastic with E=29000 ksi, A=20 in2, and I=1200 in4.

Simple beam with one integration point

Using a single dispBeamColumn element with one integration point at midspan, the assembled stiffness matrix is

\[{\bf K} = \left[ \begin{array}{ccc} 5800 & 0 & 0 \\ 0 & 348000 & -348000 \\ 0 & -348000 & 348000 \end{array} \right]\]

The axial stiffness EA/L is correct; however, the magnitudes of the flexural terms are all EI/L–no fours or twos–making the matrix singular.

With a single forceBeamColumn element and one integration point at midspan, you’ll get one or both of the “could not invert flexibility” and “failed to get compatible” error messages because the flexibility matrix is singular.

When using one integration point at the center of a mixedBeamColumn element, the assembled stiffness matrix is

\[{\bf K} = \left[ \begin{array}{ccc} 0.000172 & 0 & 0 \\ 0 & 0.25 & -0.25 \\ 0 & -0.25 & 0.25 \end{array} \right]\]

I don’t know enough about the mixed element formulation to explain these stiffness values, although the axial term equals L/EA. Perhaps the element detects singularity, does not attempt an inversion, then passes flexibility back up for assembly.

For all three element formulations, moving the integration point away from the center of the element doesn’t make the singularities go away.



I’m sure you were already aware that it takes two integration points to make a frame element go right. Thanks to a Lyn Collins sample, it takes two to make it out of sight!

It Takes Two