element connectivity (+ pushover) problem

For posts concerning the documentation, errors, ommissions, general comments, etc.

Moderators: silvia, selimgunay, Moderators

Post Reply
toggi007
Posts: 38
Joined: Mon Jan 09, 2012 3:39 am
Location: Háskóli Íslands

element connectivity (+ pushover) problem

Post by toggi007 » Wed Feb 01, 2012 5:34 am

My model is a simply supported beam of reinforced concrete. I modeled it as a nonlinear element. I want to do a static pushover analysis by applying the load at the middle of the beam.
I am using Example 2. 2D cantilever column, static pushover as a reference. Now I have defined three nodes (at the ends and the middle). The two elements are the same...
When I run the analysis, opensees spits out "failed to get compatible element forces & deformations for element: 1<dW: << -1.#QNAN>" for both element 1 & 2.
The input file was working fine when I had just one element and the lateral load at the end node.
Can someone please help me one the matter?
here is the input file:

# --------------------------------------------------------------------------------------------------
# Example 2. 2D cantilever column, static pushover
# fiber section, nonlinearBeamColumn element
# Silvia Mazzoni & Frank McKenna, 2006
# Modified by Þorgeir Hólm Ólafsson
# To deal with bresler beam OA1
#
# ^Y
# |
# 2 __
# | |
# | |
# | |
# (1) LCol
# | |
# | |
# | |
# =1= _|_ -------->X
#

# SET UP ----------------------------------------------------------------------------
wipe; # clear memory of all past model definitions
file mkdir Data_OA1; # create data directory
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dof
source units_si.tcl
puts "units built"

# define GEOMETRY -------------------------------------------------------------
set LCol [expr 4100*$mm]; # column length, user defined
# define section geometry
set HCol [expr 556*$mm]; # Column Depth
set BCol [expr 310*$mm]; # Column Width
set MCol [expr $LCol/2]; # Distance to middle of column


# calculated parameters
set PCol $Weight; # nodal dead-load weight on column (N) due to superstrucure
set Mass [expr $PCol/$g]; # nodal mass

# calculated geometry parameters
set ACol [expr $BCol*$HCol]; # cross-sectional area
set IzCol [expr 1./12.*$BCol*pow($HCol,3)]; # Column moment of inertia

# nodal coordinates:
node 1 0 0; # node#, X, Y
node 2 0 $MCol;
node 3 0 $LCol;


# Single point constraints -- Boundary Conditions
fix 1 1 1 1; # node DX DY RZ
fix 3 1 0 1; # Roller


# Define ELEMENTS & SECTIONS -------------------------------------------------------------
set ColSecTag 1; # assign a tag number to the column section
# define section geometry
set Distbar1 [expr 64*$mm]; # Distance form column cover to reinforcing steel row 1 NA!
set Distbar2 [expr 62*$mm + $coverCol]; # Distance form column cover to reinforcing steel row 2 NA!
set numBarsColbot1 2; # number of longitudinal-reinforcement bars bottom lower
set numBarsColbot2 2; # number of longitudinal-reinforcement bars bottom upper
set barAreaCol [expr 645*$mm2]; # area of longitudinal-reinforcement bars


# MATERIAL parameters -------------------------------------------------------------------
set IDconcU 1; # material ID tag -- unconfined cover concrete
set IDreinf 2; # material ID tag -- reinforcement

# nominal concrete compressive strength
set fc [expr -22.6*$MPa]; # CONCRETE Compressive Strength (+Tension, -Compression)
set Ec [expr 8200*pow(-$fc,0.375)]; # Concrete Elastic Modulus (the term in sqr root needs to be in psi

# unconfined concrete
set fc1U $fc; # UNCONFINED concrete (todeschini parabolic model), maximum stress
set ftU [expr 3.97*$MPa]; # maximum tensile stress?
set ecU [expr -pow(-$fc1U,0.25)/28]; # strain at maximum strength of unconfined concrete
set etU [expr 2*($ftU)/$Ec]; # strain at maximum tensile strength of unconfined concrete

# Other properties for concrete07
set xpU 2;
set xnU 2.3;
set rU [expr $fc1U/5.2 -1.9];

# -----------
set Fy [expr 555*$MPa]; # STEEL yield stress
set Es [expr 190000*$MPa]; # modulus of steel
set Bs 0.01; # strain-hardening ratio
set R0 18; # control the transition from elastic to plastic branches
set cR1 0.925; # control the transition from elastic to plastic branches,recommended value
set cR2 0.15; # control the transition from elastic to plastic branches, recommended value
uniaxialMaterial Concrete07 $IDconcU $fc1U $ecU $Ec $ftU $etU $xpU $xnU $rU # build cover concrete (unconfined)
uniaxialMaterial Steel02 $IDreinf $Fy $Es $Bs $R0 $cR1 $cR2; # build reinforcement material

