Issue with ForceBeamColumn element and convergence

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
SINHA
Posts: 12
Joined: Tue May 02, 2017 10:47 pm
Location: IIT Roorkee

Issue with ForceBeamColumn element and convergence

Post by SINHA » Thu Mar 15, 2018 10:56 pm

Hello,

I have modelled a rectangular column element with fiber section (column height is 2m) and 'forceBeamColumn' element (shown below). At the time of dynamic analysis it shows error mentioned below but i have analysed same model with 'elasticBeamColumn' element it runs smoothly without any error.

## Sample Code (creating column elements)


# Define materials for nonlinear columns
# ------------------------------------------
# CONCRETE tag f'c ec0 f'cu ecu
# Core concrete (confined)
uniaxialMaterial Concrete01 1 -40.0e6 -0.004 -30.0e6 -0.02

# Cover concrete (unconfined)
uniaxialMaterial Concrete01 2 -40.0e6 -0.004 0.0 -0.006

# STEEL
# Reinforcing steel
set fy [expr 1.25*415e6]; # Yield stress
set Es 200e9; # Young's modulus
set dia 25e-3; # Diameter of the Reinforcing bar
set steelTagCol 3;
# tag fy E0 b
uniaxialMaterial Steel01 $steelTagCol $fy $Es $dia

# Define cross-section for nonlinear columns
# set some paramaters
set colWidth 0.5;
set colDepth 0.5;

set pi [expr 2.0*asin(1.0)];
set cover 0.05;
set d 0.025;
set As [expr ($pi/4)*(pow($d,2))]; ; # area of no. 1 bars

## C/S properties
set Mu 0.15; # Poisson's Ratio of concrete
set Ec 30e9; # Modulus of elasticity of concrete
set A_Col [expr $colWidth*$colDepth]; # Area of the Girder section
set IzC [expr ($colWidth*pow($colDepth,3))/12]; # MOI of the Girder section w.r.t. local Z axis
set IyC [expr ($colDepth*pow($colWidth,3))/12]; # MOI of the Girder section w.r.t. local Y axis
set JC [expr $colDepth*pow($colWidth,3)*((1/3)-(0.21*($colWidth/$colDepth)*(1-(pow($colWidth,4)/(pow($colDepth,4)*12)))))]; # Torsional MOI of rectangular section
set GC [expr ($Ec/(2*(1+$Mu)))]; # Shear Modulas of the section

set secIDCol 1; # section tag for section fibre

# some variables derived from the parameters
set y1 [expr $colDepth/2.0]
set z1 [expr $colWidth/2.0]

section Fiber $secIDCol -GJ [expr $GC*$JC] {

# Create the concrete core fibers
patch rect 1 10 10 [expr $cover-$y1] [expr $cover-$z1] [expr $y1-$cover] [expr $z1-$cover]

# Create the concrete cover fibers (top, bottom, left, right)
patch rect 2 10 5 [expr -$y1] [expr $z1-$cover] $y1 $z1
patch rect 2 10 5 [expr -$y1] [expr -$z1] $y1 [expr $cover-$z1]
patch rect 2 5 1 [expr -$y1] [expr $cover-$z1] [expr $cover-$y1] [expr $z1-$cover]
patch rect 2 5 1 [expr $y1-$cover] [expr $cover-$z1] $y1 [expr $z1-$cover]

# Create the reinforcing fibers (left, middle, right)
layer straight 3 3 $As [expr $y1-$cover] [expr $z1-$cover] [expr $y1-$cover] [expr $cover-$z1]
layer straight 3 2 $As 0.0 [expr $z1-$cover] 0.0 [expr $cover-$z1]
layer straight 3 3 $As [expr $cover-$y1] [expr $z1-$cover] [expr $cover-$y1] [expr $cover-$z1]

}

# set up geometric transformation of element
#set LinTransf 1;
set ColTransfTag 1;
geomTransf PDelta $ColTransfTag 0 0 1; # PDelta Transformation

# Setup Plastic hinge Properties

set Lpi 0.35; # Length of plastic Hinge at 'ith' end.
set Lpj 0.35; # Length of plastic hinge at 'jth' end.
set intgrPts 6;

# Define Column elements

set iColumn ""
set N0col [expr 10000]; # column element numbers
set level 0

