OpenSees Cloud
OpenSees AMI
Section X
Original Post - 07 Nov 2021 - Michael H. Scott
Visit Structural Analysis Is Simple on Substack.
You can record section response in a frame element if you know the section number, or integration point, of the section whose response you would like to record. This is straightforward for distributed plasticity integration such as Lobatto or Legendre where section number 1 is at end I of the element and section number N is at end J. For example, to record response at section 3, your recorder would begin with the following:
ops.recorder('element',1,'section',3,...)
Instead of a magic number like 3, you could also use an expression like
int(N/2)+1
.
But it gets a little complicated with plastic hinge integration. Which section number should you input to record the section response at end J of an element with HingeRadau plastic hinge integration?
- 2
- 4
- 6
- None of the above
The answer is at the end of this post. Be careful, there are a few “hidden” sections on the element interior for plastic hinge integration.
What if one day Frank or I became super malicious and decided to reorder the integration points coming out of Lobatto, Legendre, the plastic hinge integrations, or the dozen or so other numerical integration options? After all, addition is commutative.
To defend yourself against this unlikely sabotage, you can use the
undocumented sectionX
argument for your element recorders. Instead of
a section number, you give a section location in the range x=[0,L] where
L is the element length. The recorder will find the section closest to
the specified location, just like what
fiber recorders do with section
(y,z) coordinates.
To record the response at the section closest to coordinate x=25 along a frame element, your recorder would start off as:
ops.recorder('element',1,'sectionX',25,...)
The remaining arguments for sectionX
are exactly the same as the
regular section
recorder.
Answer: C. 6