Why my IDA curve is linear?
Moderators: silvia, selimgunay, Moderators

 Posts: 18
 Joined: Wed May 15, 2013 10:14 pm
Why my IDA curve is linear?
Hello everybody!
my ida curve is linear while the pushover curve becomes nonlinear?
when I increase Sa(T1) it does converge and goes up. even for Sa=7!!
does anyone know what might be the problem?
my ida curve is linear while the pushover curve becomes nonlinear?
when I increase Sa(T1) it does converge and goes up. even for Sa=7!!
does anyone know what might be the problem?
Re: Why my IDA curve is linear?
Are you converting the ground motion record from units of g to length/time^2?
Was my answer helpful to you? https://www.buymeacoffee.com/mhscott
OpenSees courses: https://courses.silviasbrainery.com/
OpenSees 1on1 sessions: https://www.silviasbrainery.com/oneononetraining
OpenSees blog: www.portwooddigital.com
OpenSees courses: https://courses.silviasbrainery.com/
OpenSees 1on1 sessions: https://www.silviasbrainery.com/oneononetraining
OpenSees blog: www.portwooddigital.com

 Posts: 18
 Joined: Wed May 15, 2013 10:14 pm
Re: Why my IDA curve is linear?
yes I have multiplied records into 9806 ( g in mm/s^2) (my units are N,mm)
This is my code for performing IDA:
set rec 19;
set SS 0.005;
for {set step 1} {$step <= 12} {incr step 1} {
source Modeling.tcl;
source ReadSMDfile.tcl;
source ReadSMDfileNPTS.tcl;
source LibAnalysisDynamicParameters.tcl;
#############################################################################
## 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 $nEigenI1]];
set lambdaJ [lindex $lambdaN [expr $nEigenJ1]];
set omegaI [expr pow($lambdaI,0.5)];
set omegaJ [expr pow($lambdaJ,0.5)];
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;
#############################################################################
## perform Dynamic GroundMotion Analysis ##
#############################################################################
set IDloadTag 400;
set meanSa_T1 0.74;
set inFile $GMdir/$rec.txt;
set outFile $GMdir/$rec.g3;
ReadSMDFile $inFile $outFile dt;
ReadSMDFileNPTS $inFile $outFile NSteps;
set TmaxAnalysis [expr $dt*$NSteps];
set TmaxAnalysis 15; #
puts "step $NSteps"
set SS [expr $SS +0.1+($step 1)*0.05];
recorder Drift file 1rec$rec$step.out iNode 11 21 31 41 51 61 71 81 91 101 jNode 21 31 41 51 61 71 81 91 101 111 dof 1 perpDirn 2
set factor [expr $SS/$meanSa_T1];
set gfactor [expr $g*$factor];
set AccelSeries "Series dt $dt filePath $outFile factor $gfactor";
set GMdirection 1;
pattern UniformExcitation [expr $IDloadTag+$step] $GMdirection accel $AccelSeries ;
set ok [analyze $NSteps $dt];
###################### changing some Analysis parameters #######################
set ok 0;
set controlTime [getTime];
puts "controlTime $controlTime "
while {$controlTime < $TmaxAnalysis && $ok == 0} {
set controlTime [getTime]
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 ]
test $testTypeDynamic $TolDynamic $maxNumIterDynamic 0
algorithm $algorithmTypeDynamic
}
##
if {$ok != 0} {
puts "system BandSPD .."
system BandSPD ;
set ok [analyze 1 ];
system BandGeneral;
}
##
if {$ok != 0} {
puts "system UmfPack .."
system UmfPack;
set ok [analyze 1 ];
system BandGeneral;
}
puts "*****************analyze completed,ok =$ok****************"
}
wipe
};
This is my code for performing IDA:
set rec 19;
set SS 0.005;
for {set step 1} {$step <= 12} {incr step 1} {
source Modeling.tcl;
source ReadSMDfile.tcl;
source ReadSMDfileNPTS.tcl;
source LibAnalysisDynamicParameters.tcl;
#############################################################################
## 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 $nEigenI1]];
set lambdaJ [lindex $lambdaN [expr $nEigenJ1]];
set omegaI [expr pow($lambdaI,0.5)];
set omegaJ [expr pow($lambdaJ,0.5)];
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;
#############################################################################
## perform Dynamic GroundMotion Analysis ##
#############################################################################
set IDloadTag 400;
set meanSa_T1 0.74;
set inFile $GMdir/$rec.txt;
set outFile $GMdir/$rec.g3;
ReadSMDFile $inFile $outFile dt;
ReadSMDFileNPTS $inFile $outFile NSteps;
set TmaxAnalysis [expr $dt*$NSteps];
set TmaxAnalysis 15; #
puts "step $NSteps"
set SS [expr $SS +0.1+($step 1)*0.05];
recorder Drift file 1rec$rec$step.out iNode 11 21 31 41 51 61 71 81 91 101 jNode 21 31 41 51 61 71 81 91 101 111 dof 1 perpDirn 2
set factor [expr $SS/$meanSa_T1];
set gfactor [expr $g*$factor];
set AccelSeries "Series dt $dt filePath $outFile factor $gfactor";
set GMdirection 1;
pattern UniformExcitation [expr $IDloadTag+$step] $GMdirection accel $AccelSeries ;
set ok [analyze $NSteps $dt];
###################### changing some Analysis parameters #######################
set ok 0;
set controlTime [getTime];
puts "controlTime $controlTime "
while {$controlTime < $TmaxAnalysis && $ok == 0} {
set controlTime [getTime]
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 ]
test $testTypeDynamic $TolDynamic $maxNumIterDynamic 0
algorithm $algorithmTypeDynamic
}
##
if {$ok != 0} {
puts "system BandSPD .."
system BandSPD ;
set ok [analyze 1 ];
system BandGeneral;
}
##
if {$ok != 0} {
puts "system UmfPack .."
system UmfPack;
set ok [analyze 1 ];
system BandGeneral;
}
puts "*****************analyze completed,ok =$ok****************"
}
wipe
};

 Posts: 18
 Joined: Wed May 15, 2013 10:14 pm