puts "material built"

# FIBER SECTION properties -------------------------------------------------------------
#
# y
# ^
# |
# --------------------- -
# | | |
# | | |
# | | | The local coordinate system
# z <--- | + | H
# | | |
# | o o |2 |
# | o o |1 -- cover
# --------------------- --
# |-------- B --------|
#
# RC section:
set coverY [expr $HCol/2.0]; # The distance from the section z-axis to the edge of the cover concrete -- outer edge of cover concrete
set coverZ [expr $BCol/2.0]; # The distance from the section y-axis to the edge of the cover concrete -- outer edge of cover concrete
set coreY1 [expr $coverY-$Distbar1]; # The distance from the z-axis to the first reinforcement layer
set coreY2 [expr $coverY-$Distbar2]; # The distance form the z-axis to the second (upper) reinforcement layer
set coreZ [expr $coverZ-$Distbar1]; # The distance from the y-axis to the reinforcement bar
set nfY 10; # number of fibers for concrete in y-direction
set nfZ 10; # number of fibers for concrete in z-direction

#patch quad $matTag $numSubdivIJ $numSubdivJK $yI $zI $yJ $zJ $yK $zK $yL $zL
#layer straight $matTag $numBars $areaBar $yStart $zStart $yEnd $zEnd
section fiberSec $ColSecTag {; # Define the fiber section
patch quadr $IDconcU $nfZ $nfY -$coverY $coverZ -$coverY -$coverZ $coverY -$coverZ $coverY $coverZ; # Define the concrete patch
layer straight $IDreinf $numBarsColbot1 $barAreaCol -$coreY1 $coreZ -$coreY1 -$coreZ; # first reinfocement layer (lower)
layer straight $IDreinf $numBarsColbot1 $barAreaCol -$coreY2 $coreZ -$coreY2 -$coreZ; # second reinforcement layer (upper)
}; # end of fibersection definition

puts "fibersection built"

# 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
geomTransf Linear $ColTransfTag ;

# element connectivity:
set numIntgrPts 20; # number of integration points for force-based element
element nonlinearBeamColumn 1 1 2 $numIntgrPts $ColSecTag $ColTransfTag; # self-explanatory when using variables
element nonlinearBeamColumn 2 2 3 $numIntgrPts $ColSecTag $ColTransfTag;

puts "This is not working?"

# Define RECORDERS -------------------------------------------------------------
#recorder Node -file Data/DFree.out -time -node 2 -dof 1 2 3 disp; # displacements of free nodes
#recorder Node -file Data/DBase.out -time -node 1 -dof 1 2 3 disp; # displacements of support nodes
#recorder Node -file Data/RBase.out -time -node 1 -dof 1 2 3 reaction; # support reaction
#recorder Drift -file Data/Drift.out -time -iNode 1 -jNode 2 -dof 1 -perpDirn 2 ; # lateral drift
#recorder Element -file Data/FCol.out -time -ele 2 globalForce; # element forces -- column
#recorder Element -file Data/ForceColSec1.out -time -ele 1 section 1 force; # Column section forces, axial and moment, node i
#recorder Element -file Data/DefoColSec1.out -time -ele 1 section 1 deformation; # section deformations, axial and curvature, node i
#recorder Element -file Data/ForceColSec$numIntgrPts.out -time -ele 1 section $numIntgrPts force; # section forces, axial and moment, node j
#recorder Element -file Data/DefoColSec$numIntgrPts.out -time -ele 1 section 1 deformation; # section deformations, axial and curvature, node j

# Pushover analysis ---------------------------------------------------------------------
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 1.0e-8 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
integrator LoadControl 0.1; # determine the next time step for an analysis, # apply gravity in 10 steps
analysis Static # define type of analysis static or transient

# define LATERAL load -------------------------------------------------------------
# Lateral load pattern
pattern Plain 1 Linear {
load 2 2000 0.0 0.0; # node#, FX FY MZ -- representative lateral load at middle node
}

# pushover: diplacement controlled static analysis
integrator DisplacementControl 2 1 0.1; # switch to displacement control, for node 11, dof 1, 0.1 increment
analyze 10 ; # apply 100 steps of pushover analysis to a displacement of 10

puts "Done!"

toggi007
Posts: 38
Joined: Mon Jan 09, 2012 3:39 am
Location: Háskóli Íslands

Re: element connectivity (+ pushover) problem

Post by toggi007 » Wed Feb 01, 2012 7:03 am

