This is a planar one-bay two-story post-tensioned RC frame model. Zerolengthsection element is used to model the non-tensile compression only behavior of beam-column interface and column-base interface. I have checked the model many times, I think there is no errors concerning about model geometry. I can't figure it out why the first six engivalue of this model is 1.589457e-008 1.589457e-008 1.107453e+002 5.725194e+003 5.902496e+003 1.014388e+004 ?
Below are my model file script:
main.tcl:
wipe; # clear memory of all past model definitions
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
source material.tcl
source section.tcl
source DisplayPlane.tcl; # procedure for displaying a plane in model
source DisplayModel3D.tcl; # procedure for displaying 3D perspectives of model
set Z1 0.;
set Z2 0.3;
set Z3 0.8;
set Z4 1.3;
set Z5 1.8;
set Z6 2.3;
set Z7 2.8;
set Z8 3.3;
set Z9 3.7;
set X2 1.5;
node 1 0. $Z1
node 2 0. $Z1
node 3 0. $Z2
node 4 0. $Z3
node 5 0. $Z4
node 6 0. $Z5
node 7 0. $Z6
node 8 0. $Z7
node 9 0. $Z8
node 10 0. $Z9
node 31 $X2 $Z1
node 32 $X2 $Z1
node 33 $X2 $Z2
node 34 $X2 $Z3
node 35 $X2 $Z4
node 36 $X2 $Z5
node 37 $X2 $Z6
node 38 $X2 $Z7
node 39 $X2 $Z8
node 40 $X2 $Z9
node 11 -0.05 [expr $Z1-0.05]
node 12 0.05 [expr $Z1-0.05]
node 14 -0.1 $Z5
node 13 -0.1 [expr $Z5-0.05]
node 15 -0.1 [expr $Z5+0.05]
node 18 -0.1 $Z8
node 17 -0.1 [expr $Z8-0.05]
node 19 -0.1 [expr $Z8+0.05]
node 16 0.1 $Z5
node 20 0.1 $Z8
node 21 -0.05 $Z9
node 22 0.05 $Z9
node 23 0.1 $Z5
node 24 0.425 $Z5
node 25 0.75 $Z5
node 26 1.075 $Z5
node 27 1.4 $Z5
node 53 0.1 $Z8
node 54 0.425 $Z8
node 55 0.75 $Z8
node 56 1.075 $Z8
node 57 1.4 $Z8
rigidLink beam 6 16
rigidLink beam 9 20
rigidLink beam 6 14
rigidLink beam 9 18
rigidLink beam 14 13
rigidLink beam 14 15
rigidLink beam 18 17
rigidLink beam 18 19
rigidLink beam 10 21
rigidLink beam 10 22
node 41 [expr $X2-0.05] [expr $Z1-0.05]
node 42 [expr $X2+0.05] [expr $Z1-0.05]
node 44 [expr $X2+0.1] $Z5
node 43 [expr $X2+0.1] [expr $Z5-0.05]
node 45 [expr $X2+0.1] [expr $Z5+0.05]
node 48 [expr $X2+0.1] $Z8
node 47 [expr $X2+0.1] [expr $Z8-0.05]
node 49 [expr $X2+0.1] [expr $Z8+0.05]
node 46 [expr $X2-0.1] $Z5
node 50 [expr $X2-0.1] $Z8
node 51 [expr $X2-0.05] $Z9
node 52 [expr $X2+0.05] $Z9
rigidLink beam 36 46
rigidLink beam 39 50
rigidLink beam 36 44
rigidLink beam 39 48
rigidLink beam 44 43
rigidLink beam 44 45
rigidLink beam 48 47
rigidLink beam 48 49
rigidLink beam 40 51
rigidLink beam 40 52
fix 11 1 1 1
fix 12 1 1 1
fix 1 1 1 1
fix 41 1 1 1
fix 42 1 1 1
fix 31 1 1 1
equalDOF 1 2 1
equalDOF 31 32 1
equalDOF 16 23 2
equalDOF 20 53 2
equalDOF 50 57 2
equalDOF 46 27 2
puts "boudary condition ok"
set IDColTransf 1; # all columns
set ColTransfType Linear ; # options, Linear PDelta Corotational
geomTransf $ColTransfType $IDColTransf ; # only columns can have PDelta effects (gravity effects)
geomTransf $ColTransfType 2;
element elasticBeamColumn 1 2 3 0.04 3.5e10 1.33e-4 $IDColTransf
element elasticBeamColumn 2 3 4 0.04 3.5e10 1.33e-4 $IDColTransf
element elasticBeamColumn 3 4 5 0.04 3.5e10 1.33e-4 $IDColTransf
element elasticBeamColumn 4 5 6 0.04 3.5e10 1.33e-4 $IDColTransf
element elasticBeamColumn 5 6 7 0.04 3.5e10 1.33e-4 $IDColTransf
element elasticBeamColumn 6 7 8 0.04 3.5e10 1.33e-4 $IDColTransf
element elasticBeamColumn 7 8 9 0.04 3.5e10 1.33e-4 $IDColTransf
element elasticBeamColumn 8 9 10 0.04 3.5e10 1.33e-4 $IDColTransf
element zeroLengthSection 9 1 2 14
element elasticBeamColumn 11 32 33 0.04 3.5e10 1.33e-4 $IDColTransf
element elasticBeamColumn 12 33 34 0.04 3.5e10 1.33e-4 $IDColTransf
element elasticBeamColumn 13 34 35 0.04 3.5e10 1.33e-4 $IDColTransf
element elasticBeamColumn 14 35 36 0.04 3.5e10 1.33e-4 $IDColTransf
element elasticBeamColumn 15 36 37 0.04 3.5e10 1.33e-4 $IDColTransf
element elasticBeamColumn 16 37 38 0.04 3.5e10 1.33e-4 $IDColTransf
element elasticBeamColumn 17 38 39 0.04 3.5e10 1.33e-4 $IDColTransf
element elasticBeamColumn 18 39 40 0.04 3.5e10 1.33e-4 $IDColTransf
element zeroLengthSection 19 31 32 14
puts "boudary condition ok"
element elasticBeamColumn 21 23 24 0.024 3.5e10 8.0e-5 2
element elasticBeamColumn 22 24 25 0.024 3.5e10 8.0e-5 2
element elasticBeamColumn 23 25 26 0.024 3.5e10 8.0e-5 2
element elasticBeamColumn 24 26 27 0.024 3.5e10 8.0e-5 2
element elasticBeamColumn 25 53 54 0.024 3.5e10 8.0e-5 2
element elasticBeamColumn 26 54 55 0.024 3.5e10 8.0e-5 2
element elasticBeamColumn 27 55 56 0.024 3.5e10 8.0e-5 2
element elasticBeamColumn 28 56 57 0.024 3.5e10 8.0e-5 2
element zeroLengthSection 29 16 23 15
element zeroLengthSection 30 20 53 15
element zeroLengthSection 31 46 27 15
element zeroLengthSection 32 50 57 15
element truss 33 13 43 0.000098 12
element truss 34 15 45 0.000098 12
element truss 35 17 47 0.000098 12
element truss 36 19 49 0.000098 12
element truss 37 11 21 0.00014 11
element truss 38 12 22 0.00014 11
element truss 39 41 51 0.00014 11
element truss 40 42 52 0.00014 11
puts "element ok"
set dead 20.0
set adead 1200.0
mass 2 $dead $dead 0
mass 3 $dead $dead 0
mass 4 $dead $dead 0
mass 5 $dead $dead 0
mass 6 $adead $adead 0
mass 7 $dead $dead 0
mass 8 $dead $dead 0
mass 9 $adead $adead 0
mass 10 $dead $dead 0
mass 32 $dead $dead 0
mass 33 $dead $dead 0
mass 34 $dead $dead 0
mass 35 $dead $dead 0
mass 36 $adead $adead 0
mass 37 $dead $dead 0
mass 38 $dead $dead 0
mass 39 $adead $adead 0
mass 40 $dead $dead 0
mass 24 $dead $dead 0
mass 25 $dead $dead 0
mass 26 $dead $dead 0
mass 54 $dead $dead 0
mass 55 $dead $dead 0
mass 56 $dead $dead 0
puts "mass ok"
# Define DISPLAY -------------------------------------------------------------
set xPixels 1000; # height of graphical window in pixels
set yPixels 600; # height of graphical window in pixels
set xLoc1 10; # horizontal location of graphical window (0=upper left-most corner)
set yLoc1 10; # vertical location of graphical window (0=upper left-most corner)
set dAmp 10; # scaling factor for viewing deformed shape, it depends on the dimensions of the model
DisplayModel3D NodeNumbers $dAmp $xLoc1 $yLoc1 $xPixels $yPixels
logFile Data/errorFile.txt;
# Load Case = DEAD
set deadl -200.0
set adeadl -12000.0
pattern Plain 1 Linear {
load 2 0. $deadl 0
load 3 0. $deadl 0
load 4 0. $deadl 0
load 5 0. $deadl 0
load 6 0. $adeadl 0
load 7 0. $deadl 0
load 8 0. $deadl 0
load 9 0. $adeadl 0
load 10 0. $deadl 0
load 32 0. $deadl 0
load 33 0. $deadl 0
load 34 0. $deadl 0
load 35 0. $deadl 0
load 36 0. $adeadl 0
load 37 0. $deadl 0
load 38 0. $deadl 0
load 39 0. $adeadl 0
load 40 0. $deadl 0
load 24 0. $deadl 0
load 25 0. $deadl 0
load 26 0. $deadl 0
load 54 0. $deadl 0
load 55 0. $deadl 0
load 56 0. $deadl 0
}
puts "loading ok"
puts "analysis"
constraints Penalty 10e20 10e20;
numberer Plain
system BandGeneral
test EnergyIncr 1.0e-3 200 1
algorithm Newton
integrator LoadControl 1.000E-002
analysis Static
analyze 100
loadConst -time 0.0;
puts "recorder"
recorder Node -file 4.out -time -node 10 -dof 1 disp
recorder Node -file 3.out -time -node 10 -dof 1 accel
recorder Element -file 2.out -time -ele 33 34 axialForce
recorder Element -file 1.out -time -ele 37 38 axialForce
set numModes 6
set lambda [eigen $numModes]
set period "Periods.txt"
set Periods [open $period "w"]
puts $Periods "$lambda"
close $Periods
section.tcl:
# zerolength section
section Fiber 14 {
patch rect 8 20 10 -0.085 0.01 0.085 0.085
patch rect 8 10 4 -0.085 -0.01 -0.015 0.01
patch rect 8 10 4 0.015 -0.01 0.085 0.01
patch rect 8 20 10 -0.085 -0.085 0.085 -0.01
patch rect 8 20 4 -0.1 0.085 0.1 0.1
patch rect 8 20 4 -0.1 -0.1 0.1 -0.085
patch rect 8 4 20 -0.1 -0.085 -0.085 0.085
patch rect 8 4 20 0.085 -0.085 0.1 0.085
layer straight 8 4 50.24e-6 -0.085 0.085 0.085 0.085
layer straight 8 4 50.24e-6 -0.085 -0.085 0.085 -0.085
layer straight 8 2 50.24e-6 -0.085 0.04 -0.085 -0.04
layer straight 8 2 50.24e-6 0.085 0.04 0.085 -0.04
}
section Fiber 15 {
patch rect 8 20 4 -0.05 0.085 0.05 0.1
patch rect 8 20 4 -0.05 -0.1 0.05 -0.085
patch rect 8 4 20 -0.05 -0.085 -0.035 0.085
patch rect 8 4 20 0.035 -0.085 0.05 0.085
patch rect 8 5 20 -0.035 -0.085 -0.006 0.085
patch rect 8 5 20 0.006 -0.085 0.035 0.085
patch rect 8 4 8 -0.006 0.056 0.006 0.085
patch rect 8 4 8 -0.006 -0.085 0.006 -0.056
patch rect 8 4 10 -0.006 -0.044 0.006 0.044
layer straight 8 2 78.5e-6 -0.035 0.085 0.035 0.085
layer straight 8 2 78.5e-6 -0.035 -0.085 0.035 -0.085
}
puts "section ok"
material.tcl:
uniaxialMaterial ENT 8 2.05e11
Anybody helps me out of this dilemma?
why is the natural period of my model so large?
Moderators: silvia, selimgunay, Moderators
Re: why is the natural period of my model so large?
Make sure your model is constrained against rigid body motion and there are no local mechanisms, e.g., nodes on zero length elements not constrained by equalDOF
Re: why is the natural period of my model so large?
Thank you for your reply, Professor Michael H. Scott~
Actually, I had tried to constrain more nodal freedoms before.
belowing change has been made
"equalDOF 1 2 1
equalDOF 31 32 1
equalDOF 16 23 2
equalDOF 20 53 2
equalDOF 50 57 2
equalDOF 46 27 2"=====>
"equalDOF 1 2 1 2
equalDOF 31 32 1 2
equalDOF 16 23 1 2
equalDOF 20 53 1 2
equalDOF 50 57 1 2
equalDOF 46 27 1 2 "
After the aforesaid change, the natural peroids become acceptable. But somehow when a time-history analysis is performed, there is
almost no force variation in the beam tendons, which obviously violates the physical situation. As we know there are gap-openings
in the beam-column interface during the seismic excitation history, leading to force variation in the tendons. From my point of view,
maybe the addtional equalDOF constraint has limited the deformation of the zerolengthsection element deformation. Since once you add
the the addtional equalDOF constraints, the planar frame will become a hinged frame with some moment resistance provided by zerolengthsection element, which is not the case in reality.
Do you have any good suggestion for a proper change of my model to capture the elongation of the tendons and gap openings of the beam-column interfaces,Professor Michael H. Scott ?
By the way, the input ground motion is ok to cause the variation of the tendon force, it's not a white noise input nor a small peak acceleration ground motion input.
________________________________________________________________________
mhscott wrote:
> Make sure your model is constrained against rigid body motion and there are
> no local mechanisms, e.g., nodes on zero length elements not constrained by
> equalDOF
Re: why is the natural period of my model so large?
the constraints you added, for example equalDOF 16 23 1 2, had to be there if you look at the model you created! you are getting some forces in the tendons, just not what you expect.
if the periods are correct and the displacements/forces are below what you expect:
1) i suggest you check the load factor on the motion (are your units correct). or do what everybody else does: do some pushover analysis to check the model is behaving as expected!
2) if ok, then look at the actual displacements of the frame and those outlying nodes to see if the outlying nodes have the correct displacements. if not rethink the constraints.
3) if all above ok. rethink the modeling approach!
if the periods are correct and the displacements/forces are below what you expect:
1) i suggest you check the load factor on the motion (are your units correct). or do what everybody else does: do some pushover analysis to check the model is behaving as expected!
2) if ok, then look at the actual displacements of the frame and those outlying nodes to see if the outlying nodes have the correct displacements. if not rethink the constraints.
3) if all above ok. rethink the modeling approach!
Re: why is the natural period of my model so large?
thank you for your uesful tips, Frank~
I'll follow your proposed procedure step by step~
________________________________________________________________________
fmk wrote:
> the constraints you added, for example equalDOF 16 23 1 2, had to be there
> if you look at the model you created! you are getting some forces in the
> tendons, just not what you expect.
>
> if the periods are correct and the displacements/forces are below what you
> expect:
> 1) i suggest you check the load factor on the motion (are your units
> correct). or do what everybody else does: do some pushover analysis to
> check the model is behaving as expected!
> 2) if ok, then look at the actual displacements of the frame and those
> outlying nodes to see if the outlying nodes have the correct displacements.
> if not rethink the constraints.
> 3) if all above ok. rethink the modeling approach!