Hi, I have faced some serious problems in my modal analysis as following:
Error: couldn't open modes/Periods.txt
no such file or directory while executing 'open $w period'
my code consists of a tall building:
Thanks in advance for the help.
wipe
model BasicBuilder -ndm 2 -ndf 3
source Wsection.tcl
source DoubleChannelSection.tcl
source BoxSection.tcl
# KN m
puts "Material"
set Fy 235359.6
set Es 2.059E+08
set nu 0.3;
set Gs [expr 807692.3]; # Torsional stiffness Modulus
uniaxialMaterial Elastic 1 $Es
set NStory 30
set NBay 6
set NType 7
set LBeam 4.500000e+00
set LCol 3.400000e+00
puts "Node Steps"
# define NODAL COORDINATES
for {set level 1} {$level <=[expr $NStory+1]} {incr level 1} {
set Y [expr ($level-1)*$LCol];
for {set pier 1} {$pier <= [expr $NBay+1]} {incr pier 1} {
set X [expr ($pier-1)*$LBeam];
set nodeID [expr $level*10+$pier]
node $nodeID $X $Y; # actually define node
}
}
for {set level 1} {$level <= 1} {incr level 1} {
for {set pier 1} {$pier <= [expr $NBay+1]} {incr pier 1} {
set nodeID [expr $level*10+$pier]
fix $nodeID 1 1 1
}
}
set NCoreBay 3
puts "Extra Node Steps"
# define NODAL COORDINATES
for {set level 1} {$level <=[expr $NStory]} {incr level 1} {
set Y [expr ($level-1)*$LCol];
for {set pier $NCoreBay} {$pier <= [expr $NCoreBay]} {incr pier 1} {
set X [expr ($pier-1)*$LBeam];
set nodeID [expr $level*1000+$pier]
node $nodeID $X $Y; # actually define node
}
}
set NCoreBay 3
puts "Extra Node Steps"
# define NODAL COORDINATES
for {set level 1} {$level <=[expr $NStory]} {incr level 1} {
set Y [expr ($level-1)*$LCol];
for {set pier [expr $NCoreBay+2]} {$pier <= [expr $NCoreBay+2]} {incr pier 1} {
set X [expr ($pier-1)*$LBeam];
set nodeID [expr $level*1000+$pier]
node $nodeID $X $Y; # actually define node
}
}
set NCoreBay 3
puts "Extra Node Steps"
# define NODAL COORDINATES
for {set level 2} {$level <=[expr $NStory+1]} {incr level 1} {
set Y [expr ($level-1)*$LCol];
for {set pier [expr $NCoreBay+1]} {$pier <= [expr $NCoreBay+1]} {incr pier 1} {
set X [expr ($pier-1)*$LBeam];
set nodeID [expr $level*1000+$pier]
node $nodeID $X $Y; # actually define node
}
}
puts "Core Hinges Creation Step"
# define NODAL COORDINATES
for {set level 1} {$level <=[expr $NStory]} {incr level 1} {
for {set pier [expr $NCoreBay]} {$pier <= [expr $NCoreBay]} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr $level*1000+$pier]
equalDOF $nodei $nodej 1 2
}
}
puts "Core Hinges Creation Step"
# define NODAL COORDINATES
for {set level 1} {$level <=[expr $NStory]} {incr level 1} {
for {set pier [expr $NCoreBay+2]} {$pier <= [expr $NCoreBay+2]} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr $level*1000+$pier]
equalDOF $nodei $nodej 1 2
}
}
puts "Core Hinges Creation Step"
# define NODAL COORDINATES
for {set level 2} {$level <=[expr $NStory+1]} {incr level 1} {
for {set pier [expr $NCoreBay+1]} {$pier <= [expr $NCoreBay+1]} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr $level*1000+$pier]
equalDOF $nodei $nodej 1 2
}
}
puts "BeamSection"
# beam sections: W36*160
set d 0.9147;
set bf 0.3048;
set tf 0.0259 ;
set tw 0.0165;
set nfdw 16;
set nftw 2;
set nfbf 16;
set nftf 4;
WSection 111 1 $d $bf $tf $tw $nfdw $nftw $nfbf $nftf
set np 5
puts "BeamSection"
# beam sections: IPE450
set d 0.45;
set bf 0.19;
set tf 0.0146 ;
set tw 0.0094;
set nfdw 16;
set nftw 2;
set nfbf 16;
set nftf 4;
WSection 112 1 $d $bf $tf $tw $nfdw $nftw $nfbf $nftf
set np 5
puts "BeamSection"
# beam sections: IPE 400
set d 0.4;
set bf 0.2;
set tf 0.0135 ;
set tw 0.0086;
set nfdw 16;
set nftw 2;
set nfbf 16;
set nftf 4;
WSection 113 1 $d $bf $tf $tw $nfdw $nftw $nfbf $nftf
set np 5
puts "BeamSection"
# beam sections: W24*146
set d 0.6284;
set bf 0.3277;
set tf 0.0277 ;
set tw 0.0165;
set nfdw 16;
set nftw 2;
set nfbf 16;
set nftf 4;
WSection 114 1 $d $bf $tf $tw $nfdw $nftw $nfbf $nftf
set np 5
puts "BeamSection"
# beam sections: W18*192
set d 0.5169;
set bf 0.291;
set tf 0.0455 ;
set tw 0.0244;
set nfdw 16;
set nftw 2;
set nfbf 16;
set nftf 4;
WSection 116 1 $d $bf $tf $tw $nfdw $nftw $nfbf $nftf
set np 5
puts "BeamSection"
# beam sections: W18*60
set d 0.4633;
set bf 0.1919;
set tf 0.0177 ;
set tw 0.0105;
set nfdw 16;
set nftw 2;
set nfbf 16;
set nftf 4;
WSection 115 1 $d $bf $tf $tw $nfdw $nftw $nfbf $nftf
set np 5
puts "BeamSection"
# beam sections: W21*122
set d 0.5507;
set bf 0.3147;
set tf 0.0244 ;
set tw 0.0152;
set nfdw 16;
set nftw 2;
set nfbf 16;
set nftf 4;
WSection 117 1 $d $bf $tf $tw $nfdw $nftw $nfbf $nftf
set np 5
puts "Brace Section"
set secID 1000
set matID 1
set d 0.4
set bf 0.11
set tf 0.018
set tw 0.014
set ax 0.03
set nfdw 16
set nftw 4
set nfbf 16
set nftf 4
DoubleChannelSection $secID $matID $d $bf $tf $tw $ax $nfdw $nftw $nfbf $nftf
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
set secID 1
set matID 1
set D 0.7
set B 0.7
set T 0.02
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 700X25 secID: 2
set secID 2
set matID 1
set D 0.7
set B 0.7
set T 0.025
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 700X30 secID: 3
set secID 3
set matID 1
set D 0.7
set B 0.7
set T 0.03
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 700X35 secID: 4
set secID 4
set matID 1
set D 0.7
set B 0.7
set T 0.035
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 700X40 secID: 5
set secID 5
set matID 1
set D 0.7
set B 0.7
set T 0.04
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 750X20 secID: 6
set secID 6
set matID 1
set D 0.75
set B 0.75
set T 0.02
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 750X25 secID: 7
set secID 7
set matID 1
set D 0.75
set B 0.75
set T 0.025
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 750X30 secID: 8
set secID 8
set matID 1
set D 0.75
set B 0.75
set T 0.03
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 750X35 secID: 9
set secID 9
set matID 1
set D 0.75
set B 0.75
set T 0.035
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 750X40 secID: 10
set secID 10
set matID 1
set D 0.75
set B 0.75
set T 0.04
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 650X20 secID: 11
set secID 11
set matID 1
set D 0.65
set B 0.65
set T 0.02
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 650X25 secID: 12
set secID 12
set matID 1
set D 0.65
set B 0.65
set T 0.025
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 650X30 secID: 13
set secID 13
set matID 1
set D 0.65
set B 0.65
set T 0.03
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 650X35 secID: 14
set secID 14
set matID 1
set D 0.65
set B 0.65
set T 0.035
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 650X40 secID: 15
set secID 15
set matID 1
set D 0.65
set B 0.65
set T 0.04
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 800X20 secID: 16
set secID 16
set matID 1
set D 0.8
set B 0.8
set T 0.02
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 800X25 secID: 17
set secID 17
set matID 1
set D 0.8
set B 0.8
set T 0.025
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 800X30 secID: 18
set secID 18
set matID 1
set D 0.8
set B 0.8
set T 0.03
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 800X35 secID: 19
set secID 19
set matID 1
set D 0.8
set B 0.8
set T 0.035
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------------------------
# Box 800X40 secID: 20
set secID 20
set matID 1
set D 0.8
set B 0.8
set T 0.04
set nfTBl 16
set nfTBt 4
set nfSl 16
set nfSt 4
BoxSection $secID $matID $D $B $T $nfTBl $nfTBt $nfSl $nfSt
#---------------------------------------------------------------------------------------------
set np 5
geomTransf Linear 1
puts "Core Elements Creation Step"
# define NODAL COORDINATES
for {set level 1} {$level <=[expr $NStory]} {incr level 1} {
for {set pier [expr $NCoreBay]} {$pier <= [expr $NCoreBay]} {incr pier 1} {
set nodei [expr $level*1000+$pier]
set nodej [expr ($level+1)*1000+$pier+1]
set elementID [expr $level*100000]
element nonlinearBeamColumn $elementID $nodei $nodej $np 1000 1
}
}
for {set level 1} {$level <=[expr $NStory]} {incr level 1} {
for {set pier [expr $NCoreBay+2]} {$pier <= [expr $NCoreBay+2]} {incr pier 1} {
set nodei [expr $level*1000+$pier]
set nodej [expr ($level+1)*1000+$pier-1]
set elementID [expr ($level*110000)+1]
element nonlinearBeamColumn $elementID $nodei $nodej $np 1000 1
}
}
set I 1
set J 113
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier 1} {$pier <= [expr $NBay+1]} {incr pier $NBay} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 8
set J 112
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier 1} {$pier <= [expr $NBay+1]} {incr pier $NBay} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 15
set J 112
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier 1} {$pier <= [expr $NBay+1]} {incr pier $NBay} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 22
set J 113
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier 1} {$pier <= [expr $NBay+1]} {incr pier $NBay} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 29
set J 112
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier 1} {$pier <= [expr $NBay+1]} {incr pier $NBay} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 1
set J 113
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier 2} {$pier < $NCoreBay} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 8
set J 112
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier 2} {$pier < $NCoreBay} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 15
set J 112
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier 2} {$pier < $NCoreBay} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 22
set J 113
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier 2} {$pier < $NCoreBay} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 29
set J 112
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier 2} {$pier < $NCoreBay} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 1
set J 113
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier [expr $NCoreBay+3]} {$pier <= $NBay} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 8
set J 112
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier [expr $NCoreBay+3]} {$pier <= $NBay} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 15
set J 112
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier [expr $NCoreBay+3]} {$pier <= $NBay} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 22
set J 113
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier [expr $NCoreBay+3]} {$pier <= $NBay} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 29
set J 112
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier [expr $NCoreBay+3]} {$pier <= $NBay} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 1
set J 113
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier [expr $NCoreBay]} {$pier <= $NCoreBay+2} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 8
set J 112
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier [expr $NCoreBay]} {$pier <= $NCoreBay+2} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 15
set J 112
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier [expr $NCoreBay]} {$pier <= $NCoreBay+2} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 22
set J 113
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier [expr $NCoreBay]} {$pier <= $NCoreBay+2} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 29
set J 112
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier [expr $NCoreBay]} {$pier <= $NCoreBay+2} {incr pier 1} {
set nodei [expr $level*10+$pier]
set nodej [expr ($level+1)*10+$pier]
set elementID [expr ($level)*10+$pier]
element nonlinearBeamColumn $elementID $nodei $nodej $np $J 1
}
}
set I 1
set J 113
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier 1} {$pier <= $NBay} {incr pier 1} {
set elemID [expr $level*1000 + $pier]
set nodeI [expr ($level+1)*10 + $pier]
set nodeJ [expr ($level+1)*10 + $pier+1]
element nonlinearBeamColumn $elemID $nodeI $nodeJ $np $J 1
}
}
set I 8
set J 113
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier 1} {$pier <= $NBay} {incr pier 1} {
set elemID [expr $level*1000 + $pier]
set nodeI [expr ($level+1)*10 + $pier]
set nodeJ [expr ($level+1)*10 + $pier+1]
element nonlinearBeamColumn $elemID $nodeI $nodeJ $np $J 1
}
}
set I 15
set J 112
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier 1} {$pier <= $NBay} {incr pier 1} {
set elemID [expr $level*1000 + $pier]
set nodeI [expr ($level+1)*10 + $pier]
set nodeJ [expr ($level+1)*10 + $pier+1]
element nonlinearBeamColumn $elemID $nodeI $nodeJ $np $J 1
}
}
set I 22
set J 112
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier 1} {$pier <= $NBay} {incr pier 1} {
set elemID [expr $level*1000 + $pier]
set nodeI [expr ($level+1)*10 + $pier]
set nodeJ [expr ($level+1)*10 + $pier+1]
element nonlinearBeamColumn $elemID $nodeI $nodeJ $np $J 1
}
}
set I 29
set J 112
for {set level $I} {$level <=[expr {min([expr $I+$NType-1],$NStory)}]} {incr level 1} {
for {set pier 1} {$pier <= $NBay} {incr pier 1} {
set elemID [expr $level*1000 + $pier]
set nodeI [expr ($level+1)*10 + $pier]
set nodeJ [expr ($level+1)*10 + $pier+1]
element nonlinearBeamColumn $elemID $nodeI $nodeJ $np $J 1
}
}
set GL 3.033938e+01
set NStory 30
set NBay 6
set LBeam 4.500000e+00
set LCol 3.400000e+00
set Mside [expr $LBeam/2*$GL]
set Mmid [expr $LBeam*$GL]
puts "Mass Assignment"
for {set level 2} {$level <=[expr $NStory+1]} {incr level 1} {
for {set pier 1} {$pier <= [expr $NBay+1]} {incr pier $NBay} {
set nodeID [expr $level*10+$pier]
mass $nodeID $Mside 0 0; # actually define node
}
}
for {set level 2} {$level <=[expr $NStory+1]} {incr level 1} {
for {set pier 2} {$pier < [expr $NBay+1]} {incr pier 1} {
set nodeID [expr $level*10+$pier]
mass $nodeID $Mmid 0 0; # actually define node
}
}
print i.out
set numModes [expr $NStory]
for { set k 1 } { $k <= $numModes } { incr k } {
recorder Node -file [format "modes/mode%i.out" $k] -nodeRange 10 [expr ($NStory+1)*10+$NBay+1] -dof 1 2 3 "eigen $k"
}
# 10 [expr ($NStory+1)*10+$NBay+1]
set lambda [eigen $numModes];
set omega {}
set f {}
set T {}
set pi 3.141593
foreach lam $lambda {
lappend omega [expr sqrt($lam)]
lappend f [expr sqrt($lam)/(2*$pi)]
lappend T [expr (2*$pi)/sqrt($lam)]
}
set period "modes/Periods.txt"
set Periods [open $period "w"]
foreach t $T {
puts $Periods " $t"
}
close $Periods
puts "periods are $T"
# write the output file cosisting of periods
#--------------------------------------------
set period "modes/Periods.txt"
set Periods [open $period "w"]
foreach t $T {
puts $Periods " $t"
}
close $Periods
# create display for mode shapes
#---------------------------------
# $windowTitle $xLoc $yLoc $xPixels $yPixels
recorder display "Mode Shape 1" 10 10 500 500 -wipe
prp $h $h 1; # projection reference point (prp); defines the center of projection (viewer eye)
vup 0 1 0; # view-up vector (vup)
vpn 0 0 1; # view-plane normal (vpn)
viewWindow -200 200 -200 200; # coordiantes of the window relative to prp
display -1 5 20; # the 1st arg. is the tag for display mode (ex. -1 is for the first mode shape)
# the 2nd arg. is magnification factor for nodes, the 3rd arg. is magnif. factor of deformed shape
recorder display "Mode Shape 2" 10 510 500 500 -wipe
prp $h $h 1;
vup 0 1 0;
vpn 0 0 1;
viewWindow -200 200 -200 200
display -2 5 20
# Run a one step gravity load with no loading (to record eigenvectors)
#-----------------------------------------------------------------------
integrator LoadControl 0 1 0 0
# Convergence test
# tolerance maxIter displayCode
test EnergyIncr 1.0e-10 100 0
# Solution algorithm
algorithm Newton
# DOF numberer
numberer RCM
# Constraint handler
constraints Transformation
# System of equations solver
system ProfileSPD
analysis Static
set res [analyze 1]
if {$res < 0} {
puts "Modal analysis failed"
}
# get values of eigenvectors for translational DOFs
#---------------------------------------------------
set f11 [nodeEigenvector 3 1 1]
set f21 [nodeEigenvector 5 1 1]
set f12 [nodeEigenvector 3 2 1]
set f22 [nodeEigenvector 5 2 1]
puts "eigenvector 1: [list [expr {$f11/$f21}] [expr {$f21/$f21}] ]"
puts "eigenvector 2: [list [expr {$f12/$f22}] [expr {$f22/$f22}] ]"
Modal Analysis
Moderators: silvia, selimgunay, Moderators
Re: Modal Analysis
get rid of the modes/ or make sure that a directory exsists and give the correct location to it (depends if rnning on linux or windows) .. actually, start with just removing modes and then add the location back in once you sort out your directory structure.
-
- Posts: 18
- Joined: Wed Jul 25, 2012 12:03 pm
- Location: ZNU
Re: Modal Analysis
fmk wrote:
> get rid of the modes/ or make sure that a directory exsists and give the
> correct location to it (depends if rnning on linux or windows) .. actually,
> start with just removing modes and then add the location back in once you
> sort out your directory structure.
Thanks, you mean there is nothing wrong with my model? i mean the problem is the location only?
> get rid of the modes/ or make sure that a directory exsists and give the
> correct location to it (depends if rnning on linux or windows) .. actually,
> start with just removing modes and then add the location back in once you
> sort out your directory structure.
Thanks, you mean there is nothing wrong with my model? i mean the problem is the location only?
-
- Posts: 18
- Joined: Wed Jul 25, 2012 12:03 pm
- Location: ZNU
Re: Modal Analysis
Dear Frank
I did this:
set numModes [expr $NStory]
for { set k 1 } { $k <= $numModes } { incr k } {
recorder Node -file mode.out -nodeRange 10 [expr ($NStory+1)*10+$NBay+1] -dof 1 2 3 "eigen $k"
}
Actually i have tried to save all the modes in one file after this i realized there is nothing in the output file. by experience i knew that this kind of a mistake occurs when the model includes some serious mistakes. Would you check my model and make sure that it is ok.
Thanks in advance.
I did this:
set numModes [expr $NStory]
for { set k 1 } { $k <= $numModes } { incr k } {
recorder Node -file mode.out -nodeRange 10 [expr ($NStory+1)*10+$NBay+1] -dof 1 2 3 "eigen $k"
}
Actually i have tried to save all the modes in one file after this i realized there is nothing in the output file. by experience i knew that this kind of a mistake occurs when the model includes some serious mistakes. Would you check my model and make sure that it is ok.
Thanks in advance.
Re: Modal Analysis
i am not going to check your model. if the eigenvalue analysis fails you will see either 0 or negative eigenvalues or the eigensolver itself will fail. if such is the case there is definitely something wrong with the model, if it works there could still be something wrong with your model! you have to ask yourself if the eigenvalues make sense (don't ask us as it's not our model and we are not going to go through the script and try and divine what the structure is you are trying to model).
if you are having trouble with the files still just puts to the screen and look at the numbers. you can also just print the nodes and have a look at the eigenvectors, e.g. "print -node 10"
if you are having trouble with the files still just puts to the screen and look at the numbers. you can also just print the nodes and have a look at the eigenvectors, e.g. "print -node 10"