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.
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, then move on to fiber sections.