Hello
I am modelin a steel connection.I defind the strand parralel the beam with initstrain. then I apply cyclic load to the model.
I use "constraints Lagrange" .I use hardening material for beam and column. in the first cycle, the program converge,but at second step, program not converge!!!!!!!
#***********program of garlock (self centering)*********************************
#cm and Kg
wipe
set dataDir Data;
file mkdir $dataDir;
model BasicBuilder -ndm 2 -ndf 3;
set dc 43.434; #depth of column
set db 60.198; #depth of beam
set Lr 25.4; #Lenght of reinforcing plate
set tr 1.27; #thick of reinforcing plate
set wLr 5.7; # with of reinforcing plate
set Lb 609.6; #lenght og beam
set hc 365.8; #height of column
set Atendons 1.4; #Area of PT
set Aangle 62.516;#Area of angle
set E 2000000;
set mattaggap 1;
set mattagstrand1 2;
set mattagstrand2 3;
set mattagcolumn 4;
set mattagbeam 5;
set mattagR 6;
set mattagangle 7;
set Fyc 3860;
set Fyb 2480;
set Fyr 5520;
set Fystrand 18600;
set PT 72900;#initial of post tension Force
set instrain [expr $PT/(8*$Atendons*$E)];
set Hisoc 2855; #H-iso column
set Hkinc 28550;#H-kinc column
set Hisob 2855; #H-iso beam
set Hkinb 28550;#H-kinc beam
set Hkinr 28550;#H-kinc reinforced plate
set Hisor 2855; #H-iso reinforced plateset colsectag 1;
set colsectag 1;
set BeamSecTag 2;
set Rsectag 3;
set g2 11.4; #position of the bolt of angle
set k 5.52; #fillet of angle
set L2 1.91; # position of the bolt of angle
set hbolt [expr $k+$g2+$db/2+$tr] ;
set lbolt [expr $k+$L2];
set R0 15
set R1 .925
set R2 .15
set a1 .15
set a2 0
set a3 1
set a4 0
set Fya 85000
set Ea 340000
set b .0823
puts "the Model has been built"
node 1 0.0 [expr $hc/2]
node 2 0.0 [expr $db/2]
node 3 0.0 [expr -$db/2]
node 4 0.0 [expr -$hc/2]
node 5 [expr -$dc/2] [expr $db/2]
node 6 [expr - $dc/2] [expr $db/2]
node 7 [expr $dc/2] [expr $db/2]
node 8 [expr $dc/2] [expr $db/2]
node 9 [expr -$dc/2] [expr -$db/2]
node 10 [expr -$dc/2] [expr -$db/2]
node 11 [expr $dc/2] [expr -$db/2]
node 12 [expr $dc/2] [expr -$db/2]
node 13 [expr - $dc/2] 0.0
node 14 [expr $dc/2] 0.0
node 15 [expr -$Lr-$dc/2] 0.0
node 16 [expr -$Lb/2 ] 0.0
node 17 [expr $Lr+$dc/2] 0.0
node 18 [expr $Lb/2] 0.0
node 19 0.0 [expr $hbolt]
node 20 [expr -$dc/2] [expr $hbolt]
node 21 [expr -$dc/2-$lbolt] [expr $hbolt]
node 22 [expr $dc/2] [expr $hbolt]
node 23 [expr $dc/2+$lbolt] [expr $hbolt]
node 24 0.0 [expr -$hbolt]
node 25 [expr -$dc/2] [expr -$hbolt]
node 26 [expr -$dc/2-$lbolt] [expr -$hbolt]
node 27 [expr $dc/2] [expr -$hbolt]
node 28 [expr $dc/2+$lbolt] [expr -$hbolt]
node 29 [expr -$dc/2-$lbolt] 0.0
node 30 [expr $dc/2+$lbolt] 0.0
# Boundary Conditions
fix 4 1 1 0; # fixed base
fix 16 1 1 0; # free end
fix 18 1 1 0; # fixed base
equalDOF 5 6 2
equalDOF 7 8 2
equalDOF 9 10 2
equalDOF 11 12 2
###########################Materials###############################
puts "Begin material definition"
#gap opening
#Elastic-No or ElasticPPGap Tension Material
#uniaxialMaterial ENT $matTag $E
uniaxialMaterial ENT $mattaggap [expr 1.e15]
#uniaxialMaterial ElasticPPGap $matTag $E $Fy $gap <$eta> <damage>
#uniaxialMaterial ElasticPPGap $mattaggap $E $Fyc 0.0
puts "end of gap material"
puts "begin of post tendon material"
#post tendon
#uniaxialMaterial Elastic $matTag $E <$eta>
uniaxialMaterial Elastic $mattagstrand1 $E
uniaxialMaterial InitStrainMaterial $mattagstrand2 $mattagstrand1 $instrain
puts "end of post tension material"
#Hardening Material column
#uniaxialMaterial Hardening $matTag $E $sigmaY $H_iso $H_kin <$eta>
uniaxialMaterial Hardening $mattagcolumn $E $Fyc $Hisoc $Hkinc
puts "end of hardening material of column"
#Hardening Material beam
#uniaxialMaterial Hardening $matTag $E $sigmaY $H_iso $H_kin <$eta>
uniaxialMaterial Hardening $mattagbeam $E $Fyb $Hisob $Hkinb
puts "end of hardening material of beam"
#Hardening Material reinforcing plate
#uniaxialMaterial Hardening $matTag $E $sigmaY $H_iso $H_kin <$eta>
uniaxialMaterial Hardening $mattagR $E $Fyr $Hisor $Hkinr
puts "begin of angle materials"
# Material for angle
#uniaxialMaterial Steel02 $matTag $Fy $E $b $R0 $cR1 $cR2 $a1 $a2 $a3 $a4
uniaxialMaterial Steel02 $mattagangle $Fya $Ea $b $R0 $R1 $R2 $a1 $a2 $a3 $a4
puts "end of angle material"
puts "All materials have been defined"
puts "Being element cross-section definition"
###########################Cross section##########################
puts "Being element cross-section definition"
source Wsection.tcl; # procedure to define fiber W section
# ELEMENT properties
# Structural-Steel W-section properties
# column sections: W14x311
set d 43.434; # depth
set bf 41.148; # flange width
set tf 5.7404; # flange thickness
set tw 3.5814; # web thickness
set nfdw 16; # number of fibers along dw
set nftw 2; # number of fibers along tw
set nfbf 16; # number of fibers along bf
set nftf 4; # number of fibers along tf
Wsection $colsectag $mattagcolumn $d $bf $tf $tw $nfdw $nftw $nfbf $nftf
# beam sections: W24x62
set d 60.198; # depth
set bf 17.8816; # flange width
set tf 1.4986; # flange thickness
set tw 1.0922; # web thickness
set nfdw 16; # number of fibers along dw
set nftw 2; # number of fibers along tw
set nfbf 16; # number of fibers along bf
set nftf 4; # number of fibers along tf
Wsection $BeamSecTag $mattagbeam $d $bf $tf $tw $nfdw $nftw $nfbf $nftf
## beam sections: W24x62 and Reinforcing plate 25.4*5.7*1.27 cm
set Nm 60.198; # nominal depth of beam
set wt 1.0922; # web thickness of beam
set fb 17.8816; # flange width of beam
set ft 1.4986; # flange thickness of beam
set ndw 16; # number of fibers along web depth
set ntw 2; # number of fibers along web thickness
set nbf 16; # number of fibers along flange width
set ntf 4; # number of fibers along flange thickness
set dw [expr $Nm - 2*$ft]
set y1 [expr -$Nm /2]
set y2 [expr -$dw/2]
set y3 [expr $dw/2]
set y4 [expr $Nm /2]
set y5 [expr $Nm /2+$tr]
set y6 [expr -$Nm /2 -$tr]
set z1 [expr -$fb/2]
set z2 [expr -$wt/2]
set z3 [expr $wt/2]
set z4 [expr $fb/2]
set z5 [expr $wLr/2]
set z6 [expr -$wLr/2]
section fiberSec $Rsectag {
# nfIJ nfJK yI zI yJ zJ yK zK yL zL
patch quadr $mattagbeam $nbf $ntf $y1 $z4 $y1 $z1 $y2 $z1 $y2 $z4
patch quadr $mattagbeam $ntw $ndw $y2 $z3 $y2 $z2 $y3 $z2 $y3 $z3
patch quadr $mattagbeam $nbf $ntf $y3 $z4 $y3 $z1 $y4 $z1 $y4 $z4
patch quadr $mattagR $nbf $ntf $y4 $z5 $y4 $z6 $y5 $z6 $y5 $z5
patch quadr $mattagR $nbf $ntf $y6 $z5 $y6 $z6 $y1 $z6 $y1 $z5
}
##########################Element###############################
#Gap
#Zero-Length Element
#element zeroLength $eleTag $iNode $jNode -mat $matTag1 $matTag2 ... -dir $dir1 $dir2 ... <-orient $x1 $x2 $x3 $yp1 $yp2 $yp3>
element zeroLength 1 5 6 -mat $mattaggap -dir 1
element zeroLength 2 7 8 -mat $mattaggap -dir 1
element zeroLength 3 9 10 -mat $mattaggap -dir 1
element zeroLength 4 11 12 -mat $mattaggap -dir 1
puts "End of zeroLength element"
#beam
#Displacement-Based Beam-Column Element
geomTransf Linear 1
#geomTransf $ColTransfType $IDColTransf ;
#geomTransf Linear $IDBeamTransf
set np 8
#set transfTag
element dispBeamColumn 5 13 29 $np $Rsectag 1
element dispBeamColumn 6 29 15 $np $Rsectag 1
element dispBeamColumn 7 15 16 $np $BeamSecTag 1
element dispBeamColumn 8 14 30 $np $Rsectag 1
element dispBeamColumn 9 30 17 $np $Rsectag 1
element dispBeamColumn 10 17 18 $np $BeamSecTag 1
puts "End of beam element"
#angle or T-stub
#element truss $eleTag $iNode $jNode $A $matTag
element truss 11 20 21 $Aangle $mattagangle
element truss 12 22 23 $Aangle $mattagangle
element truss 13 25 26 $Aangle $mattagangle
element truss 14 27 28 $Aangle $mattagangle
puts "End angle element"
# column
#Displacement-Based Beam-Column Element
geomTransf Linear 2
#geomTransf $ColTransfType $IDColTransf ; # only columns can have PDelta effects (gravity effects)
#geomTransf Linear $IDBeamTransf
element dispBeamColumn 15 1 19 $np $colsectag 2
element dispBeamColumn 16 19 2 $np $colsectag 2
element dispBeamColumn 17 24 3 $np $colsectag 2
element dispBeamColumn 18 4 24 $np $colsectag 2
element dispBeamColumn 19 2 3 $np $colsectag 2
puts "End of beam and column element"
#post tansion strand (TRUSS)
#element truss $eleTag $iNode $jNode $Atendons $matTag
element truss 20 16 18 [expr 8*$Atendons] $mattagstrand2
puts "End of post tansion strand "
#rigid link
rigidLink beam 2 5
rigidLink beam 2 7
rigidLink beam 3 9
rigidLink beam 3 11
rigidLink beam 19 20
rigidLink beam 19 22
rigidLink beam 24 25
rigidLink beam 24 27
rigidLink beam 13 6
rigidLink beam 13 10
rigidLink beam 29 21
rigidLink beam 29 26
rigidLink beam 30 23
rigidLink beam 30 28
rigidLink beam 14 8
rigidLink beam 14 12
puts "End Element defintion"
##############################################################################
#post tension analysis
puts "Begin post tension loads"
#constraints Penalty 20 20
constraints Lagrange
#constraints Plain
#constraints Transformation
integrator LoadControl 20.0
numberer Plain
system BandGeneral
#test NormDispIncr 1.0e-7 100
test EnergyIncr 1.e-8 60
algorithm Newton
analysis Static
analyze 500
#print ele
#print node
puts "posttension done"
print ele 20
#
# Define RECORDERS -------------------------------------------------------------
recorder Node -file $dataDir/DBase.out -time -node 1 -dof 1 disp
recorder Node -file $dataDir/RBase16.out -node 16 -dof 1 reaction
recorder Node -file $dataDir/RBase18.out -node 18 -dof 1 reaction
recorder Node -file $dataDir/RBase4.out -node 4 -dof 1 reaction
recorder Element -file $dataDir/ele1sec1Force.out –time -ele 20 globalForce
puts "record complete"
#################################cyclic####################
pattern Plain 2 Linear {
load 1 1. 0.0 0.0
}
puts "Begin pudh done"
#constraints Penalty 20 20
constraints Lagrange
#constraints Transformation
numberer Plain
system BandGeneral
#test NormDispIncr 1.0e-7 100
test EnergyIncr 1.e-8 60
analysis Static
integrator DisplacementControl 1 1 -.004
analyze 1000
integrator DisplacementControl 1 1 .004
analyze 1000
puts "push don"
print ele 20
###########################wsection#####################
proc Wsection { secID matID d bf tf tw nfdw nftw nfbf nftf} {
# ###################################################################
# Wsection $secID $matID $d $bf $tf $tw $nfdw $nftw $nfbf $nftf
# ###################################################################
# create a standard W section given the nominal section properties
# written: Remo M. de Souza
# date: 06/99
# modified: 08/99 (according to the new general modelbuilder)
# input parameters
# secID - section ID number
# matID - material ID number
# d = nominal depth
# tw = web thickness
# bf = flange width
# tf = flange thickness
# nfdw = number of fibers along web depth
# nftw = number of fibers along web thickness
# nfbf = number of fibers along flange width
# nftf = number of fibers along flange thickness
set dw [expr $d - 2 * $tf]
set y1 [expr -$d/2]
set y2 [expr -$dw/2]
set y3 [expr $dw/2]
set y4 [expr $d/2]
set z1 [expr -$bf/2]
set z2 [expr -$tw/2]
set z3 [expr $tw/2]
set z4 [expr $bf/2]
section fiberSec $secID {
# nfIJ nfJK yI zI yJ zJ yK zK yL zL
patch quadr $matID $nfbf $nftf $y1 $z4 $y1 $z1 $y2 $z1 $y2 $z4
patch quadr $matID $nftw $nfdw $y2 $z3 $y2 $z2 $y3 $z2 $y3 $z3
patch quadr $matID $nfbf $nftf $y3 $z4 $y3 $z1 $y4 $z1 $y4 $z4
}
}
not converge in cyclic load use initstrain
Moderators: silvia, selimgunay, Moderators
-
- Posts: 6
- Joined: Sun Feb 22, 2009 3:08 am
- Location: Tehran university