failed to converge

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

Moderators: silvia, selimgunay, Moderators

Post Reply
jyokou
Posts: 6
Joined: Thu Jun 11, 2015 7:01 am
Location: kumamotodaigaku

failed to converge

Post by jyokou »

hello
I built up the 2D steel frame with rotational friction damper by rotspring.tcl.
However,it does not work while I use the time history analysis.
the warning message is belows:

WARNING: CTestNormDispIncr::test() - failed to converge
after: 1000 iterations
NewtnRaphson::solveCurrentStep() -the ConvergenceTest object failed in test()
DirectIntegrationAnalysis::analyze() - the Algorithm failed at time 1.16
OpenSees > analyze failed, returned: -3 error flag

And this is my script:
wipe;
model BasicBuilder -ndm 2 -ndf 3;
source DisplayModel2D.tcl;
source DisplayPlane.tcl;
set Data stick_l$A-$Rr-$wave;
file mkdir $Data;
cd stick_l$A-$Rr-$wave;
set Data1 nodedisp;
file mkdir $Data1;
set Data2 Drift;
file mkdir $Data2;
set Data3 Column;
file mkdir $Data3;
set Data4 Beam;
file mkdir $Data4;
set Data5 damper;
file mkdir $Data5;
set Data6 rotation;
file mkdir $Data6;
cd ../;
set L 6000;
set H 4000;
#
set l $A;
set x1 0;
set x2 [expr $x1 + 0.5*($L-$l)];
set x3 [expr $x2 + $l];
set x4 $L;
#
set y1 0;
set y2 [expr $y1 + 0.5*$H];
set y3 $H;
#
node 11 $x1 $y1;
node 13 $x1 $y3;
node 41 $x4 $y1;
node 43 $x4 $y3;
node 22 $x2 $y2;
node 32 $x3 $y2;
#
node 111 $x1 $y1;
node 131 $x1 $y3;
node 411 $x4 $y1;
node 431 $x4 $y3;
#
node 221 $x2 $y2;
node 321 $x3 $y2;
node 222 $x2 $y2;
node 322 $x3 $y2;
#
fix 11 1 1 1;
fix 41 1 1 1;
#
equalDOF 11 111 1 2;
equalDOF 13 131 1 2;
equalDOF 43 431 1 2;
equalDOF 41 411 1 2;
#
equalDOF 222 221 1 2 3;
equalDOF 322 321 1 2 3;

