Previous Topic

Next Topic

...Run Static Pushover Analysis

While running a static pushover analysis may take a single command, convergence may not always be reached with a single analysis-parameter setting. A Tcl script which tries different solutions can be incorporated to improve the chances of convergence.

No convergence issues

The following command executes the static push-over analysis when convergence is not a problem.

# ---------RunPushover.tcl------------------------------------------------------------------------------------

analyze $Nsteps

Convergence attemps

The following Tcl script should be incorporated in the input file to run a number of attempts at convergence:

# ---------RunPushover2Converge.tcl----------------------------------------------------------------

set ok [analyze $Nsteps]

# if analysis fails, try the following, performance is slowed inside this loop

if {$ok != 0} {

set ok 0;

set maxU $DmaxPush

set controlDisp 0.0;

test NormDispIncr 1.0e-8 20 0

while {$controlDisp < $maxU && $ok == 0} {

set ok [analyze 1]

set controlDisp [nodeDisp $IDctrlNode 1]

if {$ok != 0} {

puts "Trying Newton with Initial Tangent .."

test NormDispIncr 1.0e-8 1000 1

algorithm Newton -initial

set ok [analyze 1]

test NormDispIncr 1.0e-8 20 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 .8

set ok [analyze 1]

algorithm Newton

}

}; # end while loop

}; # end original if $ok!=0 loop

if {$ok != 0} {

puts "DispControl Analysis FAILED"

puts "Do you wish to continue y/n ?"; # include if want to pause at analysis failure

gets stdin ans; # not recommended in parameter study

if {$ans == "n"} done; # as it interrupts batch file

} else {

puts "DispControl Analysis SUCCESSFUL"

}