for {set frame 1} {$frame <=[expr $NFrame]} {incr frame 1} {

for {set level 1} {$level <= [expr $ReqdFloors-1]} {incr level 1} {
for {set pier 1} {$pier <= [expr $NBayZ+1]} {incr pier 1} {
set elemID [expr $N0col +$level*$Dlevel + $frame*$Dframe+$pier]
set NodeI [expr $level*$Dlevel + $frame*$Dframe+$pier]
set NodeJ [expr ($level+1)*$Dlevel + $frame*$Dframe+$pier]

#element nonlinearBeamColumn $elemID $NodeI $NodeJ $intgrPts $secIDCol $ColTransfTag -intregation Legendre; # columns
element forceBeamColumn $elemID $NodeI $NodeJ $ColTransfTag HingeRadau $secIDCol $Lpi $secIDCol $Lpj $secIDCol;
#element forceBeamColumn $elemID $NodeI $NodeJ $intgrPts $secIDCol $ColTransfTag;
#element elasticBeamColumn $elemID $NodeI $NodeJ $A_Col $Ec $GC $JC $IyC $IzC $ColTransfTag;
}
}
}

##########....................################..................###############
The above 4 types of elements I have tried for column element.

## warnings and errors

WARNING - ForceBeamColumn3d::update - failed to get compatible element forces & deformations for element: 20501(dW: << 0.0104173, dW0: 30936)
WARNING - ForceBeamColumn3d::update - failed to get compatible element forces & deformations for element: 20601(dW: << 0.0083161, dW0: 48321.2)
WARNING - ForceBeamColumn3d::update - failed to get compatible element forces & deformations for element: 20604(dW: << 0.000708733, dW0: 536217)
WARNING - ForceBeamColumn3d::update - failed to get compatible element forces & deformations for element: 30603(dW: << 0.000124699, dW0: 44481.4)
Domain::update - domain failed in update
Newmark::update() - failed to update the domain
WARNING AcceleratedNewton::solveCurrentStep() -the Integrator failed in update()
DirectIntegrationAnalysis::analyze() - the Algorithm failed at time 2.915
OpenSees > analyze failed, returned: -3 error flag
WARNING - ForceBeamColumn3d::update - failed to get compatible element forces & deformations for element: 20603(dW: << -0.00284286, dW0: 1.84258e+06)
Domain::update - domain failed in update
Newmark::update() - failed to update the domain
WARNING ModifiedNewton::solveCurrentStep() -the Integrator failed in update()
DirectIntegrationAnalysis::analyze() - the Algorithm failed at time 2.915
OpenSees > analyze failed, returned: -3 error flag
Trying Newton with Initial Tangent ..
WARNING: CTestNormDispIncr::test() - failed to converge
after: 10000 iterations current Norm: 0.0153696 (max: 1e-06, Norm deltaR: 220884)
NewtnRaphson::solveCurrentStep() -the ConvergenceTest object failed in test()
DirectIntegrationAnalysis::analyze() - the Algorithm failed at time 2.915
OpenSees > analyze failed, returned: -3 error flag
Trying Broyden ..
WARNING: CTestEnergyIncr::test() - failed to converge
after: 10 iterations
current EnergyIncr: 152.941 (max: 1e-06) Norm deltaX: 0.00521755, Norm deltaR: 706612
WARNING - ForceBeamColumn3d::update - failed to get compatible element forces & deformations for element: 20601(dW: << 207490, dW0: -323156)
WARNING - ForceBeamColumn3d::update - failed to get compatible element forces & deformations for element: 20603(dW: << 3.22026e+06, dW0: -323007)
Domain::update - domain failed in update
Newmark::update() - failed to update the domain
WARNING ModifiedNewton::solveCurrentStep() -the Integrator failed in update()
DirectIntegrationAnalysis::analyze() - the Algorithm failed at time 2.9175
OpenSees > analyze failed, returned: -3 error flag

####.......................#############......................########

and after few time steps analysis failed. please help with this issue why this is happening and how to rectify it?? :?: :?: :roll: :roll:

Thank You

fmk
Site Admin
Posts: 5883
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Issue with ForceBeamColumn element and convergence

Post by fmk » Sat Mar 17, 2018 8:37 pm

of course it runs smoothly with an elastic element! .. the issue is happening because the force beam column needs to iterate to find equilibrium after the nodal displacements have been set .. i suggest you look at the theory of the element to see what it does before you actually use it ( http://opensees.berkeley.edu/wiki/index ... mn_Element) .. an element that requires no iteration is the dispBeamColumn element.

Post Reply