About Analyze Command

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
khunglongkhelua
Posts: 21
Joined: Thu Mar 24, 2011 3:59 pm
Location: Penn State University

About Analyze Command

Post by khunglongkhelua »

Dear vesna

I ran my model through a ground motion with dt = 0.02. I put Analyze 2000 steps with dt = 0.02. Then I put Analyze 1000 steps with dt 0.04. I expected to have close result between 2 running but it is not. In your example here http://opensees.berkeley.edu/wiki/index ... ver_Column the results are quite the same when I changed the Analyze from 3995 0.01 to 7990 0.005 . Is it because I did sth wrong in my model or sometimes the results could be much different and we should choose time step of the analyze coincide with dt of the ground motion ? I can send you my model if needed.

Thanks a lot.
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: About Analyze Command

Post by vesna »

You have an error somewhere in your model. If your model is as simple as mine you can post it and I will take a look.
rasoulazadi
Posts: 14
Joined: Mon Apr 18, 2011 10:27 pm
Location: tehran

Re: About Analyze Command

Post by rasoulazadi »

hi dear vena
in pushover analysis how we determine the number of steps ? for example
set LBuilding 24.5;
set IDctrlNode 73;
set IDctrlDOF 1;
set Dmax [expr 0.02*$LBuilding ]; # maximum displacement of pushover. push to 10% drift.
set Dincr [expr 0.0001*$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 4 Linear {
load 23 [expr (676+0.2*294)*9*45*4.5] 0.0 0.0
load 33 [expr (676+0.2*294)*9*45*8.5] 0.0 0.0
load 43 [expr (676+0.2*294)*9*45*12.5] 0.0 0.0
load 53 [expr (676+0.2*294)*9*45*16.5] 0.0 0.0
load 63 [expr (676+0.2*294)*9*45*20.5] 0.0 0.0
load 73 [expr (768+0.2*294)*9*45*24.5] 0.0 0.0
}


set g 9.81
set x 1
#set txt [open 1.tcl w+]
# set s "pattern Plain [expr $y+1000] Linear { load $y$x [expr int([lindex $FStory [expr $y-1]])] 0 0 0 0 0 }"
#puts $txt "$s"
; # end load pattern



# ----------- set up analysis parameters
set Tol 1.0e-8; # convergence tolerance for test
source LibAnalysisStaticParameters.tcl; # constraintsHandler,DOFnumberer,system-ofequations,convergenceTest,solutionAlgorithm,integrator

# --------------------------------- 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
puts " [analyze 2]"
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
set i 0;
while {$Dstep <= 1.0 && $ok == 0} {
set i [expr $i+1];
set controlDisp [nodeDisp $IDctrlNode $IDctrlDOF ]
set Dstep [expr $controlDisp/$Dmax ]
set ok [analyze 1 ]

if {$ok != 0} {
puts "\n Try ModifiedNewton algorithm... \n"
algorithm ModifiedNewton -initial
test EnergyIncr 1.0e-6 1000 0
set ok [analyze 1]
algorithm $algorithmTypeStatic
if {$ok == 0} {
puts "\n ... ModifiedNewton succeed \n"
}
}

if {$ok != 0} {
puts "\n Trying Newton with Initial Tangent ... \n"
algorithm Newton -initial
test EnergyIncr 1.0e-6 1000 0
set ok [analyze 1]
algorithm $algorithmTypeStatic
if {$ok == 0} {
puts "\n ... Newton with Initial Tangent succeed \n"
}
}

if {$ok != 0} {
puts "\n Try KrylovNewton algorithm... \n"
algorithm KrylovNewton -initial
test EnergyIncr 1.0e-6 1000 0
set ok [analyze 1]
algorithm $algorithmTypeStatic
if {$ok == 0} {
puts "\n ... ModifiedNewton succeed \n"
}
}

if {$ok != 0} {
puts "\n Trying NewtonWithLineSearch ... \n"
algorithm NewtonLineSearch 0.8
test EnergyIncr 1.0e-6 1000 0
set ok [analyze 1]
algorithm $algorithmTypeStatic
if {$ok == 0} {
puts "\n ... NewtonWithLineSearch succeed \n"
}
}

if {$ok != 0} {
puts "\n Trying Broyden ... \n"
algorithm Broyden 8
test EnergyIncr 1.0e-6 1000 0
set ok [analyze 1 ]
algorithm $algorithmTypeStatic
if {$ok == 0} {
puts "\n ... Broyden succeed \n"
}

}


}; # end while loop
}; # end if ok !0

# -----------------------------------------------------------------------------------------------------
if {$ok != 0 } {
puts "PROBLEM"
} else {
puts "DONE"
}
in which part of this determined the analysis step ?
thanks
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: About Analyze Command

Post by vesna »

Number of steps depends on your target displacement and displacement increment. e.g., if you want to push your building up to displacement of 10 and your disp. increment is 0.01 you will need 1000 steps of analysis to reach your target displacement.
khunglongkhelua
Posts: 21
Joined: Thu Mar 24, 2011 3:59 pm
Location: Penn State University

Re: About Analyze Command

Post by khunglongkhelua »

Dear vesna

Can I send you my model through email? Thanks a lot.
rasoulazadi
Posts: 14
Joined: Mon Apr 18, 2011 10:27 pm
Location: tehran

Re: About Analyze Command

Post by rasoulazadi »

hi
tanks a lot for replay
my problem is that if we do not use from ANALYZE command in pushover analysis how many step will done for this analyse
tanks
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: About Analyze Command

Post by vesna »

khunglongkhelua,

If the model is not too big post it here. Otherwise send it to my e-mail.
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: About Analyze Command

Post by vesna »

rasoulazadi,

Dmax/Dincr = numSteps
rasoulazadi
Posts: 14
Joined: Mon Apr 18, 2011 10:27 pm
Location: tehran

Re: About Analyze Command

Post by rasoulazadi »

hi dear vesna
tanks a lot i find out my problem
set ok [analyze $nstep]
tanks
rasoulazadi
Posts: 14
Joined: Mon Apr 18, 2011 10:27 pm
Location: tehran

Re: About Analyze Command

Post by rasoulazadi »

hi dear
what is difference between this two command ?
set fee1{1} 1
set fee1 1
tanks
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: About Analyze Command

Post by vesna »

I do not know if the first one works at all, but the second one assigns 1 to fee1.
Post Reply