Beam With Hinges Element: Difference between revisions

From OpenSeesWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
{{CommandManualMenu}}
{{CommandManualMenu}}


This command is used to construct a beamWithHinges element object, which is based on the non-iterative (or iterative) flexibility formulation, and considers plasticity to be concentrated over specified hinge lengths at the element ends.
This command is used to construct a forceBeamColumn element object, which is based on the non-iterative (or iterative) flexibility formulation.  The locations and weights of the element integration points are based on so-called plastic hinge integration, which allows the user to specify plastic hinge lenghts at the element ends.  Two-point Gauss integration is used on the element interior while two-point Gauss-Radau integration is applied over lengths of 4LpI and 4LpJ at the element ends, viz. "modified Gauss-Radau plastic hinge integration".  A total of six integration points are used in the element state determination (two for each hinge and two for the interior).


For 2D:
Users may be familiar with the beamWithHinges command format (see below); however, the format shown here allows for the simple but important case of using a material nonlinear section model on the element interior.  The previous beamWithHinges command constrained the user to an elastic interior, which often led to unconservative estimates of the element resisting force when plasticity spread beyond the plastic hinge regions in to the element interior. 
 
{|
| style="background:yellow; color:black; width:800px" | '''element beamWithHinges $eleTag $iNode $jNode $secTagI $Lpi $secTagJ $Lpj $E $A $Iz $transfTag <-mass $massDens> <-iter $maxIters $tol>'''
|}


For 3D:
The advantages of this new format over the previous '''beamWithHinges''' command are
* Plasticity can spread beyond the plastic hinge regions
* Hinges can form on the element interior, e.g., due to distributed member loads


{|  
{|  
| style="background:yellow; color:black; width:800px" | '''element beamWithHinges $eleTag $iNode $jNode $secTagI $Lpi $secTagJ $Lpj $E $A $Iz $Iy $G $J $transfTag <-mass $massDens> <-iter $maxIters $tol>'''
| style="background:yellow; color:black; width:800px" | '''element forceBeamColumn $eleTag $iNode $jNode $transfTag "HingeRadau $secTagI $LpI $secTagJ $LpJ $secTagInterior" <-mass $massDens> <-iter $maxIters $tol>'''
|}
|}
----




Line 22: Line 17:
|  style="width:150px" | '''$eleTag''' || unique element object tag
|  style="width:150px" | '''$eleTag''' || unique element object tag
|-
|-
|'''$iNode $jNode''' || end nodes
|'''$iNode $jNode''' || nodes at element ends I and J, respectively
|-
| '''$secTagI''' || identifier for previously-defined section object at node $iNode
|-
| '''$LpI''' || plastic hinge length at end i
|-
| '''$secTagJ ...''' || identifier for previously-defined section object at node $iNode
|-
|-
| '''$LpJ''' || plastic hinge length at node j
| '''$secTagI''' || identifier for previously-defined section object at end I
|-
|-
| '''$E ''' || Youngs modulus elastic portion
| '''$LpI''' || plastic hinge length at end I
|-
| '''$A''' || Area for elastic portion
|-
|-
| '''$Iy ''' || second moment of area for elastic portion about local y
| '''$secTagJ''' || identifier for previously-defined section object at end J
|-
|-
| '''$Iz ''' || second moment of area for elastic portion about local z
| '''$LpJ''' || plastic hinge length at end J
|-
|-
| '''$G''' || torsional moment of inertia of cross section for elastic portion
| '''$secTagInterior''' || identifier for previously-defined section object on the element interior (can be an type of section, including fiber)
|-  
| '''$J''' || Shear Modulus of elastic portion.
|-
|-
| '''$transfTag''' || identifier for previously-defined coordinate-transformation  
| '''$transfTag''' || identifier for previously-defined coordinate-transformation  
Line 49: Line 34:
|-
|-
| '''$tol''' ||tolerance for satisfaction of element compatibility (optional, default=10-16)
| '''$tol''' ||tolerance for satisfaction of element compatibility (optional, default=10-16)
|-
| '''$intType''' || numerical integration type, options are Lobatto, Legendre, Radau, NewtonCotes, Trapezoidal (optional, default= Lobatto)
|}
|}


NOTE: The keyword '''HingeRadau''' can be changed to one of the following in order to use a different hinge integration approach:
* '''HingeRadau''' -- two-point Gauss-Radau applied to the hinge regions over 4LpI and 4LpJ (six element integration points)
* '''HingeRadauTwo''' -- two-point Gauss-Radau in the hinge regions applied over LpI and LpJ (six element integration points)
* '''HingeMidpoint''' -- midpoint integration over the hinge regions (four element integration points)
* '''HingeEndpoint''' -- endpoint integration over the hinge regions (four element integration points)
For more information on the behavior, advantages, and disadvantages of these approaches to plastic hinge integration, see


