OpenSees Cloud
OpenSees AMI
Direct Moment-Curvature
Original Post - 26 Sep 2021 - Michael H. Scott
Visit Structural Analysis Is Simple on Substack.
That the force-based frame element and fiber sections are in an open relationship should come as no surprise. The displacement-based and mixed frame elements can use fiber sections and all three element formulations can use stress resultant sections.
While this post used a coupled stress resultant plasticity model, you can also use the section aggregator for uncoupled stress resultants defined by uniaxial material models.
For example, suppose you would like to use a bilinear relationship for the section moment-curvature response of a simple beam under anti-symmetric bending.
Pick your favorite bilinear uniaxial material, then aggregate that
material with an axial force-deformation relationship. Note that
depending on which uniaxial material you use, you may have to
calibrate the post-yield hardening ratio to a hardening modulus,
as shown in the
code below for HardeningMaterial
. Because it is bilinear, you can also
use Steel01
. The underlying material does not have to be steel–Steel01
is just a function.
E = 6000
I = 800
A = 30
My = 600
alpha = 0.1 # hardening ratio
EI = E*I # Or specify EI directly
Hkin = alpha*EI/(1-alpha)
ops.uniaxialMaterial('Hardening',1,EI,My,0.0,Hkin)
# or
# ops.uniaxialMaterial('Steel01',1,My,EI,alpha)
ops.uniaxialMaterial('Elastic',2,E*A)
ops.section('Aggregator',1,1,'Mz',2,'P')
The aggregated section is then assigned to each element integration point.
After yielding, plasticity will spread from the ends of the beam. For a bilinear moment-curvature relationship, it is straightforward to use the principle of virtual forces–that thing you did as an undergrad with unit loads, virtual moment diagrams, real curvature diagrams, and trapezoid-trapezoid–to obtain a closed-form solution for the element post-yield moment-rotation response.
A comparison of the force-based element response (using six Gauss-Lobatto integration points along the beam span) with the exact solution is shown below.
As you use more integration points, the computed response for the force-based element will approach the exact solution. You can do the same comparison with the displacement-based and mixed elements. The displacement-based element requires mesh refinement to converge to the exact solution and, for this example, the mixed element will give the same response as the force-based element.
I recommend you do this verification example yourself in order to get your feet wet with nonlinear frame formulations. After you verify the results with direct moment-curvature, move on to fiber sections.