Re: Why my IDA curve is linear?
Is there any problem with my code?
Re: Why my IDA curve is linear?
does your pushover curve have a branch with negative hardening (slope)?

 Posts: 18
 Joined: Wed May 15, 2013 10:14 pm
Re: Why my IDA curve is linear?
no it doesn't have a softening branch, just its slope decreases
Re: Why my IDA curve is linear?
Can I see your code (Modeling.tcl)?

 Posts: 18
 Joined: Wed May 15, 2013 10:14 pm
Re: Why my IDA curve is linear?
thanks Mr Amini for ur attention, my problem is solved .

 Posts: 38
 Joined: Thu Jun 27, 2013 2:39 pm
 Location: universidad de los andes
Re: Why my IDA curve is linear?
hello, I have the same problem as you, how did you solve it?
Thanks
Thanks
Re: Why my IDA curve is linear?
hi.mr amini my IDA curve in not linear but it has not flatline at the end!!! what is resone??
i can send my model for you.
thanks a lot
i can send my model for you.
thanks a lot

 Posts: 14
 Joined: Sat Aug 16, 2014 11:14 am
 Location: Iran, Shiraz
Re: Why my IDA curve is linear?
Hi, dear mrtdpg, I have the same problem as you. my IDA curve in not linear but it has not flatline at the end! I used fiber section, I guess there is a problem here!
can any body help me?
dear ToBeLignos, how did you solve it?
dear martinmasanes, have you found out where the problem is?
can any body help me?
dear ToBeLignos, how did you solve it?
dear martinmasanes, have you found out where the problem is?

 Posts: 24
 Joined: Wed Feb 20, 2013 4:23 pm
 Location: University of Virginia
Re: Why my IDA curve is linear?
Hi,
To perform IDA analysis, the model should carefully incorporate the following issues:
1. selection of appropriate material nonlinear model
2. PDelta effects for geometric nonlinearity with leaning column
3. Suitable algorithm for dynamic analysis and solution convergence
4. Interval of time step in the analysis
Next, the scaling of the ground motion should be nonuniform to save computational effort.
To perform IDA analysis, the model should carefully incorporate the following issues:
1. selection of appropriate material nonlinear model
2. PDelta effects for geometric nonlinearity with leaning column
3. Suitable algorithm for dynamic analysis and solution convergence
4. Interval of time step in the analysis
Next, the scaling of the ground motion should be nonuniform to save computational effort.