NOTE:
Scott, M.H. and G.L. Fenves. "[http://dx.doi.org/10.1061/(ASCE)0733-9445(2006)132:2(244) Plastic Hinge Integration Methods for Force-Based Beam-Column Elements]", Journal of Structural Engineering, 132(2):244-252, February 2006.


# The beamWithHinges element localize plastic hinging at the element ends only.
The primary advantages of '''HingeRadau''' are
# The valid queries to a nonlinear beam-column element when creating an ElementRecorder object are:
* The user can specify a physically meaningful plastic hinge length
#The valid responses that an element of this type will respond to are:
* The largest bending moment is captured at the element ends
## forces or globalForces
* The exact numerical solution is recovered for a linear-elastic prismatic beam
## localForces
* The characteristic length is equal to the user-specified plastic hinge length when deformations localize at the element ends
## basicForces
while the primary disadvantages are
## section $sectionTag $arg1 $arg2 ...
* The element post-yield response is too flexible for strain-hardening section response (consider using '''HingeRadauTwo''')
## basicDeformations
* The user needs to know the plastic hinge length ''a priori'' (empirical equations are available)
## plasticDeformations
## inflectionPoint
## tangentDrift
## integrationPoints
## integrationWeights
# The section at endI corresponds to section number 1, and the section at end j corresponds to section number 6.


----
----




DISCUSSION:
Original command (maintained for backward compatibility)


Behind the scenes, the element is actually a ForceBeamColumn with nonlinear user defined sections and elastic sections and some clever numerical integration. The implementation divides the element in three parts: two hinges at the ends, and a linear-elastic region in the middle. The hinges are defined by assigning to each a previously-defined section. The length of the each hinge is also specified by the user:
For 2D:


[[Image:BeamWithHinges1.gif]]
{|
| style="background:yellow; color:black; width:800px" | '''element beamWithHinges $eleTag $iNode $jNode $secTagI $Lpi $secTagJ $Lpj $E $A $Iz $transfTag <-mass $massDens> <-iter $maxIters $tol>'''
|}


While the integration of distributed-plasticity force-base elements distributes the gauss points along the entire element length, the beamWithHinges element localizes the integration points in the hinge regions. Two integration points per hinge are used to be able represent the curvature distribution accurately -- Gauss-Radau Integration:
For 3D:


[[Image:BeamWithHinges2.gif]]
{|
| style="background:yellow; color:black; width:800px" | '''element beamWithHinges $eleTag $iNode $jNode $secTagI $Lpi $secTagJ $Lpj $E $A $Iz $Iy $G $J $transfTag <-mass $massDens> <-iter $maxIters $tol>'''
|}


Two integration points per hinge, however, require too much computational overhead. A Modified Gauss-Radau Integration, developed by Scott et al., would apply the Gauss-Radau hinge integration over 4Lp instead of Lp. Elastic properties are then applied to the interior integration points, where a closed-form solution is used:


[[Image:BeamWithHinges3.gif]]
All inputs are the same as above, with the following additional inputs, which are used solely to create a "dummy" elastic section at the two Gauss integration points of the element interior


There are many advantages to this formulation over the standard forceBeamColumnelement:
{|
    # Nonlinear behavior is confined to the integration points at the element ends.
|  style="width:150px" | '''$E ''' || Youngs modulus elastic portion
    # The user only needs to specify the length of each hinge.
|-
    # Captures largest bending moment at the ends.
| '''$A''' || Area for elastic portion
    # Represents linear curvature distributions exactly.
|-
    # Characteristic length is equal to Lp when deformations localize.
| '''$Iy ''' || second moment of area for elastic portion about local y
|-
| '''$Iz ''' || second moment of area for elastic portion about local z
|-
| '''$G''' || torsional moment of inertia of cross section for elastic portion
|-
| '''$J''' || Shear Modulus of elastic portion.
|}




NOTE:


EXAMPLE:
The valid responses that an element of this type will respond to when creating an element recorder are:
# forces or globalForces
# localForces
# basicForces
# section $sectionTag $arg1 $arg2 ...
# basicDeformations
# plasticDeformations
# inflectionPoint
# tangentDrift
# integrationPoints
# integrationWeights
# The section at end I corresponds to section number 1, and the section at end J corresponds to section number 6 (or 4).
 
 
----




REFERENCES:
REFERENCES:


Scott, M.H. and G.L. Fenves. "Plastic Hinge Integration Methods for Force-Based Beam-Column Elements", Journal of Structural Engineering, ASCE, 132(2):244-252, February 2006.
Scott, M.H. and G.L. Fenves. "[http://dx.doi.org/10.1061/(ASCE)0733-9445(2006)132:2(244) Plastic Hinge Integration Methods for Force-Based Beam-Column Elements]", Journal of Structural Engineering, 132(2):244-252, February 2006.


----
----




