Smart Analysis¤
This live script is written as a guided walkthrough for a post-processing workflow. It focuses on retrieving, organizing, and visualizing model or response data after an OpenSees analysis. Read the text cells first, then run each code cell in order so that the variables, model state, and recorded results are available for the later sections.
Demonstrating how to use intelligent analysis algorithms.
See also opstool.
1 2 3 4 | |
Reinforced Concrete Frame Pushover Analysis¤
This section configures and runs the analysis. The solver, constraints, convergence test, and step size should be read together because they control numerical robustness.
1 2 3 4 | |
Output
[OpenSeesMatlab] Model summary
Nodes: 4
Beam elements: 3
Smart Analysis¤
No fixed number of analyses¤
1 2 3 4 5 6 7 8 9 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Output
[OpenSeesMatlab::SmartAnalyze] Configuration:
analysis=Static, test=EnergyIncr, tol=1.000e-10, iter=10, printFlag=0
algorithm=KrylovNewton (type 40), candidates=[40, 10, 20, 30]
retry: addIter=1 [50, 100], alterAlgo=1, alterTest=0 [NormDispIncr, NormUnbalance, RelativeEnergyIncr], looseTol=0 [1e-08], relaxStep=1 (relaxation=0.5, minStep=1.000e-06)
record: normHistory=1, diagnostics=0, printPer=50
1 2 3 4 5 6 | |
Output
[OpenSeesMatlab::SmartAnalyze] progress 50 steps. Time: 0.112 s. ✅
[OpenSeesMatlab::SmartAnalyze] progress 100 steps. Time: 0.146 s. ✅
[OpenSeesMatlab::SmartAnalyze] progress 150 steps. Time: 0.175 s. ✅
[OpenSeesMatlab::SmartAnalyze] progress 200 steps. Time: 0.201 s. ✅
[OpenSeesMatlab::SmartAnalyze] progress 250 steps. Time: 0.233 s. ✅
[OpenSees] WARNING: CTestEnergyIncr::test() - failed to converge
[OpenSees] after: 10 iterations
[OpenSees] current EnergyIncr: 5.80578e-06 (max: 1e-10) Norm deltaX: 0.00017573, Norm deltaR: 0.672724
[OpenSees] AcceleratedNewton::solveCurrentStep() -The ConvergenceTest object failed in test()
[OpenSees] StaticAnalysis::analyze() - the Algorithm failed at step: 0 with domain at load factor 2.89496
[OpenSees] OpenSees > analyze failed, returned: -3 error flag
[OpenSeesMatlab::SmartAnalyze] Adding test times to 50. ✳️
[OpenSeesMatlab::SmartAnalyze] progress 300 steps. Time: 0.278 s. ✅
[OpenSeesMatlab::SmartAnalyze] progress 350 steps. Time: 0.317 s. ✅
[OpenSeesMatlab::SmartAnalyze] progress 400 steps. Time: 0.347 s. ✅
[OpenSees] WARNING: CTestEnergyIncr::test() - failed to converge
[OpenSees] after: 10 iterations
[OpenSees] current EnergyIncr: 2.70125e-05 (max: 1e-10) Norm deltaX: 0.000819596, Norm deltaR: 0.253889
[OpenSees] AcceleratedNewton::solveCurrentStep() -The ConvergenceTest object failed in test()
[OpenSees] StaticAnalysis::analyze() - the Algorithm failed at step: 0 with domain at load factor 1.64367
[OpenSees] OpenSees > analyze failed, returned: -3 error flag
[OpenSeesMatlab::SmartAnalyze] Adding test times to 50. ✳️
[OpenSeesMatlab::SmartAnalyze] progress 450 steps. Time: 0.383 s. ✅
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Analysis of the fixed number of steps¤
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Output
[OpenSeesMatlab::SmartAnalyze] Configuration:
analysis=Static, test=NormDispIncr, tol=1.000e-08, iter=10, printFlag=0
algorithm=KrylovNewton (type 40), candidates=[40, 10, 20, 30]
retry: addIter=1 [50, 100], alterAlgo=1, alterTest=0 [NormDispIncr, NormUnbalance, RelativeEnergyIncr], looseTol=0 [1e-08], relaxStep=1 (relaxation=0.5, minStep=1.000e-06)
record: normHistory=1, diagnostics=0, printPer=50
1 2 3 4 5 6 7 8 9 10 | |
Output
[OpenSeesMatlab::SmartAnalyze] progress 11.111 % (50/450). Time: 0.067 s. ✅
[OpenSeesMatlab::SmartAnalyze] progress 22.222 % (100/450). Time: 0.110 s. ✅
[OpenSeesMatlab::SmartAnalyze] progress 33.333 % (150/450). Time: 0.140 s. ✅
[OpenSeesMatlab::SmartAnalyze] progress 44.444 % (200/450). Time: 0.170 s. ✅
[OpenSeesMatlab::SmartAnalyze] progress 55.556 % (250/450). Time: 0.207 s. ✅
[OpenSees] WARNING: CTestNormDispIncr::test() - failed to converge
[OpenSees] after: 10 iterations current Norm: 0.000359096 (max: 1e-08, Norm deltaR: 0.195182)
[OpenSees] AcceleratedNewton::solveCurrentStep() -The ConvergenceTest object failed in test()
[OpenSees] StaticAnalysis::analyze() - the Algorithm failed at step: 0 with domain at load factor 2.89483
[OpenSees] OpenSees > analyze failed, returned: -3 error flag
[OpenSeesMatlab::SmartAnalyze] Adding test times to 50. ✳️
[OpenSeesMatlab::SmartAnalyze] progress 66.667 % (300/450). Time: 0.263 s. ✅
[OpenSees] WARNING: CTestNormDispIncr::test() - failed to converge
[OpenSees] after: 10 iterations current Norm: 3.45018e-08 (max: 1e-08, Norm deltaR: 0.00026513)
[OpenSees] AcceleratedNewton::solveCurrentStep() -The ConvergenceTest object failed in test()
[OpenSees] StaticAnalysis::analyze() - the Algorithm failed at step: 0 with domain at load factor 2.30484
[OpenSees] OpenSees > analyze failed, returned: -3 error flag
[OpenSeesMatlab::SmartAnalyze] Adding test times to 50. ✳️
[OpenSeesMatlab::SmartAnalyze] progress 77.778 % (350/450). Time: 0.307 s. ✅
[OpenSeesMatlab::SmartAnalyze] progress 88.889 % (400/450). Time: 0.342 s. ✅
[OpenSees] WARNING: CTestNormDispIncr::test() - failed to converge
[OpenSees] after: 10 iterations current Norm: 0.000819595 (max: 1e-08, Norm deltaR: 0.25389)
[OpenSees] AcceleratedNewton::solveCurrentStep() -The ConvergenceTest object failed in test()
[OpenSees] StaticAnalysis::analyze() - the Algorithm failed at step: 0 with domain at load factor 1.64367
[OpenSees] OpenSees > analyze failed, returned: -3 error flag
[OpenSeesMatlab::SmartAnalyze] Adding test times to 50. ✳️
[OpenSeesMatlab::SmartAnalyze] progress 100.000 % (450/450). Time: 0.401 s. ✅
[OpenSeesMatlab::SmartAnalyze] Successfully finished! Progress: 100.000 % (450/450). Time: 0.402 s.
1 2 3 4 5 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
1 2 3 4 5 6 7 8 9 10 11 | |