StaticAnalysis.analyze(numSTEP)
Moderators: silvia, selimgunay, Moderators
StaticAnalysis.analyze(numSTEP)
Hello Opensees community,
I hope you could please help me to solve this issue.
I have experienced a problem with the class "StaticAnalysis" and the command "analyze".
briefly, I have a loop where the model is built and the load is applied in a load control, where the number of steps is 1 and lambda 1 a number of times.
the issue is that after a certain number of models the function call StaticAnalysis.analyze(1) does not return any value and reamins stack in a kind of endless loop although the max number of iterations is 20.
is possible to stop the command "analyze" after a certain amount time if stack without modifying the source code?
please let me know if require any further information.
Thank you for your help.
G
I hope you could please help me to solve this issue.
I have experienced a problem with the class "StaticAnalysis" and the command "analyze".
briefly, I have a loop where the model is built and the load is applied in a load control, where the number of steps is 1 and lambda 1 a number of times.
the issue is that after a certain number of models the function call StaticAnalysis.analyze(1) does not return any value and reamins stack in a kind of endless loop although the max number of iterations is 20.
is possible to stop the command "analyze" after a certain amount time if stack without modifying the source code?
please let me know if require any further information.
Thank you for your help.
G
Re: StaticAnalysis.analyze(numSTEP)
are you using a force beam column element or an nDmaterial like ManzariDafalias .. if so, the reason the analysis seems stuck is that the elements or materials are having a problem and are doing a lot of internal iterations. if not, get back to me.
as for what to do, you could do a number of analyze(1) steps inside a for loop instead of a single analysze(20). as for sopping the code w/o modifying it no. you would have to write some code, using probably threads, i.e. put the computation nin 1 thread and if it is not done after a certain amount of time, kill it. your state might be a mess (i.e. say was almost finished and certain elements have had commit invoked and others not)
as for what to do, you could do a number of analyze(1) steps inside a for loop instead of a single analysze(20). as for sopping the code w/o modifying it no. you would have to write some code, using probably threads, i.e. put the computation nin 1 thread and if it is not done after a certain amount of time, kill it. your state might be a mess (i.e. say was almost finished and certain elements have had commit invoked and others not)
Re: StaticAnalysis.analyze(numSTEP)
Thank you Frank,
I am not using nDmaterial.
I will try to follow your instructions and I will let you know.
I am not using nDmaterial.
I will try to follow your instructions and I will let you know.
Re: StaticAnalysis.analyze(numSTEP)
Hi Frank,
I have tried to follow your instruction, but apparentely I could not solve the issue described above.
after a certain number of pushovers in a monte carlo, the program at a point of the static analysis "analyze(1)" get hanged and does not return anymore. the recorder get in the output file when it hangs the following:
WARNING: CTestNormDispIncr::test() - failed to converge
after: 20 iterations
ModifiedNewton::solveCurrentStep() -the ConvergenceTest object failed in test()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at load factor 1
I also tried to use a thread to wrap the [StaticAnalysis::analyze(1)] function but the memory get messed up when I delete the object where I run the static analysis, I guess because I should modify OpenSees source code to acccount for the thread, but I am still trying to avoid to put my hands on the OpenSees source code.
Please let me know any suggestion.
Thank you.
I have tried to follow your instruction, but apparentely I could not solve the issue described above.
after a certain number of pushovers in a monte carlo, the program at a point of the static analysis "analyze(1)" get hanged and does not return anymore. the recorder get in the output file when it hangs the following:
WARNING: CTestNormDispIncr::test() - failed to converge
after: 20 iterations
ModifiedNewton::solveCurrentStep() -the ConvergenceTest object failed in test()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at load factor 1
I also tried to use a thread to wrap the [StaticAnalysis::analyze(1)] function but the memory get messed up when I delete the object where I run the static analysis, I guess because I should modify OpenSees source code to acccount for the thread, but I am still trying to avoid to put my hands on the OpenSees source code.
Please let me know any suggestion.
Thank you.
Re: StaticAnalysis.analyze(numSTEP)
i am guessing the problem is the forceBEamColumn element, the element you get if you use: "nonlinearBeamColumn", "beamWithHinges", or "forceBeamColumn". can you confirm if you are using this ele type?
Re: StaticAnalysis.analyze(numSTEP)
Hello Frank,
Thank you for your suggestion.
Yes I am using ForceBeamColum elements.
I have monitored the output of each step of analyze. apparently the problem was due to the "Element Length", that i use to read from the model to calculate the load. In same iterations some elements returned a huge vale on the order of 10e12, than the structure was loaded with a value proportional to this order and apparently this caused the analysis to hang. Since I modified the code, removing this part and applying the load in a differently it seems working fine without hanging anymore.
Thank you so much for your help.
Thank you for your suggestion.
Yes I am using ForceBeamColum elements.
I have monitored the output of each step of analyze. apparently the problem was due to the "Element Length", that i use to read from the model to calculate the load. In same iterations some elements returned a huge vale on the order of 10e12, than the structure was loaded with a value proportional to this order and apparently this caused the analysis to hang. Since I modified the code, removing this part and applying the load in a differently it seems working fine without hanging anymore.
Thank you so much for your help.