Hi!
I’ve got some convergence problems with a dynamic time history analysis.
The model I’m using is capable to reach deformation at top floor of 1%-2% of the total height with a static pushover analysis, but with dynamic analysis it doesn’t reach even 0.5%.
However I’ve noticed that the problem during the DTHA starts when –probably- the stiffness matrix has got negative values (in the PO curve there is a negative tangent).
I’m using Newmark integrator:
integrator Newmark 0.5 0.25
Bui I’ve already tried with HTT:
integrator HHT 0.6
How can I solve this problem?
The scripts I’m using is:
1) 9F-R-Mod.base.tcl: (MODEL)
wipe
source PROC-CreaPilastro.tcl
source PROC-CreaTrave.tcl
model BasicBuilder -ndm 2 -ndf 3
# CREAZIONE DEI NODI
# Piano terra
# NTag X Y
node 01 0.0 0.0
node 02 4.5 0.0
node 03 9.5 0.0
node 04 14.0 0.0
# Piano primo
# NTag X Y
node 11 0.0 3.2
node 12 4.5 3.2
node 13 9.5 3.2
node 14 14.0 3.2
# Piano secondo
# NTag X Y
node 21 0.0 6.4
node 22 4.5 6.4
node 23 9.5 6.4
node 24 14.0 6.4
# Piano terzo
# NTag X Y
node 31 0.0 9.6
node 32 4.5 9.6
node 33 9.5 9.6
node 34 14.0 9.6
# Piano quarto
# NTag X Y
node 41 0.0 12.8
node 42 4.5 12.8
node 43 9.5 12.8
node 44 14.0 12.8
# Piano quinto
# NTag X Y
node 51 0.0 16.0
node 52 4.5 16.0
node 53 9.5 16.0
node 54 14.0 16.0
# Piano sesto
# NTag X Y
node 61 0.0 19.2
node 62 4.5 19.2
node 63 9.5 19.2
node 64 14.0 19.2
# Piano settimo
# NTag X Y
node 71 0.0 22.4
node 72 4.5 22.4
node 73 9.5 22.4
node 74 14.0 22.4
# Piano ottavo
# NTag X Y
node 81 0.0 25.6
node 82 4.5 25.6
node 83 9.5 25.6
node 84 14.0 25.6
# Piano nono
# NTag X Y
node 91 0.0 28.8
node 92 4.5 28.8
node 93 9.5 28.8
node 94 14.0 28.8
# Vincoli piano terra
fix 01 1 1 1
fix 02 1 1 1
fix 03 1 1 1
fix 04 1 1 1
# Materiali fissi - acciaio e cls non confinato
uniaxialMaterial Steel01 1 440000 210000000 0.0
uniaxialMaterial Concrete04 2 -30000 -0.002 -0.004 25742960
# Trasformazioni lineari
geomTransf PDelta 1
geomTransf Linear 2
# Creazione PILASTRI
set Pi 5
# Piano terra
# NE NS N1 N2 NpI h b As Nbl Ns IdAcc IdCls1 IdCls2 k ecu IdTG
creaPilastro 01 3 01 11 $Pi 0.45 0.30 0.000135 3 4 1 2 3 1.12 -0.015 1
creaPilastro 02 4 02 12 $Pi 0.65 0.40 0.000217 4 4 1 2 4 1.11 -0.014 1
creaPilastro 03 5 03 13 $Pi 0.65 0.40 0.000217 4 4 1 2 5 1.11 -0.014 1
creaPilastro 04 6 04 14 $Pi 0.45 0.30 0.000135 3 4 1 2 6 1.12 -0.015 1
# Piano primo
# NE NS N1 N2 NpI h b As Nbl Ns IdAcc IdCls1 IdCls2 k ecu IdTG
creaPilastro 11 7 11 21 $Pi 0.45 0.30 0.000179 3 4 1 2 7 1.12 -0.015 1
creaPilastro 12 8 12 22 $Pi 0.60 0.40 0.000200 4 4 1 2 8 1.11 -0.014 1
creaPilastro 13 9 13 23 $Pi 0.60 0.40 0.000200 4 4 1 2 9 1.11 -0.014 1
creaPilastro 14 10 14 24 $Pi 0.45 0.30 0.000179 3 4 1 2 10 1.12 -0.015 1
# Piano secondo
# NE NS N1 N2 NpI h b As Nbl Ns IdAcc IdCls1 IdCls2 k ecu IdTG
creaPilastro 21 11 21 31 $Pi 0.40 0.30 0.000188 3 3 1 2 11 1.13 -0.016 1
creaPilastro 22 12 22 32 $Pi 0.60 0.35 0.000175 4 4 1 2 12 1.12 -0.015 1
creaPilastro 23 13 23 33 $Pi 0.60 0.35 0.000175 4 4 1 2 13 1.12 -0.015 1
creaPilastro 24 14 24 34 $Pi 0.40 0.30 0.000188 3 3 1 2 14 1.13 -0.016 1
# Piano terzo
# NE NS N1 N2 NpI h b As Nbl Ns IdAcc IdCls1 IdCls2 k ecu IdTG
creaPilastro 31 15 31 41 $Pi 0.40 0.30 0.000244 3 3 1 2 15 1.13 -0.016 1
creaPilastro 32 16 32 42 $Pi 0.55 0.35 0.000160 4 4 1 2 16 1.12 -0.015 1
creaPilastro 33 17 33 43 $Pi 0.55 0.35 0.000160 4 4 1 2 17 1.12 -0.015 1
creaPilastro 34 18 34 44 $Pi 0.40 0.30 0.000244 3 3 1 2 18 1.13 -0.016 1
# Piano quarto
# NE NS N1 N2 NpI h b As Nbl Ns IdAcc IdCls1 IdCls2 k ecu IdTG
creaPilastro 41 19 41 51 $Pi 0.35 0.30 0.000154 3 3 1 2 19 1.16 -0.018 1
creaPilastro 42 20 42 52 $Pi 0.55 0.30 0.000165 3 4 1 2 20 1.11 -0.014 1
creaPilastro 43 21 43 53 $Pi 0.55 0.30 0.000165 3 4 1 2 21 1.11 -0.014 1
creaPilastro 44 22 44 54 $Pi 0.35 0.30 0.000154 3 3 1 2 22 1.16 -0.018 1
# Piano quinto
# NE NS N1 N2 NpI h b As Nbl Ns IdAcc IdCls1 IdCls2 k ecu IdTG
creaPilastro 51 23 51 61 $Pi 0.35 0.30 0.000197 3 3 1 2 23 1.16 -0.018 1
creaPilastro 52 24 52 62 $Pi 0.50 0.30 0.000150 3 4 1 2 24 1.12 -0.015 1
creaPilastro 53 25 53 63 $Pi 0.50 0.30 0.000150 3 4 1 2 25 1.12 -0.015 1
creaPilastro 54 26 54 64 $Pi 0.35 0.30 0.000197 3 3 1 2 26 1.16 -0.018 1
# Piano sesto
# NE NS N1 N2 NpI h b As Nbl Ns IdAcc IdCls1 IdCls2 k ecu IdTG
creaPilastro 61 27 61 71 $Pi 0.35 0.30 0.000131 3 3 1 2 27 1.16 -0.018 1
creaPilastro 62 28 62 72 $Pi 0.45 0.30 0.000145 3 4 1 2 28 1.12 -0.015 1
creaPilastro 63 29 63 73 $Pi 0.45 0.30 0.000145 3 4 1 2 29 1.12 -0.015 1
creaPilastro 64 30 64 74 $Pi 0.35 0.30 0.000131 3 3 1 2 30 1.16 -0.018 1
# Piano settimo
# NE NS N1 N2 NpI h b As Nbl Ns IdAcc IdCls1 IdCls2 k ecu IdTG
creaPilastro 71 31 71 81 $Pi 0.35 0.30 0.000131 3 3 1 2 31 1.16 -0.018 1
creaPilastro 72 32 72 82 $Pi 0.40 0.30 0.000191 3 3 1 2 32 1.13 -0.016 1
creaPilastro 73 33 73 83 $Pi 0.40 0.30 0.000191 3 3 1 2 33 1.13 -0.016 1
creaPilastro 74 34 74 84 $Pi 0.35 0.30 0.000131 3 3 1 2 34 1.16 -0.018 1
# Piano ottavo
# NE NS N1 N2 NpI h b As Nbl Ns IdAcc IdCls1 IdCls2 k ecu IdTG
creaPilastro 81 35 81 91 $Pi 0.35 0.30 0.000131 3 3 1 2 35 1.16 -0.018 1
creaPilastro 82 36 82 92 $Pi 0.35 0.30 0.000131 3 3 1 2 36 1.16 -0.018 1
creaPilastro 83 37 83 93 $Pi 0.35 0.30 0.000131 3 3 1 2 37 1.16 -0.018 1
creaPilastro 84 38 84 94 $Pi 0.35 0.30 0.000131 3 3 1 2 38 1.16 -0.018 1
# Creazione TRAVI
set PI 5
# Piano Primo
# NE NS N1 N2 NpI h b Ass Nbs Asi Nbi q IdPat IdAcc IdCls1 IdCls2 k ecu IdTG
creaTrave 15 39 11 12 $PI 0.60 0.40 0.000371 4 0.000222 4 34.34 1 1 2 39 1.06 -0.009 2
creaTrave 16 40 12 13 $PI 0.60 0.40 0.000401 4 0.000241 4 34.34 2 1 2 40 1.06 -0.009 2
creaTrave 17 41 13 14 $PI 0.60 0.40 0.000371 4 0.000222 4 34.34 3 1 2 41 1.06 -0.009 2
# Piano Secondo
# NE NS N1 N2 NpI h b Ass Nbs Asi Nbi q IdPat IdAcc IdCls1 IdCls2 k ecu IdTG
creaTrave 25 42 21 22 $PI 0.60 0.40 0.000388 4 0.000238 4 33.63 4 1 2 42 1.06 -0.009 2
creaTrave 26 43 22 23 $PI 0.60 0.40 0.000442 4 0.000284 4 33.63 5 1 2 43 1.06 -0.009 2
creaTrave 27 44 23 24 $PI 0.60 0.40 0.000388 4 0.000238 4 33.63 6 1 2 44 1.06 -0.009 2
# Piano Terzo
# NE NS N1 N2 NpI h b Ass Nbs Asi Nbi q IdPat IdAcc IdCls1 IdCls2 k ecu IdTG
creaTrave 35 45 31 32 $PI 0.50 0.40 0.000397 4 0.000233 4 32.93 7 1 2 45 1.06 -0.009 2
creaTrave 36 46 32 33 $PI 0.50 0.40 0.000450 4 0.000261 4 32.93 8 1 2 46 1.06 -0.009 2
creaTrave 37 47 33 34 $PI 0.50 0.40 0.000397 4 0.000233 4 32.93 9 1 2 47 1.06 -0.009 2
# Piano Quarto
# NE NS N1 N2 NpI h b Ass Nbs Asi Nbi q IdPat IdAcc IdCls1 IdCls2 k ecu IdTG
creaTrave 45 48 41 42 $PI 0.50 0.40 0.000361 4 0.000202 4 32.23 10 1 2 48 1.06 -0.009 2
creaTrave 46 49 42 43 $PI 0.50 0.40 0.000425 4 0.000213 4 32.23 11 1 2 49 1.06 -0.009 2
creaTrave 47 50 43 44 $PI 0.50 0.40 0.000361 4 0.000202 4 32.23 12 1 2 50 1.06 -0.009 2
# Piano Quinto
# NE NS N1 N2 NpI h b Ass Nbs Asi Nbi q IdPat IdAcc IdCls1 IdCls2 k ecu IdTG
creaTrave 55 51 51 52 $PI 0.50 0.40 0.000320 4 0.000164 4 31.53 13 1 2 51 1.06 -0.009 2
creaTrave 56 52 52 53 $PI 0.50 0.40 0.000397 4 0.000212 4 31.53 14 1 2 52 1.06 -0.009 2
creaTrave 57 53 53 54 $PI 0.50 0.40 0.000320 4 0.000164 4 31.53 15 1 2 53 1.06 -0.009 2
# Piano Sesto
# NE NS N1 N2 NpI h b Ass Nbs Asi Nbi q IdPat IdAcc IdCls1 IdCls2 k ecu IdTG
creaTrave 65 54 61 62 $PI 0.40 0.30 0.000300 4 0.000150 4 30.83 16 1 2 54 1.09 -0.012 2
creaTrave 66 55 62 63 $PI 0.40 0.30 0.000338 4 0.000169 4 30.83 17 1 2 55 1.09 -0.012 2
creaTrave 67 56 63 64 $PI 0.40 0.30 0.000300 4 0.000150 4 30.83 18 1 2 56 1.09 -0.012 2
# Piano Settimo
# NE NS N1 N2 NpI h b Ass Nbs Asi Nbi q IdPat IdAcc IdCls1 IdCls2 k ecu IdTG
creaTrave 75 57 71 72 $PI 0.40 0.30 0.000258 4 0.000129 4 30.13 19 1 2 57 1.09 -0.012 2
creaTrave 76 58 72 73 $PI 0.40 0.30 0.000298 4 0.000149 4 30.13 20 1 2 58 1.09 -0.012 2
creaTrave 77 59 73 74 $PI 0.40 0.30 0.000258 4 0.000129 4 30.13 21 1 2 59 1.09 -0.012 2
# Piano Ottavo
# NE NS N1 N2 NpI h b Ass Nbs Asi Nbi q IdPat IdAcc IdCls1 IdCls2 k ecu IdTG
creaTrave 85 60 81 82 $PI 0.40 0.30 0.000265 3 0.000131 3 28.73 22 1 2 60 1.09 -0.012 2
creaTrave 86 61 82 83 $PI 0.40 0.30 0.000315 3 0.000158 3 28.73 23 1 2 61 1.09 -0.012 2
creaTrave 87 62 83 84 $PI 0.40 0.30 0.000265 3 0.000131 3 28.73 24 1 2 62 1.09 -0.012 2
# Piano Nono
# NE NS N1 N2 NpI h b Ass Nbs Asi Nbi q IdPat IdAcc IdCls1 IdCls2 k ecu IdTG
creaTrave 95 63 91 92 $PI 0.40 0.30 0.000168 3 0.000129 3 25.93 25 1 2 63 1.09 -0.012 2
creaTrave 96 64 92 93 $PI 0.40 0.30 0.000207 3 0.000129 3 25.93 26 1 2 64 1.09 -0.012 2
creaTrave 97 65 93 94 $PI 0.40 0.30 0.000168 3 0.000129 3 25.93 27 1 2 65 1.09 -0.012 2
2) Proc-CreaPilastro.tcl: (PROC.TO CREATE COLUMN ELEMENTS)
proc creaPilastro {NE NS N1 N2 NpI h b As Nbl Ns IdAcc IdCls1 IdCls2 k ecu IdTG} {
# Copriferro (3cm)
set c 0.03
# Fibre
set lfib 0.01
set fib1 20
#set fib1 [expr int(($h-2*$c)/$lfib)]
set fib2 [expr int($c/$lfib)]
# Creazione del materiale cls confinato
set E 25742960
set fc [expr -30000*$k]
set k1 [expr 5*$k-4]
set ec0 [expr -0.002*$k1]
uniaxialMaterial Concrete04 $IdCls2 $fc $ec0 $ecu $E
# CREAZIONE DELLA SEZIONE NS
# Sezione NS
section Fiber $NS {
# CLS Core
patch rect $IdCls2 $fib1 1 [expr $c-($h/2.0)] [expr $c-($b/2.0)] [expr ($h/2.0)-$c] [expr ($b/2.0)-$c]
# CLS Cover
patch rect $IdCls1 $fib1 1 [expr $c-($h/2.0)] [expr -($b/2.0)] [expr ($h/2.0)-$c] [expr $c-($b/2.0)]
patch rect $IdCls1 $fib1 1 [expr $c-($h/2.0)] [expr ($b/2.0)-$c] [expr ($h/2.0)-$c] [expr ($b/2.0)]
patch rect $IdCls1 $fib2 1 [expr -$h/2.0] [expr -$b/2.0] [expr $c-($h/2.0)] [expr ($b/2.0)]
patch rect $IdCls1 $fib2 1 [expr ($h/2.0)-$c] [expr -$b/2.0] [expr $h/2.0] [expr ($b/2.0)]
# Acciaio lembi
layer straight $IdAcc $Nbl $As [expr $c-($h/2.0)] [expr $c-($b/2.0)] [expr $c-($h/2.0)] [expr ($b/2.0)-$c]
layer straight $IdAcc $Nbl $As [expr ($h/2.0)-$c] [expr $c-($b/2.0)] [expr ($h/2.0)-$c] [expr ($b/2.0)-$c]
# Acciaio centrale - 2 barre
if {$Ns == 3} {
layer straight $IdAcc 2 $As 0.0 [expr $c-($b/2.0)] 0.0 [expr ($b/2.0)-$c]
}
if {$Ns == 4} {
layer straight $IdAcc 2 $As [expr -($h-2$c)/6] [expr $c-($b/2.0)] [expr -($h-2$c)/6] [expr ($b/2.0)-$c]
layer straight $IdAcc 2 $As [expr ($h-2$c)/6] [expr $c-($b/2.0)] [expr ($h-2$c)/6] [expr ($b/2.0)-$c]
}
}
# CREAZIONE DELL'ELEMENTO NE
# Elemento NE
element nonlinearBeamColumn $NE $N1 $N2 $NpI $NS $IdTG
}
3) PROC-CreaTrave.tcl: (PROC.TO CREATE BEAM ELEMENTS)
proc creaTrave {NE NS N1 N2 NpI h b Ass Nbs Asi Nbi q IdPat IdAcc IdCls1 IdCls2 k ecu IdTG} {
# Copriferro 3cm
set c 0.03
# Fibre
set lfib 0.01
set fib1 20
#set fib1 [expr int(($h-2*$c)/$lfib)]
set fib2 [expr int($c/$lfib)]
# Creazione del materiale cls confinato
set E 25742960
set fc [expr -30000*$k]
set k1 [expr 5*$k-4]
set ec0 [expr -0.002*$k1]
uniaxialMaterial Concrete04 $IdCls2 $fc $ec0 $ecu $E
# CREAZIONE DELLE SEZIONE NS
section Fiber $NS {
# CLS Core
patch rect $IdCls2 $fib1 1 [expr $c-($h/2.0)] [expr $c-($b/2.0)] [expr ($h/2.0)-$c] [expr ($b/2.0)-$c]
# CLS Cover
patch rect $IdCls1 $fib1 1 [expr $c-($h/2.0)] [expr -($b/2.0)] [expr ($h/2.0)-$c] [expr $c-($b/2.0)]
patch rect $IdCls1 $fib1 1 [expr $c-($h/2.0)] [expr ($b/2.0)-$c] [expr ($h/2.0)-$c] [expr ($b/2.0)]
patch rect $IdCls1 $fib2 1 [expr -$h/2.0] [expr -$b/2.0] [expr $c-($h/2.0)] [expr ($b/2.0)]
patch rect $IdCls1 $fib2 1 [expr ($h/2.0)-$c] [expr -$b/2.0] [expr $h/2.0] [expr ($b/2.0)]
# Acciaio lembi
layer straight $IdAcc $Nbi $Asi [expr $c-($h/2.0)] [expr ($b/2.0)-$c] [expr $c-($h/2.0)] [expr $c-($b/2.0)]
layer straight $IdAcc $Nbs $Ass [expr ($h/2.0)-$c] [expr ($b/2.0)-$c] [expr ($h/2.0)-$c] [expr $c-($b/2.0)]
# Acciaio centrale - 2 barre
layer straight $IdAcc 2 0.000113 0.0 [expr ($b/2.0)-$c] 0.0 [expr $c-($b/2.0)]
}
# CREAZIONE DELL'ELEMENTO NE1
# Elemento NE1
element nonlinearBeamColumn $NE $N1 $N2 $NpI $NS $IdTG
# Creazione del pattern di carico
pattern Plain $IdPat Linear {
eleLoad -ele $NE -type -beamUniform [expr -$q]
}
}
4) Carichi-Verticali.tcl: (PERFORM ANALYSIS FOR VERTICAL LOADS)
source 9F-R-Mod.base.tcl
recorder display DispShape 10 10 300 450 -wipe
# next three commmands define viewing system, all values in global coords
vrp 3.0 1.0 0 # point on the view plane in global coord, center of local viewing system
vup 0 1 0 # dirn defining up direction of view plane
vpn 0 0 1 # direction of outward normal to view plane
# next three commands define view, all values in local coord system
prp 0 0 10 # eye location in local coord sys defined by viewing system
viewWindow -6 15 -4 35 # view bounds uMin, uMax, vMin, vMax in local coords
plane 0 1 # distance to front and back clipping planes from eye
projection 0 # projection mode
port -1 1 -1 1 # area of window that will be drawn into
fill 1 # fill mode
display 1 0 40
constraints Plain
numberer Plain
system BandGeneral
set dFinale 1.0
set dCorr 0
set maxITE 20
set ok 0
while {$ok == 0 && $dCorr < $dFinale} {
set Incr 0.1
integrator LoadControl $Incr
test NormDispIncr 1.0e-10 10
algorithm Newton
analysis Static
initialize
set ok [analyze 1]
set i 1
while {$ok != 0 && $i < $maxITE} {
set Incr [expr $Incr/2.0]
integrator LoadControl $Incr
test NormDispIncr 1.0e-4 100
algorithm Newton
analysis Static
initialize
set ok [analyze 1]
incr i 1
}
set dCorr [expr $dCorr+$Incr]
}
if {$i == $maxITE} {
puts "Raggiunte maxITE"
}
loadConst -time 0.0
5) Masse.tcl (MASS)
set M1 [expr 49.0/4.0]
set M2 [expr 48.0/4.0]
set M3 [expr 47.0/4.0]
set M4 [expr 46.0/4.0]
set M5 [expr 45.0/4.0]
set M6 [expr 44.0/4.0]
set M7 [expr 43.0/4.0]
set M8 [expr 41.0/4.0]
set M9 [expr 37.0/4.0]
# Applica le masse ai nodi
# Piano Primo
mass 11 $M1 $M1 0.0
mass 12 $M1 $M1 0.0
mass 13 $M1 $M1 0.0
mass 14 $M1 $M1 0.0
# Piano Secondo
mass 21 $M2 $M2 0.0
mass 22 $M2 $M2 0.0
mass 23 $M2 $M2 0.0
mass 24 $M2 $M2 0.0
# Piano Terzo
mass 31 $M3 $M3 0.0
mass 32 $M3 $M3 0.0
mass 33 $M3 $M3 0.0
mass 34 $M3 $M3 0.0
# Piano Quarto
mass 41 $M4 $M4 0.0
mass 42 $M4 $M4 0.0
mass 43 $M4 $M4 0.0
mass 44 $M4 $M4 0.0
# Piano Quinto
mass 51 $M5 $M5 0.0
mass 52 $M5 $M5 0.0
mass 53 $M5 $M5 0.0
mass 54 $M5 $M5 0.0
# Piano Sesto
mass 61 $M6 $M6 0.0
mass 62 $M6 $M6 0.0
mass 63 $M6 $M6 0.0
mass 64 $M6 $M6 0.0
# Piano Settimo
mass 71 $M7 $M7 0.0
mass 72 $M7 $M7 0.0
mass 73 $M7 $M7 0.0
mass 74 $M7 $M7 0.0
# Piano Ottavo
mass 81 $M8 $M8 0.0
mass 82 $M8 $M8 0.0
mass 83 $M8 $M8 0.0
mass 84 $M8 $M8 0.0
# Piano Nono
mass 91 $M9 $M9 0.0
mass 92 $M9 $M9 0.0
mass 93 $M9 $M9 0.0
mass 94 $M9 $M9 0.0
6) Prova.tcl (Dynamic Analysis):
source Carichi-verticali.tcl
source Masse.tcl
wipeAnalysis
recorder Node -file prova.out -time -node 91 -dof 1 disp
set csi 0.005
set pi 3.141592654
set aa [eigen 2]
set w12 [lindex $aa 0]
set w22 [lindex $aa 1]
set w1 [expr pow($w12,0.5)]
set w2 [expr pow($w22,0.5)]
set T1 [expr 2*$pi/$w1]
set T2 [expr 2*$pi/$w2]
puts "Periodo I modo: $T1"
puts "Periodo II modo: $T2"
set beta [expr 2*$csi*($w2-$w1)/($w22-$w1)]
set alpha [expr 2*$csi*$w1-$beta*$w1]
puts "alpha: $alpha beta: $beta"
rayleigh $alpha 0.0 $beta 0.0
set accel "Series -dt 0.01 -filePath S1.acc -factor 9.81";
pattern UniformExcitation 30 1 -accel $accel
set tFinale 40
set tCorr 0
set maxITE 20
set ok 0
constraints Transformation
numberer RCM
system UmfPack
set Incr 0.01
set maxIncr $Incr
while {$ok == 0 && $tCorr < $tFinale} {
#integrator HHT 0.6
integrator Newmark 0.5 0.2
test NormDispIncr 1.0e-4 10
algorithm Newton
analysis Transient
set ok [analyze 1 $Incr]
set i 1
while {$ok != 0 && $i < $maxITE} {
set Incr [expr $Incr/2.0]
#integrator HHT 0.6
integrator Newmark 0.5 0.25
test NormDispIncr 1.0e-4 100
algorithm Newton
analysis Transient
set ok [analyze 1 $Incr]
incr i 1
}
set tCorr [expr $tCorr+$Incr]
if {$maxIncr > $Incr} {
set mm [expr $Incr*4.0]
if {$mm > $maxIncr} {
set Incr $maxIncr
} else {
set Incr $mm
}
}
puts "$tCorr"
}
if {$i == $maxITE} {
puts "Raggiunte maxITE"
}
7) Prova1.tcl (PO Analysis):
source Carichi-verticali.tcl
wipeAnalysis
recorder Node -file prova.out -time -node 91 -dof 1 disp
# Analisi PO
pattern Plain 30 Linear {
load 11 1.0 0.0 0.0
load 21 1.0 0.0 0.0
load 31 1.0 0.0 0.0
load 41 1.0 0.0 0.0
load 51 1.0 0.0 0.0
load 61 1.0 0.0 0.0
load 71 1.0 0.0 0.0
load 81 1.0 0.0 0.0
load 91 1.0 0.0 0.0
}
set dFinale 1.00
set dCorr 0
set maxITE 20
set ok 0
while {$ok == 0 && $dCorr < $dFinale} {
set Incr 0.001
integrator DisplacementControl 91 1 $Incr
test NormDispIncr 1.0e-4 10
algorithm Newton
analysis Static
initialize
set ok [analyze 1]
set i 1
while {$ok != 0 && $i < $maxITE} {
set Incr [expr $Incr/2.0]
integrator DisplacementControl 91 1 $Incr
test NormDispIncr 1.0e-4 100
algorithm Newton
analysis Static
initialize
set ok [analyze 1]
incr i 1
}
set dCorr [expr $dCorr+$Incr]
}
if {$i == $maxITE} {
puts "Raggiunte maxITE"
}
S1.acc is an accelerogram (Imperial Valley-EL CENTRO-1940.dat) scaled to the design PGA (0,4375g). But I’v already tried with others scaled accel. And the results are about the same.
Sorry for the length of all these!
Thank you.
Best regards.
Convergence problems
Moderators: silvia, selimgunay, Moderators