I am modeling a steel moment frame
plastic hinges (zerolength elements) are considered at the ends of beams and columns but in a small distance from connection. this small distance
(about 0.2m) is considered rigid (elasticbeamcolumn with big E) and between plastic hinges is considered elastic.
i dont have any problem with pushover analysis but when I try to do time history analysis it seems that nothing is applied to the structure. it doesn't move at all and all forces in output files are 0.0
even if i use all members elastic members i still have this problem
what is the problem with my model?
This my code, note that when i use another model as the source of this code (main.tcl) it isn't any problem but sth is wrong with this model when it is sourced to this code.
set GMdir "GMfiles-far";
for {set rec 1} {$rec <= 5} {incr rec 1} {
#set factor [lindex $factors [expr $rec-1]];
set factor 1;
set ok 0.0;
source Main.tcl;
source ReadSMDfile.tcl;
source ReadSMDfileNPTS.tcl;
source LibAnalysisDynamicParameters.tcl;
set dataDir3 "TimeHistoF";
set dataDir4 $rec;
file mkdir $dataDir/$dataDir2/$dataDir3/$dataDir4;
#############################################################################
## RECORDER ##
#############################################################################
recorder Node -file Data/$NStory/$dataDir3/$dataDir4/BaseShear.out -node 11 12 13 14 -dof 1 reaction;
recorder Node -file Data/$NStory/$dataDir3/$dataDir4/RoofDisplacement.out -node [expr ($NStory+1)*10+1] -dof 1 disp;
recorder Element -file Data/$NStory/$dataDir3/$dataDir4/tethabeam-bay1.out -ele 20211 20311 20411 20511 20611 deformation;
#############################################################################
## Define & Apply DAMPING ##
#############################################################################
set xDamp 0.05;
set MpropSwitch 1.0; set KcurrSwitch 0.0; set KcommSwitch 1.0; set KinitSwitch 0.0;
set nEigenI 1; set nEigenJ 2;
set lambdaN [eigen [expr $nEigenJ]]; set lambdaI [lindex $lambdaN [expr $nEigenI-1]]; set lambdaJ [lindex $lambdaN [expr $nEigenJ-1]];
set omegaI [expr pow($lambdaI,0.5)]; set omegaJ [expr pow($lambdaJ,0.5)];
puts "$omegaI $omegaJ"
set alphaM [expr $MpropSwitch*$xDamp*(2*$omegaI*$omegaJ)/($omegaI+$omegaJ)]; set betaKcurr [expr $KcurrSwitch*2.*$xDamp/($omegaI+$omegaJ)]; set betaKcomm [expr $KcommSwitch*2.*$xDamp/($omegaI+$omegaJ)]; set betaKinit [expr $KinitSwitch*2.*$xDamp/($omegaI+$omegaJ)];
rayleigh $alphaM $betaKcurr $betaKinit $betaKcomm;
puts "$alphaM $betaKcurr $betaKinit $betaKcomm"
############################################################################
## perform Dynamic Ground-Motion Analysis ##
#############################################################################
set inFile $GMdir/$rec.txt; set outFile $GMdir/$rec.g3;
ReadSMDFile $inFile $outFile dt; ReadSMDFileNPTS $inFile $outFile NSteps;
set TmaxAnalysis [expr $dt*$NSteps]; set gfactor [expr $g*$factor];
puts "$dt $NSteps $TmaxAnalysis $gfactor"
set AccelSeries "Series -dt $dt -filePath $outFile -factor $gfactor";
set dir 1; set IDloadTag 400;
pattern UniformExcitation [expr $IDloadTag] $dir -accel $AccelSeries 0.1 ;
###################### changing some Analysis parameters #######################
set controlTime [getTime];
while {$controlTime < $TmaxAnalysis && $ok == 0} {
set controlTime [getTime]
# puts "ct $controlTime"
set ok [analyze 1 $dt]
#-----------------------------------------------------------#
if {$ok != 0} {
puts "Trying NewtonWithLineSearch .."
algorithm NewtonLineSearch .8
set ok [analyze 1 $dt]
algorithm $algorithmTypeDynamic
}
#-----------------------------------------------------------#
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormDispIncr $Tol 1000 0
algorithm Newton -initial
set ok [analyze 1 $dt]
test $testTypeDynamic $TolDynamic $maxNumIterDynamic 0
algorithm $algorithmTypeDynamic
}
#-----------------------------------------------------------#
if {$ok != 0} {
puts "Trying Broyden .."
algorithm Broyden 8
set ok [analyze 1 $dt]
algorithm $algorithmTypeDynamic
}
#-----------------------------------------------------------#
if {$ok != 0} {
puts "Trying big tol .."
test $testTypeDynamic [expr $TolDynamic*100] $maxNumIterDynamic 0
set ok [analyze 1 $dt]
test $testTypeDynamic $TolDynamic $maxNumIterDynamic 0
algorithm $algorithmTypeDynamic
}
#-----------------------------------------------------------#
if {$ok != 0} {
puts "system BandSPD .."
system BandSPD ;
set ok [analyze 1 $dt];
system BandGeneral;
}
if {$ok != 0} {
puts "system UmfPack .."
system UmfPack;
set ok [analyze 1 $dt];
system BandGeneral;
}
if {$ok != 0} {
puts "0.5*dt .."
set ok [analyze 1 [expr 0.5*$dt] ];
}
if {$ok != 0} {
puts "0.25*dt .."
set ok [analyze 1 [expr 0.25*$dt] ];
}
#
}
###################################################################################
wipe
}; #rec
main file:
uniform excitation - it isn't applied to the structure
Moderators: silvia, selimgunay, Moderators
-
- Posts: 18
- Joined: Wed May 15, 2013 10:14 pm
-
- Posts: 18
- Joined: Wed May 15, 2013 10:14 pm
Re: uniform excitation - it isn't applied to the structure
when I change direction in the uniform excitation command to 2 it isn't any problem either
the structures moves in the vertical direction and outputs are not zero
(my omdel is 2D)
the structures moves in the vertical direction and outputs are not zero
(my omdel is 2D)
-
- Posts: 18
- Joined: Wed May 15, 2013 10:14 pm
Re: uniform excitation - it isn't applied to the structure
the error is:
ArpackSolver : Maximum number of iterations reached
nobody can help?
ArpackSolver : Maximum number of iterations reached
nobody can help?
Re: uniform excitation - it isn't applied to the structure
that error you posted has to do with the eigenvalue determination. your script should not be getting to transient analysis and hence 0 results.