How can period in nonlinear dynamic analysis?
Moderators: silvia, selimgunay, Moderators
How can period in nonlinear dynamic analysis?
Haw i can calculate moment to moment period in nonlinear dynamic analysis?
Thank you very much for your help.
Thank you very much for your help.
Re: How can period in nonlinear dynamic analysis?
You have to do the analysis in a loop (step by step) and to insert eigen command in there. I posted an example for this in one of the posts on a message board.
Re: How can period in nonlinear dynamic analysis?
sorry,i could not find the example,please send me the link of it.
tnx alot for your help.
tnx alot for your help.
Re: How can period in nonlinear dynamic analysis?
tnx alot for your help
Re: How can period in nonlinear dynamic analysis?
hello,I calculated time history of natural's period of structre in nonlinear dynamic analysis,I want to know how the software do this and calculate stiffness redusing?
tnx for your help
tnx for your help
Re: How can period in nonlinear dynamic analysis?
What is your question again?
Re: How can period in nonlinear dynamic analysis?
hello,I calculated moment to moment period of structre in nonlinear dynamic analysis with following statements:
################ create the Transient analysis###################
set period "PeriodS.txt"
set Periods [open $period "w"]
set pi 3.141593
set deltaT 0.02
set NumTransiant 1151
set tFinal [expr $NumTransiant*$deltaT]
loadConst -time 0.0
wipeAnalysis
constraints Transformation
numberer RCM
system UmfPack
test NormDispIncr 1.0e-8 100
algorithm Newton
integrator Newmark 0.5 0.25
analysis Transient
set currentTime 0.0
while {$currentTime < $tFinal} {
set ok [analyze 1 $deltaT]
set lambda [eigen 1]
set T {};
foreach lam $lambda {
lappend T [expr (2*$pi)/sqrt($lam)]
}
foreach t $T {
puts $Periods " $t"
}
set currentTime [getTime]
}
close $Periods
//*********
i want to know software procedure in this calculation and how it uses stiffness reducing?
################ create the Transient analysis###################
set period "PeriodS.txt"
set Periods [open $period "w"]
set pi 3.141593
set deltaT 0.02
set NumTransiant 1151
set tFinal [expr $NumTransiant*$deltaT]
loadConst -time 0.0
wipeAnalysis
constraints Transformation
numberer RCM
system UmfPack
test NormDispIncr 1.0e-8 100
algorithm Newton
integrator Newmark 0.5 0.25
analysis Transient
set currentTime 0.0
while {$currentTime < $tFinal} {
set ok [analyze 1 $deltaT]
set lambda [eigen 1]
set T {};
foreach lam $lambda {
lappend T [expr (2*$pi)/sqrt($lam)]
}
foreach t $T {
puts $Periods " $t"
}
set currentTime [getTime]
}
close $Periods
//*********
i want to know software procedure in this calculation and how it uses stiffness reducing?
Re: How can period in nonlinear dynamic analysis?
After each step of the analysis the eigen analysis is performed using the current stiffness of the system.
Re: How can period in nonlinear dynamic analysis?
hello,thanks for your help,but i want to know the explanation of the theory that software uses for calculate stiffness redusing in each step
Re: How can period in nonlinear dynamic analysis?
OpenSees is open source which means that by looking at the source code you can see the theory of each class.
The link to source code is: http://opensees.berkeley.edu/WebSVN/lis ... runk%2FSRC
The link to source code is: http://opensees.berkeley.edu/WebSVN/lis ... runk%2FSRC
-
- Posts: 72
- Joined: Fri Jul 10, 2009 3:05 am
- Location: Griffith University
Re: How can period in nonlinear dynamic analysis?
Dear Vesna,
How can I calculate the moment to moment period in a pushover analysis? I tried the procedure mentioned above but I could not obtain the periods.
The following is my pushover algorithm:
set Fj5 [expr 5000*$N];
set Fj4 [expr 4000*$N];
set Fj3 [expr 3000*$N];
set Fj2 [expr 2000*$N];
set Fj1 [expr 1000*$N];
set Dmax [expr 0.05*$LBuilding ]; # maximum displacement of pushover. push to 10% drift.
set Dincr [expr 0.001*$LBuilding ]; # displacement increment. you want this to be small, but not too small to slow analysis
# -- STATIC PUSHOVER/CYCLIC ANALYSIS
# create load pattern for lateral pushover load coefficient when using linear load pattern
pattern Plain 200 Linear { # define load pattern
load 5 $Fj1 0 0
load 9 $Fj2 0 0
load 13 $Fj3 0 0
load 17 $Fj4 0 0
load 21 $Fj5 0 0
}; # end load pattern
# ----------- set up analysis parameters
set Tol 1.0e-4; # convergence tolerance for test
constraints Transformation; # how it handles boundary conditions
numberer RCM; # renumber dof's to minimize band-width (optimization), if you want to
system BandGeneral ; # how to store and solve the system of equations in the analysis (large model: try UmfPack)
test NormDispIncr $Tol 20 ; # determine if convergence has been achieved at the end of an iteration step
algorithm Newton ; # use Newton's solution algorithm: updates tangent stiffness at every iteration
integrator DisplacementControl $IDctrlNode $IDctrlDOF $Dincr;
analysis Static
# --------------------------------- perform Static Pushover Analysis
set Nsteps [expr int($Dmax/$Dincr)]; # number of pushover analysis steps
set ok [analyze $Nsteps]; # this will return zero if no convergence problems were encountered
set fmt1 "%s Pushover analysis: CtrlNode %.3i, dof %.1i, Disp=%.4f %s"; # format for screen/file output of DONE/PROBLEM analysis
if {$ok != 0} {
# if analysis fails, we try some other stuff, performance is slower inside this loop
set Dstep 0.0;
set ok 0
while {$Dstep <= 1.0 && $ok == 0} {
set controlDisp [nodeDisp $IDctrlNode $IDctrlDOF ]
set Dstep [expr $controlDisp/$Dmax]
set ok [analyze 1 ]
# if analysis fails, we try some other stuff
# performance is slower inside this loop global maxNumIterStatic; # max no. of iterations performed before "failure to converge" is ret'd
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormDispIncr $Tol 2000 0
algorithm Newton -initial
set ok [analyze 1]
test NormDispIncr $Tol 500 0
algorithm Newton
}
if {$ok != 0} {
puts "Trying Broyden .."
algorithm Broyden 8
set ok [analyze 1 ]
algorithm Newton
}
if {$ok != 0} {
puts "Trying NewtonWithLineSearch .."
algorithm NewtonLineSearch 0.8
set ok [analyze 1]
algorithm Newton
}
}; # end while loop
}; # end if ok !0
# -----------------------------------------------------------------------------------------------------
if {$ok != 0 } {
puts [format $fmt1 "PROBLEM" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] "milimeter"]
} else {
puts [format $fmt1 "DONE" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] "milimeter" ]
}
How can I calculate the moment to moment period in a pushover analysis? I tried the procedure mentioned above but I could not obtain the periods.
The following is my pushover algorithm:
set Fj5 [expr 5000*$N];
set Fj4 [expr 4000*$N];
set Fj3 [expr 3000*$N];
set Fj2 [expr 2000*$N];
set Fj1 [expr 1000*$N];
set Dmax [expr 0.05*$LBuilding ]; # maximum displacement of pushover. push to 10% drift.
set Dincr [expr 0.001*$LBuilding ]; # displacement increment. you want this to be small, but not too small to slow analysis
# -- STATIC PUSHOVER/CYCLIC ANALYSIS
# create load pattern for lateral pushover load coefficient when using linear load pattern
pattern Plain 200 Linear { # define load pattern
load 5 $Fj1 0 0
load 9 $Fj2 0 0
load 13 $Fj3 0 0
load 17 $Fj4 0 0
load 21 $Fj5 0 0
}; # end load pattern
# ----------- set up analysis parameters
set Tol 1.0e-4; # convergence tolerance for test
constraints Transformation; # how it handles boundary conditions
numberer RCM; # renumber dof's to minimize band-width (optimization), if you want to
system BandGeneral ; # how to store and solve the system of equations in the analysis (large model: try UmfPack)
test NormDispIncr $Tol 20 ; # determine if convergence has been achieved at the end of an iteration step
algorithm Newton ; # use Newton's solution algorithm: updates tangent stiffness at every iteration
integrator DisplacementControl $IDctrlNode $IDctrlDOF $Dincr;
analysis Static
# --------------------------------- perform Static Pushover Analysis
set Nsteps [expr int($Dmax/$Dincr)]; # number of pushover analysis steps
set ok [analyze $Nsteps]; # this will return zero if no convergence problems were encountered
set fmt1 "%s Pushover analysis: CtrlNode %.3i, dof %.1i, Disp=%.4f %s"; # format for screen/file output of DONE/PROBLEM analysis
if {$ok != 0} {
# if analysis fails, we try some other stuff, performance is slower inside this loop
set Dstep 0.0;
set ok 0
while {$Dstep <= 1.0 && $ok == 0} {
set controlDisp [nodeDisp $IDctrlNode $IDctrlDOF ]
set Dstep [expr $controlDisp/$Dmax]
set ok [analyze 1 ]
# if analysis fails, we try some other stuff
# performance is slower inside this loop global maxNumIterStatic; # max no. of iterations performed before "failure to converge" is ret'd
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormDispIncr $Tol 2000 0
algorithm Newton -initial
set ok [analyze 1]
test NormDispIncr $Tol 500 0
algorithm Newton
}
if {$ok != 0} {
puts "Trying Broyden .."
algorithm Broyden 8
set ok [analyze 1 ]
algorithm Newton
}
if {$ok != 0} {
puts "Trying NewtonWithLineSearch .."
algorithm NewtonLineSearch 0.8
set ok [analyze 1]
algorithm Newton
}
}; # end while loop
}; # end if ok !0
# -----------------------------------------------------------------------------------------------------
if {$ok != 0 } {
puts [format $fmt1 "PROBLEM" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] "milimeter"]
} else {
puts [format $fmt1 "DONE" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] "milimeter" ]
}
Re: How can period in nonlinear dynamic analysis?
Did you define any mass? Even though it's static pushover, the eigenvalue solver still needs a mass matrix.
-
- Posts: 72
- Joined: Fri Jul 10, 2009 3:05 am
- Location: Griffith University
Re: How can period in nonlinear dynamic analysis?
Dear Michael,
Thanks for kind consideration. Yes, I have defined nodal mass. I just want to know how to calculate the step to step period during pushover analysis.
Thanks for kind consideration. Yes, I have defined nodal mass. I just want to know how to calculate the step to step period during pushover analysis.