Found the problem:
# element connectivity:
# cannot handle > 10 integration points + odd
# so:
set numIntgrPts 10;

Does someone know why this is?

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

Re: element connectivity (+ pushover) problem

Post by fmk » Wed Feb 01, 2012 5:05 pm

it is built into the code .. there had to be some limit on the number of integration points allowed .. i have modified the code to put out an error message .. it will be in the next release.

toggi007
Posts: 38
Joined: Mon Jan 09, 2012 3:39 am
Location: Háskóli Íslands

Re: element connectivity (+ pushover) problem

Post by toggi007 » Mon Feb 06, 2012 9:48 am

Hi and thx four previous reply.
I am having convergence problems when doing my pushover analysis at certain higher loads, when I run the the input file, opensees spits out all sorts of ...error
Does anyone know why? plz help?
I am using concrete07 material with some recommended parameters from the web. Even at lower loads it gives much greater deflections than I´m aiming for (10 mm).
Even though the model parameters isn´t suited to the results I´m trying to reproduce, the program should give results for all the load steps?.
(I´m quite new to opensees)

Much appreciated if someone took a quick look.
The model is a simply supported beam with a concentrated pushover load in the middle of the beam.
here is the code:

# --------------------------------------------------------------------------------------------------
# Example 2. 2D cantilever column, static pushover
# fiber section, nonlinearBeamColumn element
# Silvia Mazzoni & Frank McKenna, 2006
# Modified by Þorgeir Hólm Ólafsson
# To deal with bresler beam OA1
#
#
# ^Y
# | setup
# |
#
# 1------2------3 -->x
# XX 00
# LCol
#
#

# SET UP ----------------------------------------------------------------------------
wipe; # clear memory of all past model definitions
file mkdir Data_OA1; # create data directory
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dof
source units_si.tcl
puts "units built"


# define GEOMETRY -------------------------------------------------------------
set LCol [expr 4100*$mm]; # column length, user defined
# define section geometry
set HCol [expr 556*$mm]; # Column Depth
set BCol [expr 310*$mm]; # Column Width
set MCol [expr $LCol/2]; # Distance to middle of column


# calculated parameters
#set PCol $Weight; # nodal dead-load weight on column (N) due to superstrucure
#set Mass [expr $PCol/$g]; # nodal mass

# calculated geometry parameters
set ACol [expr $BCol*$HCol]; # cross-sectional area
set IzCol [expr 1./12.*$BCol*pow($HCol,3)]; # Column moment of inertia

# nodal coordinates:
node 1 0 0; # node#, X, Y
node 2 $MCol 0;
node 3 $LCol 0;


# Single point constraints -- Boundary Conditions
fix 1 1 1 1; # node DX DY RZ
fix 3 0 1 1; # Roller


# Define ELEMENTS & SECTIONS -------------------------------------------------------------
set ColSecTag 1; # assign a tag number to the column section
# define section geometry
set Distbar1 [expr 64*$mm]; # Distance form column cover to reinforcing steel row 1 NA!
set Distbar2 [expr 62*$mm + $Distbar1]; # Distance form column cover to reinforcing steel row 2 NA!
set numBarsColbot1 2; # number of longitudinal-reinforcement bars bottom lower
set numBarsColbot2 2; # number of longitudinal-reinforcement bars bottom upper
set barAreaCol [expr 645*$mm2]; # area of longitudinal-reinforcement bars



# MATERIAL parameters -------------------------------------------------------------------
set IDconcU 1; # material ID tag -- unconfined cover concrete
set IDreinf 2; # material ID tag -- reinforcement

# nominal concrete compressive strength
set fc [expr -22.6*$MPa]; # CONCRETE Compressive Strength (+Tension, -Compression)
#set Ec [expr 8200*pow(-$fc,0.375)]; # Concrete Elastic Modulus (the term in sqr root needs to be in psi
set Ec [expr 36500*$MPa];


# unconfined concrete
set fc1U $fc; # UNCONFINED concrete (todeschini parabolic model), maximum stress
set ftU [expr -0.33*$fc1U]; # maximum tensile stress?
set ecU [expr -pow(-$fc1U,0.25)/28]; # strain at maximum compressive strength of unconfined concrete
set etU [expr 2*($ftU)/$Ec]; # strain at maximum tensile strength of unconfined concrete
#set ecU 0.002
#set etU 0.0005

puts $ecU
puts $etU

# Other properties for concrete07
set xpU 2;
set xnU 2.3;
set rU [expr 2*$fc1U/5.2 -1.9];

