Choosing right algorithms and test commands
Moderators: silvia, selimgunay, Moderators
Choosing right algorithms and test commands
Hi, I have a problem with my model.
Is there any way to choose right algorithm and right test command to avoid convergence problems?
I have checked OpenSees examples and copied algorithm changing loops, but I still have convergence problems.
I tried dividing analysis time into many segments (1/20 of ground motion records, for example).
Sometimes it helped, but it took really long time to finish analyzing the models.
I also tried lots of algorithms and test commands(I tried almost every combinations: Linear+NormUnbalance, Linear+Energy, Newton+NormUnbalance, Newton+Energy , etc.) to see if I can avoid convergence problems.
and sometimes it did help me, but this method also took a long time to finish analyzing models.
I wonder if there is a better way to choose algorithms..
Please help me.. I'm so desperate...
Is there any way to choose right algorithm and right test command to avoid convergence problems?
I have checked OpenSees examples and copied algorithm changing loops, but I still have convergence problems.
I tried dividing analysis time into many segments (1/20 of ground motion records, for example).
Sometimes it helped, but it took really long time to finish analyzing the models.
I also tried lots of algorithms and test commands(I tried almost every combinations: Linear+NormUnbalance, Linear+Energy, Newton+NormUnbalance, Newton+Energy , etc.) to see if I can avoid convergence problems.
and sometimes it did help me, but this method also took a long time to finish analyzing models.
I wonder if there is a better way to choose algorithms..
Please help me.. I'm so desperate...
Re: Choosing right algorithms and test commands
there is no silver bullet (you start with a tolerance you are happy with and typically Newton or Newton with Line search .. if a step fails you try to achieve convergence with alternatives, but switch back when done) .. if everything you try fails then either you accept that this is as far as the model can go or possibly look into a different model as you figure out why the current model is failing ..
now, i presume you are doing different things in the script if the analysis fails inside some if analysisStep fails try something else and not a single test and algorithim that will work for all time steps?
now, i presume you are doing different things in the script if the analysis fails inside some if analysisStep fails try something else and not a single test and algorithim that will work for all time steps?
Re: Choosing right algorithms and test commands
Dear fmk,
Thanks for your reply. and I apologize that my question was quite distracted.
I tried two things, and both are based on OpenSees advanced example 5. (http://opensees.berkeley.edu/wiki/image ... niform.tcl)
one : dividing analysis time into more segments
example) assume ground motion record is 10 secs long. I checked [0.1 sec * 100 steps] VS [0.001 sec * 10000 steps], and sometimes [0.001 sec * 10000 steps] went further.
two: adding more alternatives to achive convergence if a step fails.
example)
if {$ok != 0} {
algorithm Linear
set ok [analyze 1 $DtAnalysis]
algorithm EnergyIncr
}
if {$ok != 0} {
algorithm Linear
set ok [analyze 1 $DtAnalysis]
algorithm RelativeNormDispIncr
}
if {$ok != 0} {
algorithm BFGS
set ok [analyze 1 $DtAnalysis]
algorithm EnergyIncr
}
and so on...
In conclusion, I have two questions.
1) If matrix of my structure is known(for example, sparse positive definite matirx; printA command is used), is there a good way of selecting algorithm and test command for specific matrix?
2) Is there some relations between test command and algorithm command? (for example, Newton algorithm and RelativeNorm command shouldn't be used together, or using BFGS and EnergyIncr together almost always shows best results... etc.)
Thanks for your reply. and I apologize that my question was quite distracted.
I tried two things, and both are based on OpenSees advanced example 5. (http://opensees.berkeley.edu/wiki/image ... niform.tcl)
one : dividing analysis time into more segments
example) assume ground motion record is 10 secs long. I checked [0.1 sec * 100 steps] VS [0.001 sec * 10000 steps], and sometimes [0.001 sec * 10000 steps] went further.
two: adding more alternatives to achive convergence if a step fails.
example)
if {$ok != 0} {
algorithm Linear
set ok [analyze 1 $DtAnalysis]
algorithm EnergyIncr
}
if {$ok != 0} {
algorithm Linear
set ok [analyze 1 $DtAnalysis]
algorithm RelativeNormDispIncr
}
if {$ok != 0} {
algorithm BFGS
set ok [analyze 1 $DtAnalysis]
algorithm EnergyIncr
}
and so on...
In conclusion, I have two questions.
1) If matrix of my structure is known(for example, sparse positive definite matirx; printA command is used), is there a good way of selecting algorithm and test command for specific matrix?
2) Is there some relations between test command and algorithm command? (for example, Newton algorithm and RelativeNorm command shouldn't be used together, or using BFGS and EnergyIncr together almost always shows best results... etc.)
Re: Choosing right algorithms and test commands
no constraints between integrator and algorithm .. a few betwenn constraint handler and test, e.g. Penalty and anything bit DispNorm is a non-no as is lagrange and anything but Unbalance.
as for the if .. most of the time 'Newton -initial' works if you set the number of itartions high enough (it is the one i always start with) .. after that, others like NewtonLineSearch.
as for the if .. most of the time 'Newton -initial' works if you set the number of itartions high enough (it is the one i always start with) .. after that, others like NewtonLineSearch.
Re: Choosing right algorithms and test commands
Thanks for your reply.
I'll try 'Newton -initial' and see how it works.
thank you.
I'll try 'Newton -initial' and see how it works.
thank you.
Re: Choosing right algorithms and test commands
Maybe "ModifiedNewton -intial" is a better choise...
Take a look at: http://opensees.berkeley.edu/community/ ... =2&t=61388
Take a look at: http://opensees.berkeley.edu/community/ ... =2&t=61388