error message: SectionAggregator: getSectionFlexibility
Moderators: silvia, selimgunay, Moderators
error message: SectionAggregator: getSectionFlexibility
Hi,
I am trying to build a SDOF (one bay-one story; two rigid columns+one beamwithhinges element) for spectra. I applied [uniaxialmateral:pinching for Mz and elastic section for P] to hinge parts of the beamwithhinges element. I changed mass for different period; however, when the period was larger than 1.7 seconds, then there was warning shown as: [SectionAggregator: : getSectionFlexibility - - singular section stiffness].
Could somebody have experience about this message meaning and help me how to solve this problem?
Thank you very much in advance.
I am trying to build a SDOF (one bay-one story; two rigid columns+one beamwithhinges element) for spectra. I applied [uniaxialmateral:pinching for Mz and elastic section for P] to hinge parts of the beamwithhinges element. I changed mass for different period; however, when the period was larger than 1.7 seconds, then there was warning shown as: [SectionAggregator: : getSectionFlexibility - - singular section stiffness].
Could somebody have experience about this message meaning and help me how to solve this problem?
Thank you very much in advance.
Dear Silvia,
Thanks for your reply:) I tried to debug from the very beginning and I found the SDOF even had the same problem under gravity loading test. Below is my code and I hope you experienced experts could help me figure out what wrong it might be:
# --------------------------------------------------------------------------------------------------
# SDOF RC Frame-- Build Model
# nonlinearBeamColumn element, elastic and pinch section
#
# ^Y
# |
# 3_________(3)______________ 4 ___
# | | |
# | | |
# | | |
# (1) (2) LCol
# | | |
# | | |
# | | |
# =1= =2= _|_ -------->X
# |----------LBeam------------|
#
# SET UP ----------------------------------------------------------------------------
wipe; # clear memory of all past model definitions
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
set dataDir Data; # set up name of data directory
file mkdir $dataDir; # create data directory
set GMdir "GMfiles"; # ground-motion file directory
source LibUnits.tcl; # define basic and system units
# define GEOMETRY -------------------------------------------------------------
set LCol [expr 12*$ft]; # column length
set LBeam [expr 24*$ft]; # beam length
set Mass [expr pow($DMass/57.73,2)];
set Weight [expr $Mass*$g*$kip]; # superstructure weight
# define section geometry
set HCol [expr 14.*$in]; # Column Depth
set BCol [expr 14.*$in]; # Column Width
set HBeam [expr 14.*$in]; # Beam Depth
set BBeam [expr 6.*$in]; # Beam Width
# calculated parameters
set PCol [expr $Weight/2]; # nodal dead-load weight per column
set MCol [expr 1./12.*($Weight/$LBeam)*pow($LBeam,2)]; # beam-end moment due to distributed load.
# calculated geometry parameters
set ACol [expr $BCol*$HCol]; # cross-sectional area
set ABeam [expr $BBeam*$HBeam];
set IzCol [expr 1./12.*$BCol*pow($HCol,3)]; # Column moment of inertia
set IzBeam [expr 1./12.*$BBeam*pow($HBeam,3)]; # Beam moment of inertia
# nodal coordinates:
node 1 0 0; # node#, X, Y
node 2 $LBeam 0
node 3 0 $LCol
node 4 $LBeam $LCol
# Single point constraints -- Boundary Conditions
fix 1 1 1 0; # node DX DY RZ
fix 2 1 1 0; # node DX DY RZ
fix 3 0 0 0
fix 4 0 0 0
# nodal masses:
mass 3 $Mass 0 0; # node#, Mx My Mz, Mass=Weight/g, neglect rotational inertia at nodes
mass 4 $Mass 0 0;
# Define ELEMENTS & SECTIONS -------------------------------------------------------------
set ColSecTag 1; # assign a tag number to the column section
set BeamSecTag 2; # assign a tag number to the beam section
# MATERIAL parameters -------------------------------------------------------------------
set Pinch 1; # material ID tag -- reinforcement
# nominal concrete compressive strength
set fc [expr -0.5*$ksi]; # CONCRETE Compressive Strength, ksi (+Tension, -Compression)
set Ec [expr 57*$ksi*sqrt(-$fc/$psi)]; # Concrete Elastic Modulus
# -----------
set My [expr 522.*$kip*$in]; # yield moment
set Ke [expr 52200.*10.5*$kip/$in]; # effective stiffness
set epsY [expr $My/$Ke]; # yield curvature
set My1 [expr 1.2*$My*$kip*$in]; # moment post-yield
set epsY1 [expr 0.037/10.5]; # curvature post-yield
set Mu [expr 0.1*$kip*$in]; # ultimate moment
set epsU [expr 0.127/10.5]; # ultimate curvature
set pinchX 0.8; # pinching parameter for hysteretic model
set pinchY 0.5; # pinching parameter for hysteretic model
set damage1 0.03; # damage parameter for hysteretic model
set damage2 0.15; # damage parameter for hysteretic model
set betaMUsteel 0.0; # degraded unloading stiffness for hysteretic material based on MU^(-beta)
uniaxialMaterial Pinching $Pinch $Ke $My -$My 0.074 0.01 -0.132 $epsY1 -$epsY1 0.5 0.5 0.5 54. 54. 54. 54. 1. 1. 1. 1.; # hysteritic reinforcemnet model
# Column section:
section Elastic $ColSecTag 1.e6 1.e6 1.e6; # elastic column section
# Beam Hysteretic section:
section Aggregator $BeamSecTag $ColSecTag P $Pinch Mz ;
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
set ColTransfTag 1; # associate a tag to column transformation
set BeamTransfTag 2; # associate a tag to beam transformation (good practice to keep col and beam separate)
set ColTransfType PDelta ; # options, Linear PDelta Corotational
geomTransf $ColTransfType $ColTransfTag ; # only columns can have PDelta effects (gravity effects)
geomTransf Linear $BeamTransfTag ;
# element connectivity:
set numIntgrPts 5; # number of integration points for force-based element
element nonlinearBeamColumn 1 1 3 $numIntgrPts $ColSecTag $ColTransfTag; # self-explanatory when using variables
element nonlinearBeamColumn 2 2 4 $numIntgrPts $ColSecTag $ColTransfTag;
element beamWithHinges 3 3 4 $BeamSecTag 10.5 $BeamSecTag 10.5 $Ec $ABeam $IzBeam $BeamTransfTag;
# ------------PeriodFreq&Damping.tcl-----------------------------------------------------------------
# determine Natural Period, Frequency & damping parameters for SDOF
set xDamp 0.02; # damping ratio (0.02-0.05-typical)
set lambda [eigen 1]
set omega [expr pow($lambda,0.5)]
set Tperiod [expr 2*$PI/$omega]; # period (sec.)
puts $Tperiod
set alphaM 0; # stiffness-prop. RAYLEIGH damping parameter; D = alphaM*M
set betaK 0; # stiffness proportional damping; +beatK*KCurrent
set betaKcomm [expr 2*$xDamp/$omega]; # mass-prop. RAYLEIGH damping parameter; +betaKcomm*KlastCommitt
set betaKinit 0; # initial-stiffness proportional damping +beatKinit*Kini
# Define RECORDERS -------------------------------------------------------------
recorder EnvelopeNode -file $dataDir/Sd$DMass.out -node 3 -dof 1 disp;
recorder EnvelopeNode -file $dataDir/Sa$DMass.out -node 3 -dof 1 accel;
recorder Node -file $dataDir/DFree.out -time -node 3 4 -dof 1 2 3 disp; # displacements of free nodes
recorder Node -file $dataDir/DBase.out -time -node 1 2 -dof 1 2 3 disp; # displacements of support nodes
recorder Node -file $dataDir/RBase.out -time -node 1 2 -dof 1 2 3 reaction; # support reaction
recorder Drift -file $dataDir/Drift.out -time -iNode 1 2 -jNode 3 4 -dof 1 -perpDirn 2 ; # lateral drift
recorder Element -file $dataDir/FCol.out -time -ele 1 2 globalForce; # element forces -- column
recorder Element -file $dataDir/FBeam.out -time -ele 3 globalForce; # element forces -- beam
recorder Element -file $dataDir/ForceColSec1.out -time -ele 1 2 section 1 force; # Column section forces, axial and moment, node i
recorder Element -file $dataDir/DefoColSec1.out -time -ele 1 2 section 1 deformation; # section deformations, axial and curvature, node i
recorder Element -file $dataDir/ForceColSec$numIntgrPts.out -time -ele 1 2 section $numIntgrPts force; # section forces, axial and moment, node j
recorder Element -file $dataDir/DefoColSec$numIntgrPts.out -time -ele 1 2 section $numIntgrPts deformation; # section deformations, axial and curvature, node j
recorder Element -file $dataDir/ForceBeamSec1.out -time -ele 3 section 1 force; # Beam section forces, axial and moment, node i
recorder Element -file $dataDir/DefoBeamSec1.out -time -ele 3 section 1 deformation; # section deformations, axial and curvature, node i
recorder Element -file $dataDir/ForceBeamSec$numIntgrPts.out -time -ele 3 section $numIntgrPts force; # section forces, axial and moment, node j
recorder Element -file $dataDir/DefoBeamSec$numIntgrPts.out -time -ele 3 section $numIntgrPts deformation; # section deformations, axial and curvature, node j
# define GRAVITY -------------------------------------------------------------
set WzBeam [expr $Weight/$LBeam];
pattern Plain 1 Linear {
eleLoad -ele 3 -type -beamUniform -$WzBeam ; # distributed superstructure-weight on beam
}
# Gravity-analysis parameters -- load-controlled static analysis
set Tol 1.0e-8; # convergence tolerance for test
constraints Plain; # how it handles boundary conditions
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
system BandGeneral; # how to store and solve the system of equations in the analysis
test NormDispIncr $Tol 6 ; # determine if convergence has been achieved at the end of an iteration step
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
set NstepGravity 10; # apply gravity in 10 steps
set DGravity [expr 1./$NstepGravity]; # first load increment;
integrator LoadControl $DGravity; # determine the next time step for an analysis
analysis Static; # define type of analysis static or transient
analyze $NstepGravity; # apply gravity
# ------------------------------------------------- maintain constant gravity loads and reset time to zero
loadConst -time 0.0
puts "Model Built"
Thanks for your reply:) I tried to debug from the very beginning and I found the SDOF even had the same problem under gravity loading test. Below is my code and I hope you experienced experts could help me figure out what wrong it might be:
# --------------------------------------------------------------------------------------------------
# SDOF RC Frame-- Build Model
# nonlinearBeamColumn element, elastic and pinch section
#
# ^Y
# |
# 3_________(3)______________ 4 ___
# | | |
# | | |
# | | |
# (1) (2) LCol
# | | |
# | | |
# | | |
# =1= =2= _|_ -------->X
# |----------LBeam------------|
#
# SET UP ----------------------------------------------------------------------------
wipe; # clear memory of all past model definitions
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
set dataDir Data; # set up name of data directory
file mkdir $dataDir; # create data directory
set GMdir "GMfiles"; # ground-motion file directory
source LibUnits.tcl; # define basic and system units
# define GEOMETRY -------------------------------------------------------------
set LCol [expr 12*$ft]; # column length
set LBeam [expr 24*$ft]; # beam length
set Mass [expr pow($DMass/57.73,2)];
set Weight [expr $Mass*$g*$kip]; # superstructure weight
# define section geometry
set HCol [expr 14.*$in]; # Column Depth
set BCol [expr 14.*$in]; # Column Width
set HBeam [expr 14.*$in]; # Beam Depth
set BBeam [expr 6.*$in]; # Beam Width
# calculated parameters
set PCol [expr $Weight/2]; # nodal dead-load weight per column
set MCol [expr 1./12.*($Weight/$LBeam)*pow($LBeam,2)]; # beam-end moment due to distributed load.
# calculated geometry parameters
set ACol [expr $BCol*$HCol]; # cross-sectional area
set ABeam [expr $BBeam*$HBeam];
set IzCol [expr 1./12.*$BCol*pow($HCol,3)]; # Column moment of inertia
set IzBeam [expr 1./12.*$BBeam*pow($HBeam,3)]; # Beam moment of inertia
# nodal coordinates:
node 1 0 0; # node#, X, Y
node 2 $LBeam 0
node 3 0 $LCol
node 4 $LBeam $LCol
# Single point constraints -- Boundary Conditions
fix 1 1 1 0; # node DX DY RZ
fix 2 1 1 0; # node DX DY RZ
fix 3 0 0 0
fix 4 0 0 0
# nodal masses:
mass 3 $Mass 0 0; # node#, Mx My Mz, Mass=Weight/g, neglect rotational inertia at nodes
mass 4 $Mass 0 0;
# Define ELEMENTS & SECTIONS -------------------------------------------------------------
set ColSecTag 1; # assign a tag number to the column section
set BeamSecTag 2; # assign a tag number to the beam section
# MATERIAL parameters -------------------------------------------------------------------
set Pinch 1; # material ID tag -- reinforcement
# nominal concrete compressive strength
set fc [expr -0.5*$ksi]; # CONCRETE Compressive Strength, ksi (+Tension, -Compression)
set Ec [expr 57*$ksi*sqrt(-$fc/$psi)]; # Concrete Elastic Modulus
# -----------
set My [expr 522.*$kip*$in]; # yield moment
set Ke [expr 52200.*10.5*$kip/$in]; # effective stiffness
set epsY [expr $My/$Ke]; # yield curvature
set My1 [expr 1.2*$My*$kip*$in]; # moment post-yield
set epsY1 [expr 0.037/10.5]; # curvature post-yield
set Mu [expr 0.1*$kip*$in]; # ultimate moment
set epsU [expr 0.127/10.5]; # ultimate curvature
set pinchX 0.8; # pinching parameter for hysteretic model
set pinchY 0.5; # pinching parameter for hysteretic model
set damage1 0.03; # damage parameter for hysteretic model
set damage2 0.15; # damage parameter for hysteretic model
set betaMUsteel 0.0; # degraded unloading stiffness for hysteretic material based on MU^(-beta)
uniaxialMaterial Pinching $Pinch $Ke $My -$My 0.074 0.01 -0.132 $epsY1 -$epsY1 0.5 0.5 0.5 54. 54. 54. 54. 1. 1. 1. 1.; # hysteritic reinforcemnet model
# Column section:
section Elastic $ColSecTag 1.e6 1.e6 1.e6; # elastic column section
# Beam Hysteretic section:
section Aggregator $BeamSecTag $ColSecTag P $Pinch Mz ;
# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
set ColTransfTag 1; # associate a tag to column transformation
set BeamTransfTag 2; # associate a tag to beam transformation (good practice to keep col and beam separate)
set ColTransfType PDelta ; # options, Linear PDelta Corotational
geomTransf $ColTransfType $ColTransfTag ; # only columns can have PDelta effects (gravity effects)
geomTransf Linear $BeamTransfTag ;
# element connectivity:
set numIntgrPts 5; # number of integration points for force-based element
element nonlinearBeamColumn 1 1 3 $numIntgrPts $ColSecTag $ColTransfTag; # self-explanatory when using variables
element nonlinearBeamColumn 2 2 4 $numIntgrPts $ColSecTag $ColTransfTag;
element beamWithHinges 3 3 4 $BeamSecTag 10.5 $BeamSecTag 10.5 $Ec $ABeam $IzBeam $BeamTransfTag;
# ------------PeriodFreq&Damping.tcl-----------------------------------------------------------------
# determine Natural Period, Frequency & damping parameters for SDOF
set xDamp 0.02; # damping ratio (0.02-0.05-typical)
set lambda [eigen 1]
set omega [expr pow($lambda,0.5)]
set Tperiod [expr 2*$PI/$omega]; # period (sec.)
puts $Tperiod
set alphaM 0; # stiffness-prop. RAYLEIGH damping parameter; D = alphaM*M
set betaK 0; # stiffness proportional damping; +beatK*KCurrent
set betaKcomm [expr 2*$xDamp/$omega]; # mass-prop. RAYLEIGH damping parameter; +betaKcomm*KlastCommitt
set betaKinit 0; # initial-stiffness proportional damping +beatKinit*Kini
# Define RECORDERS -------------------------------------------------------------
recorder EnvelopeNode -file $dataDir/Sd$DMass.out -node 3 -dof 1 disp;
recorder EnvelopeNode -file $dataDir/Sa$DMass.out -node 3 -dof 1 accel;
recorder Node -file $dataDir/DFree.out -time -node 3 4 -dof 1 2 3 disp; # displacements of free nodes
recorder Node -file $dataDir/DBase.out -time -node 1 2 -dof 1 2 3 disp; # displacements of support nodes
recorder Node -file $dataDir/RBase.out -time -node 1 2 -dof 1 2 3 reaction; # support reaction
recorder Drift -file $dataDir/Drift.out -time -iNode 1 2 -jNode 3 4 -dof 1 -perpDirn 2 ; # lateral drift
recorder Element -file $dataDir/FCol.out -time -ele 1 2 globalForce; # element forces -- column
recorder Element -file $dataDir/FBeam.out -time -ele 3 globalForce; # element forces -- beam
recorder Element -file $dataDir/ForceColSec1.out -time -ele 1 2 section 1 force; # Column section forces, axial and moment, node i
recorder Element -file $dataDir/DefoColSec1.out -time -ele 1 2 section 1 deformation; # section deformations, axial and curvature, node i
recorder Element -file $dataDir/ForceColSec$numIntgrPts.out -time -ele 1 2 section $numIntgrPts force; # section forces, axial and moment, node j
recorder Element -file $dataDir/DefoColSec$numIntgrPts.out -time -ele 1 2 section $numIntgrPts deformation; # section deformations, axial and curvature, node j
recorder Element -file $dataDir/ForceBeamSec1.out -time -ele 3 section 1 force; # Beam section forces, axial and moment, node i
recorder Element -file $dataDir/DefoBeamSec1.out -time -ele 3 section 1 deformation; # section deformations, axial and curvature, node i
recorder Element -file $dataDir/ForceBeamSec$numIntgrPts.out -time -ele 3 section $numIntgrPts force; # section forces, axial and moment, node j
recorder Element -file $dataDir/DefoBeamSec$numIntgrPts.out -time -ele 3 section $numIntgrPts deformation; # section deformations, axial and curvature, node j
# define GRAVITY -------------------------------------------------------------
set WzBeam [expr $Weight/$LBeam];
pattern Plain 1 Linear {
eleLoad -ele 3 -type -beamUniform -$WzBeam ; # distributed superstructure-weight on beam
}
# Gravity-analysis parameters -- load-controlled static analysis
set Tol 1.0e-8; # convergence tolerance for test
constraints Plain; # how it handles boundary conditions
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
system BandGeneral; # how to store and solve the system of equations in the analysis
test NormDispIncr $Tol 6 ; # determine if convergence has been achieved at the end of an iteration step
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
set NstepGravity 10; # apply gravity in 10 steps
set DGravity [expr 1./$NstepGravity]; # first load increment;
integrator LoadControl $DGravity; # determine the next time step for an analysis
analysis Static; # define type of analysis static or transient
analyze $NstepGravity; # apply gravity
# ------------------------------------------------- maintain constant gravity loads and reset time to zero
loadConst -time 0.0
puts "Model Built"
Dear Silvia,
Thanks a lot for your reply.
I still have no idea what wrong it is even I changed mass to very low level. In addition, if I just delete the gravity load pattern and run dynamic analysis, then there were no warning messages while the period below 1.7s.
I found someone has the same message when using sectionaggregator with steel01 and Frank said that was caused by zero stiffness after yielding. In my case, there is still hardening after yielding and works fine under certain periods. I am wondering if anyone has good idea to fix this problem since this is very simple model though.
Thanks a lot in advance.
Thanks a lot for your reply.
I still have no idea what wrong it is even I changed mass to very low level. In addition, if I just delete the gravity load pattern and run dynamic analysis, then there were no warning messages while the period below 1.7s.
I found someone has the same message when using sectionaggregator with steel01 and Frank said that was caused by zero stiffness after yielding. In my case, there is still hardening after yielding and works fine under certain periods. I am wondering if anyone has good idea to fix this problem since this is very simple model though.
Thanks a lot in advance.
I am sorry that I forgot to mention Pinching materal was implemented by Dr. Altoontash (2004) for Dr. Ibarra's cyclic degradation model. In this model and Clough model, it is convenient to input My, Mp, yielding rotation, plastic rotation and cyclic degradation factor just depending on concrete section (Prof. Haselton's thesis and ATC63). If I used another material, then some transformation work for cyclic degradation parameter and other damage factors will be needed.
I think it may be a good idea to include them in the manual for the next edition.
I think it may be a good idea to include them in the manual for the next edition.
Thank you very much for your reply:)
1. I did use hysteretic material instead but another error message showed at certain period (even worse).
set pinchX 1.; # pinching parameter for hysteretic model
set pinchY 1.; # pinching parameter for hysteretic model
set damage1 0.; # damage parameter for hysteretic model
set damage2 0.; # damage parameter for hysteretic model
uniaxialMaterial Hysteretic $Pinch $My $epsY $My1 $epsY1 $Mu $epsU -$My -$epsY -$My1 -$epsY1 -$Mu -$epsU $pinchX $pinchY $damage1 $damage2 $betaMUsteel
error messages:
Waring: CTestEnergyIncr::test()-failed to converge after:10 interations
ModifiedNewton::solveCurrentStep()-the ConvergenceTest object failed in test()
DirectIntegrationAnalysis::analyze()- the Alogrithm failed at time
I really have no idea these problems are due to the model/main body code (shown above) or materials because I just combined the examples together and error occured only at certain My or period.
2. Yes, Pinching model is in the OPENSEEs 2.0 already
1. I did use hysteretic material instead but another error message showed at certain period (even worse).
set pinchX 1.; # pinching parameter for hysteretic model
set pinchY 1.; # pinching parameter for hysteretic model
set damage1 0.; # damage parameter for hysteretic model
set damage2 0.; # damage parameter for hysteretic model
uniaxialMaterial Hysteretic $Pinch $My $epsY $My1 $epsY1 $Mu $epsU -$My -$epsY -$My1 -$epsY1 -$Mu -$epsU $pinchX $pinchY $damage1 $damage2 $betaMUsteel
error messages:
Waring: CTestEnergyIncr::test()-failed to converge after:10 interations
ModifiedNewton::solveCurrentStep()-the ConvergenceTest object failed in test()
DirectIntegrationAnalysis::analyze()- the Alogrithm failed at time
I really have no idea these problems are due to the model/main body code (shown above) or materials because I just combined the examples together and error occured only at certain My or period.
2. Yes, Pinching model is in the OPENSEEs 2.0 already
you just failed to converge. your increment maybe too high, or your solution strategy won't work for that step.
THIS IS NORMAL!!
please look at the examples in the examples manual, look at the analysis part of the scripts, it shows you how to deal with convergence problems.
THIS IS NORMAL!!
please look at the examples in the examples manual, look at the analysis part of the scripts, it shows you how to deal with convergence problems.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104