# -----------
set Fy [expr 555*$MPa]; # STEEL yield stress
set Es [expr 2180000*$MPa]; # modulus of steel
set Bs 0.01; # strain-hardening ratio
set R0 18; # control the transition from elastic to plastic branches
set cR1 0.925; # control the transition from elastic to plastic branches,recommended value
set cR2 0.15; # control the transition from elastic to plastic branches, recommended value
uniaxialMaterial Concrete07 $IDconcU $fc1U $ecU $Ec $ftU $etU $xpU $xnU $rU # build cover concrete (unconfined)
uniaxialMaterial Steel02 $IDreinf $Fy $Es $Bs $R0 $cR1 $cR2; # build reinforcement material

puts "material built"

# FIBER SECTION properties -------------------------------------------------------------
#
# y
# ^
# |
# --------------------- -
# | | |
# | | |
# | | | The local coordinate system
# z <--- | + | H
# | | |
# | o o |2 |
# | o o |1 -- cover
# --------------------- --
# |-------- B --------|
#
# RC section:
set coverY [expr $HCol/2.0]; # The distance from the section z-axis to the edge of the cover concrete -- outer edge of cover concrete
set coverZ [expr $BCol/2.0]; # The distance from the section y-axis to the edge of the cover concrete -- outer edge of cover concrete
set coreY1 [expr $coverY-$Distbar1]; # The distance from the z-axis to the first reinforcement layer
set coreY2 [expr $coverY-$Distbar2]; # The distance form the z-axis to the second (upper) reinforcement layer
set coreZ [expr $coverZ-$Distbar1]; # The distance from the y-axis to the reinforcement bar
set nfY 15; # number of fibers for concrete in y-direction
set nfZ 15; # number of fibers for concrete in z-direction

#patch quad $matTag $numSubdivIJ $numSubdivJK $yI $zI $yJ $zJ $yK $zK $yL $zL
#layer straight $matTag $numBars $areaBar $yStart $zStart $yEnd $zEnd
section fiberSec $ColSecTag {; # Define the fiber section
patch quadr $IDconcU $nfZ $nfY -$coverY $coverZ -$coverY -$coverZ $coverY -$coverZ $coverY $coverZ; # Define the concrete patch
layer straight $IDreinf $numBarsColbot1 $barAreaCol -$coreY1 $coreZ -$coreY1 -$coreZ; # first reinfocement layer (lower)
layer straight $IDreinf $numBarsColbot1 $barAreaCol -$coreY2 $coreZ -$coreY2 -$coreZ; # second reinforcement layer (upper)
}; # end of fibersection definition

puts "fibersection built"

# 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
geomTransf Linear $ColTransfTag ;

# element connectivity:
# cannot handle > 10 integration points + odd
set numIntgrPts 6; # number of integration points for force-based element
element nonlinearBeamColumn 1 1 2 $numIntgrPts $ColSecTag $ColTransfTag; # self-explanatory when using variables
element nonlinearBeamColumn 2 2 3 $numIntgrPts $ColSecTag $ColTransfTag;


# Define RECORDERS -------------------------------------------------------------
recorder Node -file Data_OA1/DFree.out -time -node 2 -dof 1 2 3 disp; # displacements of free nodes
#recorder Node -file Data/DBase.out -time -node 1 -dof 1 2 3 disp; # displacements of support nodes
#recorder Node -file Data/RBase.out -time -node 1 -dof 1 2 3 reaction; # support reaction
#recorder Drift -file Data/Drift.out -time -iNode 1 -jNode 2 -dof 1 -perpDirn 2 ; # lateral drift
#recorder Element -file Data/FCol.out -time -ele 2 globalForce; # element forces -- column
#recorder Element -file Data/ForceColSec1.out -time -ele 1 section 1 force; # Column section forces, axial and moment, node i
#recorder Element -file Data/DefoColSec1.out -time -ele 1 section 1 deformation; # section deformations, axial and curvature, node i
#recorder Element -file Data/ForceColSec$numIntgrPts.out -time -ele 1 section $numIntgrPts force; # section forces, axial and moment, node j
#recorder Element -file Data/DefoColSec$numIntgrPts.out -time -ele 1 section 1 deformation; # section deformations, axial and curvature, node j

# Pushover analysis ---------------------------------------------------------------------
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 EnergyIncr 1.0e-8 6 0; # 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
integrator LoadControl 0.01; # apply Load in X steps
analysis Static # define type of analysis static or transient

# define LATERAL load -------------------------------------------------------------
set Pu [expr -350*$kN];

# Lateral load pattern
pattern Plain 1 Linear {
load 2 0.0 $Pu 0.0; # node#, FX FY MZ -- representative lateral load at middle node
}

# pushover: load controlled static analysis
analyze 100; # apply 100 steps of pushover analysis

puts "Done!"

print node 2

Post Reply