Code Developed by: <span style="color:blue"> Micheal Scott, Oregon State University </span>
Code maintained by: [http://web.engr.oregonstate.edu/~mhscott Michael H. Scott, Oregon State University]

Revision as of 17:51, 30 August 2013




This command is used to construct a forceBeamColumn element object, which is based on the non-iterative (or iterative) flexibility formulation. The locations and weights of the element integration points are based on so-called plastic hinge integration, which allows the user to specify plastic hinge lenghts at the element ends. Two-point Gauss integration is used on the element interior while two-point Gauss-Radau integration is applied over lengths of 4LpI and 4LpJ at the element ends, viz. "modified Gauss-Radau plastic hinge integration". A total of six integration points are used in the element state determination (two for each hinge and two for the interior).

Users may be familiar with the beamWithHinges command format (see below); however, the format shown here allows for the simple but important case of using a material nonlinear section model on the element interior. The previous beamWithHinges command constrained the user to an elastic interior, which often led to unconservative estimates of the element resisting force when plasticity spread beyond the plastic hinge regions in to the element interior.

The advantages of this new format over the previous beamWithHinges command are

  • Plasticity can spread beyond the plastic hinge regions
  • Hinges can form on the element interior, e.g., due to distributed member loads
element forceBeamColumn $eleTag $iNode $jNode $transfTag "HingeRadau $secTagI $LpI $secTagJ $LpJ $secTagInterior" <-mass $massDens> <-iter $maxIters $tol>


$eleTag unique element object tag
$iNode $jNode nodes at element ends I and J, respectively
$secTagI identifier for previously-defined section object at end I
$LpI plastic hinge length at end I
$secTagJ identifier for previously-defined section object at end J
$LpJ plastic hinge length at end J
$secTagInterior identifier for previously-defined section object on the element interior (can be an type of section, including fiber)
$transfTag identifier for previously-defined coordinate-transformation
$maxIters maximum number of iterations to undertake to satisfy element compatibility (optional, default=1)
$tol tolerance for satisfaction of element compatibility (optional, default=10-16)

NOTE: The keyword HingeRadau can be changed to one of the following in order to use a different hinge integration approach:

  • HingeRadau -- two-point Gauss-Radau applied to the hinge regions over 4LpI and 4LpJ (six element integration points)
  • HingeRadauTwo -- two-point Gauss-Radau in the hinge regions applied over LpI and LpJ (six element integration points)
  • HingeMidpoint -- midpoint integration over the hinge regions (four element integration points)
  • HingeEndpoint -- endpoint integration over the hinge regions (four element integration points)

For more information on the behavior, advantages, and disadvantages of these approaches to plastic hinge integration, see

Scott, M.H. and G.L. Fenves. "Plastic Hinge Integration Methods for Force-Based Beam-Column Elements", Journal of Structural Engineering, 132(2):244-252, February 2006.

The primary advantages of HingeRadau are

  • The user can specify a physically meaningful plastic hinge length
  • The largest bending moment is captured at the element ends
  • The exact numerical solution is recovered for a linear-elastic prismatic beam
  • The characteristic length is equal to the user-specified plastic hinge length when deformations localize at the element ends

while the primary disadvantages are

  • The element post-yield response is too flexible for strain-hardening section response (consider using HingeRadauTwo)
  • The user needs to know the plastic hinge length a priori (empirical equations are available)


Original command (maintained for backward compatibility)

For 2D:

element beamWithHinges $eleTag $iNode $jNode $secTagI $Lpi $secTagJ $Lpj $E $A $Iz $transfTag <-mass $massDens> <-iter $maxIters $tol>

For 3D:

element beamWithHinges $eleTag $iNode $jNode $secTagI $Lpi $secTagJ $Lpj $E $A $Iz $Iy $G $J $transfTag <-mass $massDens> <-iter $maxIters $tol>


All inputs are the same as above, with the following additional inputs, which are used solely to create a "dummy" elastic section at the two Gauss integration points of the element interior

$E Youngs modulus elastic portion
$A Area for elastic portion
$Iy second moment of area for elastic portion about local y
$Iz second moment of area for elastic portion about local z
$G torsional moment of inertia of cross section for elastic portion
$J Shear Modulus of elastic portion.


NOTE:

The valid responses that an element of this type will respond to when creating an element recorder are:

  1. forces or globalForces
  2. localForces
  3. basicForces
  4. section $sectionTag $arg1 $arg2 ...
  5. basicDeformations
  6. plasticDeformations
  7. inflectionPoint
  8. tangentDrift
  9. integrationPoints
  10. integrationWeights
  11. The section at end I corresponds to section number 1, and the section at end J corresponds to section number 6 (or 4).




REFERENCES:

Scott, M.H. and G.L. Fenves. "Plastic Hinge Integration Methods for Force-Based Beam-Column Elements", Journal of Structural Engineering, 132(2):244-252, February 2006.



Code maintained by: Michael H. Scott, Oregon State University