;
#
equalDOF 13 43 1;
#
mass 13 10 1.0e-8 1.0e-8;
mass 43 10 1.0e-8 1.0e-8;
#
set E 205000.0;#
set Fy 235;
#
set C1sec 1;
set C1M 2;
set C1N 3;
set B1sec 4;
set B1N 5;
set B1M 6;
set Brsec 7;
set Pansec 8;
set Li 1;
set Co 2;
set PD 3;
geomTransf Linear $Li;#
geomTransf Corotational $Co;
geomTransf PDelta $PD;#
#
##柱
set Ac 8467;
set Ic 80900000.0;
set EIc [expr $E*$Ic];#
set EAc [expr $E*$Ac];#
set MyC [expr 759000*$Fy];#
set PhC [expr $MyC/$EIc];#
set EIcCr [expr $MyC/$PhC];#
set b 0.006;
uniaxialMaterial Steel01 $C1M $MyC $EIcCr $b;#
uniaxialMaterial Elastic $C1N $EAc;#
section Aggregator $C1sec $C1N P $C1M Mz;#
#
#梁
set Ab 4678;
set Ib 72100000;
set EIb [expr $E*$Ib];
set EAb [expr $E*$Ab];
set Myb [expr 542000*$Fy];
set Phb [expr $Myb/$EIb];
set EIbCr [expr $Myb/$Phb];
uniaxialMaterial Steel01 $B1M $Myb $EIbCr $b;
uniaxialMaterial Elastic $B1N $EAb;
section Aggregator $B1sec $B1N P $B1M Mz;
set np 3;
#brace
set AgBr 373.7;
set IzBr 141000;
section Elastic $Brsec $E $AgBr $IzBr;
#柱
element nonlinearBeamColumn 1113 11 13 $np $C1sec $PD;
element nonlinearBeamColumn 4143 41 43 $np $C1sec $PD;
#梁
element nonlinearBeamColumn 1343 13 43 $np $B1sec $Li;
#
#
#brace
element dispBeamColumn 111221 111 221 $np $Brsec $Co;
element dispBeamColumn 131222 131 222 $np $Brsec $Co;
element dispBeamColumn 411321 411 321 $np $Brsec $Co;
element dispBeamColumn 431322 431 322 $np $Brsec $Co;
#damper
element dispBeamColumn 2232 22 32 $np $Brsec $Co;
#
source RotSpring2DModIKModel.tcl
source RotLeaningCol.tcl
set Ms 3160000;#
set Mycol [expr $Ms*$Rr];#
#
set Ks 1.0e10;#
set bb 1.0e-8;#
set LS 1.0e3;#
set LK 1.0e3;#
set LA 1.0e3;#
set LD 1.0e3;#
set cS 1;#
set cK 1;#
set cA 1;#
set cD 1;#
#
#
set th_pP 1.0e6;#
set th_pN 1.0e6;#
set th_pcP 1.0e8;#
set th_pcN 1.0e8;#
set ResP 1.0;#
set ResN 1.0;#
set th_uP 1.0e8;#
set th_uN 1.0e8;#
set DP 1.0;#
set DN 1.0;#
#
rotSpring2DModIKModel 22221 222 22 $Ks $bb $bb $Mycol [expr -$Mycol] $LS $LK $LA $LD $cS $cK $cA $cD $th_pP $th_pN $th_pcP $th_pcN $ResP $ResN $th_uP $th_uN $DP $DN;#
#
rotSpring2DModIKModel 32321 322 32 $Ks $bb $bb $Mycol [expr -$Mycol] $LS $LK $LA $LD $cS $cK $cA $cD $th_pP $th_pN $th_pcP $th_pcN $ResP $ResN $th_uP $th_uN $DP $DN;#
#
recorder Node -file $Data/$Data1/node13disp.out -time -dT $dT -node 13 -dof 1 disp;
recorder Node -file $Data/$Data1/node43disp.out -time -dT $dT -node 43 -dof 1 disp;
#
recorder Drift -file $Data/$Data2/DriftL1.out -time -iNode 11 -jNode 13 -dof 1 -perpDirn 2
recorder Drift -file $Data/$Data2/DriftR1.out -time -iNode 41 -jNode 43 -dof 1 -perpDirn 2;
#
recorder Element -file $Data/$Data5/dampershearsection1.out -time -dT $dT -ele 2232 section 1 force;
recorder Element -file $Data/$Data5/dampershearsection3.out -time -dT $dT -ele 2232 section 3 force;
#
recorder Element -file $Data/$Data3/CLshear.out -time -dT $dT -ele 1113 localForce;
recorder Element -file $Data/$Data3/CRshear.out -time -dT $dT -ele 4143 localForce;
#
recorder Node -file $Data/$Data6/node22disp.out -time -dT $dT -node 22 -dof 3 disp;
recorder Node -file $Data/$Data6/node32disp.out -time -dT $dT -node 32 -dof 3 disp;
recorder Node -file $Data/$Data6/node222disp.out -time -dT $dT -node 222 -dof 3 disp;
recorder Node -file $Data/$Data6/node221disp.out -time -dT $dT -node 221 -dof 3 disp;

#
set ViewScale 5;#
DisplayModel2D DeformedShape $ViewScale;
#
pattern Plain 1 Linear {
load 13 0 -98000 0;
load 43 0 -98000 0;
}
constraints Plain;
numberer RCM;
system BandGeneral;
test NormDispIncr 1.0e-6 500;
algorithm Newton;
integrator LoadControl 0.1;
analysis Static;
analyze 10;
loadConst -time 0;
#
set analysisType "dynamic";
if {$analysisType == "dynamic"} {
puts "Running dynamic analysis..."
#
set accelSeries "Series -dt 0.02 -filePath $wave.acc -factor 2";
pattern UniformExcitation 2 1 -accel $accelSeries;
set xDamp 0.02;
#
set xDamp 0.05;
set nEigenI 1;
set nEigenJ 2;
set list [eigen $nEigenJ];
set w1s [lindex $list [expr $nEigenI-1]];
set w2s [lindex $list [expr $nEigenJ-1]];
set w1 [expr pow($w1s,0.5)];
set w2 [expr pow($w2s,0.5)];
set alphaM [expr $xDamp*(2*$w1*$w2)/($w1+$w2)];
set betaKcurr [expr 2.*$xDamp/($w1+$w2)];
rayleigh $alphaM $betaKcurr 0 0;
#
constraints Plain;
numberer RCM;
system BandGeneral;
test NormDispIncr 1e-8 1000;
algorithm Newton;
integrator Newmark 0.5 0.25;
analysis Transient;
analyze 2000 0.01
}
wipe

your reply will be highly appreciated.
Thanks
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: failed to converge

Post by fmk »

do something in the analysis script to try and get it to work, see the analysis part of the following .. it is in the while loop

while {$ok == 0 && $tCurrent < $tFinal} {
.. DO THINGS
}

http://opensees.berkeley.edu/wiki/index ... ple3.3.tcl
jyokou
Posts: 6
Joined: Thu Jun 11, 2015 7:01 am
Location: kumamotodaigaku

Re: failed to converge

Post by jyokou »

Thank you for your kindly reply .
The problem has already be solved by opensees version 2.4.1 .
But to my surprise, the version 2.4.6 cannot work on it.
Post Reply