Dear All,
Anyone please suggest me below IDA.tcl is relevant to perform Incremental Dynamic Analysis as PGA [IM]. I tried to analyze the five-story 2D building Frame model but i'm not getting yield point while plotting the graph.
Once the collapse prevention point is obtained immediately ended the analysis and noted max. inter-story drift in each IM and plotted the graph for it.
why in the code we have predefined the limit of IO and CP
# Incremental Dynamic Analysis (IDA) 2 Dimentional
######################################################################
set Step 50
for {set i 1} {$i<=$Step} {incr i 1} {
wipe
wipeAnalysis
model Basic -ndm 2
file mkdir IDArecorder2D/[expr $i/10.]pga
source model5story.tcl ; #puts your model
wipeAnalysis
set n 5 ;
constraints Plain
numberer Plain
system BandGeneral
test NormDispIncr 1.e-8 6
algorithm Newton
integrator LoadControl [expr 1./$n]
analysis Static
analyze $n
loadConst -time 0.0
puts "Dynamic Analysis is Don"
source recorder2D.tcl ; #puts your recorder
set txt R1
set dt 0.01 ;# dt of accel
set Time 40.
set Sa 0.34095
set C 0.24038459 ;#------------>factor for convert 1g
set ScaleFactor [expr 1./$C] ;#ScaleFactor
set g 9.806
set accel "Series -dt $dt -filePath $txt.txt -factor [expr ($i./10)*$g] (PGA)"
puts "$accel"
pattern UniformExcitation 3 1 -accel $accel
################################################################
set damp 0.05 ;# damping ratio
set modex 1 ;#please set mode 1
set modexx 4 ;#please set 90%*mode 1
set xDamp $damp;
set MpropSwitch 1.0;
set KcurrSwitch 0.0;
set KcommSwitch 1.0;
set KinitSwitch 0.0;
set nEigenI $modex;
set nEigenJ $modexx;
set lambdaN [eigen [expr $nEigenJ]]; # eigenvalue analysis for nEigenJ modes
set lambdaI [lindex $lambdaN [expr $nEigenI-1]]; # eigenvalue mode i
set lambdaJ [lindex $lambdaN [expr $nEigenJ-1]]; # eigenvalue mode j
set omegaI [expr pow($lambdaI,0.5)];
set omegaJ [expr pow($lambdaJ,0.5)];
set alphaM [expr $MpropSwitch*$xDamp*(2*$omegaI*$omegaJ)/($omegaI+$omegaJ)]; # M-prop. damping; D = alphaM*M
set betaKcurr [expr $KcurrSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # current-K; +beatKcurr*KCurrent
set betaKcomm [expr $KcommSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # last-committed K; +betaKcomm*KlastCommitt
set betaKinit [expr $KinitSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # initial-K; +beatKinit*Kini
rayleigh $alphaM $betaKcurr $betaKinit $betaKcomm;
################################################################
set txt [open IDArecorder2D/[expr $i/10.]pga/PerformanceLevelReport.txt w+]
puts "groundmotion start!.Time:[getTime]"
constraints Transformation
numberer RCM
system UmfPack
test EnergyIncr 1.0e-5 200
algorithm NewtonLineSearch
integrator Newmark 0.5 0.25
analysis Transient
for {set a 1} {$a<=[expr $Time/$dt]} {incr a} {
analyze 1 $dt
#performance level
#set IO 0.02 ; #Steel Structure
#set CP 0.1 ; #Steel Structure
set IO [expr 0.5/100] ; #Concrete Structure
set CP [expr 2.5/100] ; #Concrete Structure
############################################################
#story 1
set dir 1
set Hight1 3.
set story 1
set xi [expr abs([nodeDisp 1 $dir])]; #node i
set xj [expr abs([nodeDisp 7 $dir])]; #node j
set H $Hight1 ; #interstory Hight
if {[expr ($xj-$xi)/$H]>= $IO} {
set story $story
#puts "Immediate Occupancy Point in Story $story Time=[getTime]"
puts $txt "Immediate Occupancy Point in Story $story Time=[getTime]"
}
if {[expr ($xj-$xi)/$H]>= $CP} {
puts "Collapse Prevention Point in Story $story Time=[getTime]"
puts $txt "Collapse Prevention Point in Story $story Time=[getTime]"
close $txt
break
}
############################################################
#story 2
set Hight2 3.
set story 2
set xi [expr abs([nodeDisp 7 $dir])]; #node i
set xj [expr abs([nodeDisp 13 $dir])]; #node j
set H $Hight2 ; #interstory Hight
if {[expr ($xj-$xi)/$H]>= $IO} {
set story $story
#puts "Immediate Occupancy Point in Story $story Time=[getTime]"
puts $txt "Immediate Occupancy Point in Story $story Time=[getTime]"
}
if {[expr ($xj-$xi)/$H]>= $CP} {
puts "Collapse Prevention Point in Story $story Time=[getTime]"
puts $txt "Collapse Prevention Point in Story $story Time=[getTime]"
close $txt
break
}
############################################################
#story 3
set Hight2 3.
set story 3
set xi [expr abs([nodeDisp 13 $dir])]; #node i
set xj [expr abs([nodeDisp 19 $dir])]; #node j
set H $Hight2 ; #interstory Hight
if {[expr ($xj-$xi)/$H]>= $IO} {
set story $story
#puts "Immediate Occupancy Point in Story $story Time=[getTime]"
puts $txt "Immediate Occupancy Point in Story $story Time=[getTime]"
}
if {[expr ($xj-$xi)/$H]>= $CP} {
puts "Collapse Prevention Point in Story $story Time=[getTime]"
puts $txt "Collapse Prevention Point in Story $story Time=[getTime]"
close $txt
break
}
############################################################
#story 4
set Hight2 3.
set story 4
set xi [expr abs([nodeDisp 19 $dir])]; #node i
set xj [expr abs([nodeDisp 25 $dir])]; #node j
set H $Hight2 ; #interstory Hight
if {[expr ($xj-$xi)/$H]>= $IO} {
set story $story
#puts "Immediate Occupancy Point in Story $story Time=[getTime]"
puts $txt "Immediate Occupancy Point in Story $story Time=[getTime]"
}
if {[expr ($xj-$xi)/$H]>= $CP} {
puts "Collapse Prevention Point in Story $story Time=[getTime]"
puts $txt "Collapse Prevention Point in Story $story Time=[getTime]"
close $txt
break
}
############################################################
#story 5
set Hight2 3.
set story 5
set xi [expr abs([nodeDisp 25 $dir])]; #node i
set xj [expr abs([nodeDisp 31 $dir])]; #node j
set H $Hight2 ; #interstory Hight
if {[expr ($xj-$xi)/$H]>= $IO} {
set story $story
#puts "Immediate Occupancy Point in Story $story Time=[getTime]"
puts $txt "Immediate Occupancy Point in Story $story Time=[getTime]"
}
if {[expr ($xj-$xi)/$H]>= $CP} {
puts "Collapse Prevention Point in Story $story Time=[getTime]"
puts $txt "Collapse Prevention Point in Story $story Time=[getTime]"
close $txt
break
}
############################################################
}
puts "groundmotion [expr $i./10]pga done!.End Time:[getTime]"
}
Thanks
Regards,
Anitha
IDA code
Moderator: selimgunay
Re: IDA code
this is not an IDA scrpt, it could be the basis of one in that it checks for certain limit states. it does not however do multiple analysis changing the mag of the acceleration record for each analysis.
Re: IDA code
Dear fmk,
Thank you for your reply.Can u please share with me the IDA script, Which can perform IDA [IM as PGA].
Initially I tried with the below mentioned scripts to perform IDA with available nine EQ ground motion datas and i'm not ok with results which obtained.
In the folder Ex1.5_story_building
1)GMfiles directory (Include Uttarkashi.AT2 file)
2)BuildRCrecSection.tcl
3)Ex.Frame2D.build.InelasticFiberRCSection.tcl
4)Ex.Frame2D.analyze.Dynamic.EQ.Uniform.tcl
5)LibAnalysisDynamic.EQ.Uniform.tcl
6)LibMaterialRC.tcl
7)LibUnits.tcl
8)OpenSees.exe
For Each EQ scaling factor[0.25 to collapse point(PGA)] varied in the script and run.
Later generated the IDA.tcl script sent above and converted EQ file to text file. And used for Analysis.
Sir please suggest me what could be the right way to perform IDA.
Thanks
Regards,
Anitha
Thank you for your reply.Can u please share with me the IDA script, Which can perform IDA [IM as PGA].
Initially I tried with the below mentioned scripts to perform IDA with available nine EQ ground motion datas and i'm not ok with results which obtained.
In the folder Ex1.5_story_building
1)GMfiles directory (Include Uttarkashi.AT2 file)
2)BuildRCrecSection.tcl
3)Ex.Frame2D.build.InelasticFiberRCSection.tcl
4)Ex.Frame2D.analyze.Dynamic.EQ.Uniform.tcl
5)LibAnalysisDynamic.EQ.Uniform.tcl
6)LibMaterialRC.tcl
7)LibUnits.tcl
8)OpenSees.exe
For Each EQ scaling factor[0.25 to collapse point(PGA)] varied in the script and run.
Later generated the IDA.tcl script sent above and converted EQ file to text file. And used for Analysis.
Sir please suggest me what could be the right way to perform IDA.
Thanks
Regards,
Anitha
-
- Posts: 58
- Joined: Tue Dec 13, 2016 7:14 am
- Location: University of Tlemcen-Algeria
Re: IDA code
anitha, please.
Can you share the IDA script. I had the same problem?
I appriciate your help.
Hayet BOUAZZA.
Can you share the IDA script. I had the same problem?
I appriciate your help.
Hayet BOUAZZA.
Re: IDA code
Did you get it ? it is my problem too.parasismique wrote: ↑Mon Oct 29, 2018 7:10 am anitha, please.
Can you share the IDA script. I had the same problem?
I appriciate your help.
Hayet BOUAZZA.