questions about example SS_IC1.TCL
Moderators: silvia, selimgunay, Moderators
questions about example SS_IC1.TCL
Hello, I'd like to ask a question.I am working on a case "example SS_IC1.TCL" on the official website:.Out-of-xml section5. I add a recoder:"recorder Node -file section5.out -xml section5.out -time -node 13 -dof 3 disp "wants to get the moment curvature of the column end.
However, when I output the relationship of bending moment curvature, I find that the curvature is not consistent with the original text.The "-Dof 3" output by node 12 in the zero-length element is the curvature of the zero-length element.Since the original code used "KPS, in" units, I transformed it to obtain the curvature result (1/in) * (1/ (25.4/1000)), thus obtaining the curvature under "m" units.But my results were more than eight times different from the article's.
Is my understanding wrong?Or is it a unit conversion problem?
Please help me ! Thanks!
However, when I output the relationship of bending moment curvature, I find that the curvature is not consistent with the original text.The "-Dof 3" output by node 12 in the zero-length element is the curvature of the zero-length element.Since the original code used "KPS, in" units, I transformed it to obtain the curvature result (1/in) * (1/ (25.4/1000)), thus obtaining the curvature under "m" units.But my results were more than eight times different from the article's.
Is my understanding wrong?Or is it a unit conversion problem?
Please help me ! Thanks!
Re: questions about example SS_IC1.TCL
#example ss_ic1.tcl
# bridge T-joint
# -----------------
# Units: kips, in.
# Pushover analysis multiple dispBeamColumn with strain penetration
# modeling the circular RC column in a bridge T-joint tested by
# Sri Sritharan
# "Seismic response of column/cap beam tee connections
# with cap beam prestressing" Ph.D. thesis, UCSD
# Create ModelBuilder (with two dimensions and 2 DOF/node)
model basic -ndm 2 -ndf 3
# Create nodes
# tag X Y
node 1 0.0 -48.0
node 2 0.0 -30.0
node 3 0.0 -12.0
node 4 0.0 0.0
node 5 0.0 12.0
node 6 0.0 30.0
node 7 0.0 48.0
node 8 12.0 0.0
node 9 19.0 0.0
node 10 40.0 0.0
node 11 61.5 0.0
node 12 84.0 0.0
node 13 12.0 0.0
# Fix supports at base of column
# Tag DX DY RZ
fix 1 1 1 0
fix 7 1 0 0
#equalDOF $rNodeTag $cNodeTag $dof1 $dof2
equalDOF 8 13 2
# Define materials for nonlinear columns
##column Core CONCRETE tag f'c ec0 f'cu ecu
uniaxialMaterial Concrete01 1 -6.38 -0.004 -5.11 -0.014
uniaxialMaterial Concrete01 200 -6.38 -0.004 -5.11 -0.014
##column Cover CONCRETE tag f'c ec0 f'cu ecu
uniaxialMaterial Concrete01 2 -4.56 -0.002 0.0 -0.006
##column stub CONCRETE tag E
uniaxialMaterial Elastic 3 2280
##beam CONCRETE tag f'c ec0 f'cu ecu
uniaxialMaterial Concrete01 4 -5.76 -0.002 0.0 -0.006
## STEEL rebar
##STEEL02 tag $Fy $E $b $R0 $cR1 $cR2 $a1 $a2 $a3 $a4
uniaxialMaterial Steel02 5 65.0 29000 0.02 18.5 0.925 0.15 0.04 1.0 0.04 1.0
uniaxialMaterial Steel02 6 62.8 29000 0.02 18.5 0.925 0.15 0.00 1.0 0.00 1.0
uniaxialMaterial Elastic 7 29000
#uniaxialMaterial StrPen01 $Tag $sy $fy $su $fu $Kz $R $Cd $db $fc $la
uniaxialMaterial Bond_SP01 400 65 0.02 97.5 0.7 0.50 0.7 0.0 1.0 4.35 25.0
# Define cross-section for nonlinear column
set colDia 24; # bending in this direction (local and global y)
set cover 1.38;
set bcent 1.81; # [expr $cover+0.197+0.5]
set As 0.60; # Area of no. 7 bar
set R [expr $colDia/2.0]
set Rc [expr $colDia/2.0-$cover]
set Rb [expr $colDia/2.0-$bcent]
section Fiber 1 {
# core concrete fibers
patch circ 1 70 22 0.0 0.0 0.0 $Rc 0.0 360.0
# concrete cover fibers
patch circ 2 70 2 0.0 0.0 $Rc $R 0.0 360.0
# reinforcing fibers
layer circ 5 14 $As 0.0 0.0 $Rb -90.0 244.3
}
section Fiber 2 {
# core concrete fibers
patch circ 3 70 22 0.0 0.0 0.0 $Rc 0.0 360.0
# concrete cover fibers
patch circ 3 70 2 0.0 0.0 $Rc $R 0.0 360.0
# reinforcing fibers
layer circ 5 14 $As 0.0 0.0 $Rb -90.0 244.3
}
section Fiber 5 {
# core concrete fibers
patch circ 200 70 22 0.0 0.0 0.0 $Rc 0.0 360.0
# concrete cover fibers
patch circ 2 70 2 0.0 0.0 $Rc $R 0.0 360.0
# reinforcing fibers
layer circ 400 14 $As 0.0 0.0 $Rb -90.0 244.3
}
# Define cross-section for nonlinear cap beam
set bmw 27; # bending in this direction (local and global y)
set bmh 24; # bending in this direction (local and global y)
set cover 1.38;
set bcent 1.81; # [expr $cover+0.197+0.5]
set aw [expr $bmw/2.0]
set ac [expr $bmw/2.0-$cover]
set ab [expr $bmw/2.0-$bcent]
set bw [expr $bmh/2.0]
set bc [expr $bmh/2.0-$cover]
set bb [expr $bmh/2.0-$bcent]
section Fiber 3 {
# concrete fibers
patch quad 4 48 1 -$bw -$aw $bw -$aw $bw $aw -$bw $aw
# reinforcing fibers
layer straight 6 7 $As -$bb $ab -$bb -$ab
layer straight 6 7 $As $bb $ab $bb -$ab
}
# Define column elements
## Geometry of coloumn elements
geomTransf Linear 1
# Number of integration points along length of element
set np 5
# Create the columns using displacement controlled beam-column elements
# tag ndI ndJ nsecs secID transfTag
element dispBeamColumn 1 1 2 $np 3 1
element dispBeamColumn 2 2 3 $np 3 1
element dispBeamColumn 3 3 4 $np 3 1
element dispBeamColumn 4 4 5 $np 3 1
element dispBeamColumn 5 5 6 $np 3 1
element dispBeamColumn 6 6 7 $np 3 1
element dispBeamColumn 7 4 8 $np 2 1
element dispBeamColumn 8 13 9 $np 1 1
element dispBeamColumn 9 9 10 $np 1 1
element dispBeamColumn 10 10 11 $np 1 1
element dispBeamColumn 11 11 12 $np 1 1
# zeroLengthSection tag ndI ndJ secID
element zeroLengthSection 12 8 13 5
# Set up and perform analysis
## Create recorders
recorder Node -file topdispac.out -time -node 12 -dof 2 disp
recorder Node -file rot4ac.out -time -node 4 -dof 3 disp
recorder Node -file rot8ac.out -time -node 8 -dof 3 disp
recorder Node -file section5.out -xml section5.out -time -node 13 -dof 3 disp
recorder Drift drift84ac.out 4 8 2 1
recorder Drift curvatureac.out 8 9 3 1
recorder Drift curvatureac1.out 13 9 3 1
recorder Element -file secstrspac.out -time -ele 8 section 5 fiber -$Rb 0 5 stressStrain
recorder Element -file secstrsnac.out -time -ele 8 section 5 fiber $Rb 0 5 stressStrain
recorder Element -file secstrcac.out -time -ele 8 section 5 fiber $Rc 0 1 stressStrain
recorder plot topdispac.out Node12_Ydisp 10 10 300 300 -columns 2 1
set P -90.0
pattern Plain 1 "Constant" {
load 12 $P 0.0 0.0
}
# Define analysis parameters
integrator LoadControl 0
system SparseGeneral -piv
test NormDispIncr 1.0e-4 2000
numberer Plain
constraints Plain
algorithm KrylovNewton
analysis Static
# Do one analysis for constant axial load
analyze 1
# Define reference force
pattern Plain 2 "Linear" {
load 12 0.0 1.0 0.0
}
set dU1 -0.02
set dU2 0.02
# Perform the analysis
integrator DisplacementControl 12 2 $dU1
analyze 33
integrator DisplacementControl 12 2 $dU2
analyze 65
integrator DisplacementControl 12 2 $dU1
analyze 32
integrator DisplacementControl 12 2 $dU1
analyze 67
integrator DisplacementControl 12 2 $dU2
analyze 134
integrator DisplacementControl 12 2 $dU1
analyze 67
integrator DisplacementControl 12 2 $dU1
analyze 101
integrator DisplacementControl 12 2 $dU2
analyze 202
integrator DisplacementControl 12 2 $dU1
analyze 101
integrator DisplacementControl 12 2 $dU1
analyze 135
integrator DisplacementControl 12 2 $dU2
analyze 270
integrator DisplacementControl 12 2 $dU1
analyze 135
integrator DisplacementControl 12 2 $dU1
analyze 202
integrator DisplacementControl 12 2 $dU2
analyze 404
integrator DisplacementControl 12 2 $dU1
analyze 202
# bridge T-joint
# -----------------
# Units: kips, in.
# Pushover analysis multiple dispBeamColumn with strain penetration
# modeling the circular RC column in a bridge T-joint tested by
# Sri Sritharan
# "Seismic response of column/cap beam tee connections
# with cap beam prestressing" Ph.D. thesis, UCSD
# Create ModelBuilder (with two dimensions and 2 DOF/node)
model basic -ndm 2 -ndf 3
# Create nodes
# tag X Y
node 1 0.0 -48.0
node 2 0.0 -30.0
node 3 0.0 -12.0
node 4 0.0 0.0
node 5 0.0 12.0
node 6 0.0 30.0
node 7 0.0 48.0
node 8 12.0 0.0
node 9 19.0 0.0
node 10 40.0 0.0
node 11 61.5 0.0
node 12 84.0 0.0
node 13 12.0 0.0
# Fix supports at base of column
# Tag DX DY RZ
fix 1 1 1 0
fix 7 1 0 0
#equalDOF $rNodeTag $cNodeTag $dof1 $dof2
equalDOF 8 13 2
# Define materials for nonlinear columns
##column Core CONCRETE tag f'c ec0 f'cu ecu
uniaxialMaterial Concrete01 1 -6.38 -0.004 -5.11 -0.014
uniaxialMaterial Concrete01 200 -6.38 -0.004 -5.11 -0.014
##column Cover CONCRETE tag f'c ec0 f'cu ecu
uniaxialMaterial Concrete01 2 -4.56 -0.002 0.0 -0.006
##column stub CONCRETE tag E
uniaxialMaterial Elastic 3 2280
##beam CONCRETE tag f'c ec0 f'cu ecu
uniaxialMaterial Concrete01 4 -5.76 -0.002 0.0 -0.006
## STEEL rebar
##STEEL02 tag $Fy $E $b $R0 $cR1 $cR2 $a1 $a2 $a3 $a4
uniaxialMaterial Steel02 5 65.0 29000 0.02 18.5 0.925 0.15 0.04 1.0 0.04 1.0
uniaxialMaterial Steel02 6 62.8 29000 0.02 18.5 0.925 0.15 0.00 1.0 0.00 1.0
uniaxialMaterial Elastic 7 29000
#uniaxialMaterial StrPen01 $Tag $sy $fy $su $fu $Kz $R $Cd $db $fc $la
uniaxialMaterial Bond_SP01 400 65 0.02 97.5 0.7 0.50 0.7 0.0 1.0 4.35 25.0
# Define cross-section for nonlinear column
set colDia 24; # bending in this direction (local and global y)
set cover 1.38;
set bcent 1.81; # [expr $cover+0.197+0.5]
set As 0.60; # Area of no. 7 bar
set R [expr $colDia/2.0]
set Rc [expr $colDia/2.0-$cover]
set Rb [expr $colDia/2.0-$bcent]
section Fiber 1 {
# core concrete fibers
patch circ 1 70 22 0.0 0.0 0.0 $Rc 0.0 360.0
# concrete cover fibers
patch circ 2 70 2 0.0 0.0 $Rc $R 0.0 360.0
# reinforcing fibers
layer circ 5 14 $As 0.0 0.0 $Rb -90.0 244.3
}
section Fiber 2 {
# core concrete fibers
patch circ 3 70 22 0.0 0.0 0.0 $Rc 0.0 360.0
# concrete cover fibers
patch circ 3 70 2 0.0 0.0 $Rc $R 0.0 360.0
# reinforcing fibers
layer circ 5 14 $As 0.0 0.0 $Rb -90.0 244.3
}
section Fiber 5 {
# core concrete fibers
patch circ 200 70 22 0.0 0.0 0.0 $Rc 0.0 360.0
# concrete cover fibers
patch circ 2 70 2 0.0 0.0 $Rc $R 0.0 360.0
# reinforcing fibers
layer circ 400 14 $As 0.0 0.0 $Rb -90.0 244.3
}
# Define cross-section for nonlinear cap beam
set bmw 27; # bending in this direction (local and global y)
set bmh 24; # bending in this direction (local and global y)
set cover 1.38;
set bcent 1.81; # [expr $cover+0.197+0.5]
set aw [expr $bmw/2.0]
set ac [expr $bmw/2.0-$cover]
set ab [expr $bmw/2.0-$bcent]
set bw [expr $bmh/2.0]
set bc [expr $bmh/2.0-$cover]
set bb [expr $bmh/2.0-$bcent]
section Fiber 3 {
# concrete fibers
patch quad 4 48 1 -$bw -$aw $bw -$aw $bw $aw -$bw $aw
# reinforcing fibers
layer straight 6 7 $As -$bb $ab -$bb -$ab
layer straight 6 7 $As $bb $ab $bb -$ab
}
# Define column elements
## Geometry of coloumn elements
geomTransf Linear 1
# Number of integration points along length of element
set np 5
# Create the columns using displacement controlled beam-column elements
# tag ndI ndJ nsecs secID transfTag
element dispBeamColumn 1 1 2 $np 3 1
element dispBeamColumn 2 2 3 $np 3 1
element dispBeamColumn 3 3 4 $np 3 1
element dispBeamColumn 4 4 5 $np 3 1
element dispBeamColumn 5 5 6 $np 3 1
element dispBeamColumn 6 6 7 $np 3 1
element dispBeamColumn 7 4 8 $np 2 1
element dispBeamColumn 8 13 9 $np 1 1
element dispBeamColumn 9 9 10 $np 1 1
element dispBeamColumn 10 10 11 $np 1 1
element dispBeamColumn 11 11 12 $np 1 1
# zeroLengthSection tag ndI ndJ secID
element zeroLengthSection 12 8 13 5
# Set up and perform analysis
## Create recorders
recorder Node -file topdispac.out -time -node 12 -dof 2 disp
recorder Node -file rot4ac.out -time -node 4 -dof 3 disp
recorder Node -file rot8ac.out -time -node 8 -dof 3 disp
recorder Node -file section5.out -xml section5.out -time -node 13 -dof 3 disp
recorder Drift drift84ac.out 4 8 2 1
recorder Drift curvatureac.out 8 9 3 1
recorder Drift curvatureac1.out 13 9 3 1
recorder Element -file secstrspac.out -time -ele 8 section 5 fiber -$Rb 0 5 stressStrain
recorder Element -file secstrsnac.out -time -ele 8 section 5 fiber $Rb 0 5 stressStrain
recorder Element -file secstrcac.out -time -ele 8 section 5 fiber $Rc 0 1 stressStrain
recorder plot topdispac.out Node12_Ydisp 10 10 300 300 -columns 2 1
set P -90.0
pattern Plain 1 "Constant" {
load 12 $P 0.0 0.0
}
# Define analysis parameters
integrator LoadControl 0
system SparseGeneral -piv
test NormDispIncr 1.0e-4 2000
numberer Plain
constraints Plain
algorithm KrylovNewton
analysis Static
# Do one analysis for constant axial load
analyze 1
# Define reference force
pattern Plain 2 "Linear" {
load 12 0.0 1.0 0.0
}
set dU1 -0.02
set dU2 0.02
# Perform the analysis
integrator DisplacementControl 12 2 $dU1
analyze 33
integrator DisplacementControl 12 2 $dU2
analyze 65
integrator DisplacementControl 12 2 $dU1
analyze 32
integrator DisplacementControl 12 2 $dU1
analyze 67
integrator DisplacementControl 12 2 $dU2
analyze 134
integrator DisplacementControl 12 2 $dU1
analyze 67
integrator DisplacementControl 12 2 $dU1
analyze 101
integrator DisplacementControl 12 2 $dU2
analyze 202
integrator DisplacementControl 12 2 $dU1
analyze 101
integrator DisplacementControl 12 2 $dU1
analyze 135
integrator DisplacementControl 12 2 $dU2
analyze 270
integrator DisplacementControl 12 2 $dU1
analyze 135
integrator DisplacementControl 12 2 $dU1
analyze 202
integrator DisplacementControl 12 2 $dU2
analyze 404
integrator DisplacementControl 12 2 $dU1
analyze 202
-
- Posts: 916
- Joined: Mon Sep 09, 2013 8:50 pm
- Location: University of California, Berkeley
Re: questions about example SS_IC1.TCL
You can not get the curvature at a section by using the Node recorder. You should use the element recorder. Please see the example at the bottom of the page at the below link.
https://opensees.berkeley.edu/wiki/inde ... t_Recorder
https://opensees.berkeley.edu/wiki/inde ... t_Recorder
Re: questions about example SS_IC1.TCL
thanks for your replying, selimgunay!selimgunay wrote: ↑Wed Aug 12, 2020 5:12 pm You can not get the curvature at a section by using the Node recorder. You should use the element recorder. Please see the example at the bottom of the page at the below link.
https://opensees.berkeley.edu/wiki/inde ... t_Recorder
I looked at the command flow, but I still didn't quite understand what it meant
"recorder Element -file Element1.out -time -ele 1 3 section 1 fiber 0.10 0.10 stressStrain"
For zerolength section element, using "recorder Element -file Element1.out -time -ele 1 section fiber 0.10 0.10 stressStrain". Is the coordinate 0.10 0.10 the distance from the center of the circle of the section?
In addition, if I get the stress strain, how do I convert it to moment curvature?
I don't quite understand the output of this case. May I ask you something?
1."recorder Drift curvatureac.out 8 9 3 1" and "recorder Drift curvatureac1.out 13 9 3 1",what do these two commands means? Is Curvature?
2.Code "set bcent 1.81; # [expr $cover+0.197+0.5] " .What's BCENT?I don't understand why the protective thickness should be added with 0.197 and 0.5 (PS: these two Numbers never appear).
Looking forward to your reply!!
Regard
-
- Posts: 916
- Joined: Mon Sep 09, 2013 8:50 pm
- Location: University of California, Berkeley
Re: questions about example SS_IC1.TCL
Yes that gives you the stress and strain, for the curvature you should use
recorder Element -file Element1.out -time -ele 1 section deformation
for the moment, it should be
recorder Element -file Element1.out -time -ele 1 section force
recorder Element -file Element1.out -time -ele 1 section deformation
for the moment, it should be
recorder Element -file Element1.out -time -ele 1 section force
Re: questions about example SS_IC1.TCL
Thank you for your answer!Dear selimgunay! I used the two codes you gave me, took Mz and kappaZ to draw the moment-curvature diagram (converted them into international units for comparison), but I found that my curvature was about 8 times greater than that in the scholar's literature.I'm doing it the right way?selimgunay wrote: ↑Thu Aug 13, 2020 7:48 pm Yes that gives you the stress and strain, for the curvature you should use
recorder Element -file Element1.out -time -ele 1 section deformation
for the moment, it should be
recorder Element -file Element1.out -time -ele 1 section force
The code I used as follows:
recorder Element -xml Element12Def.out -time -ele 12 section deformation
recorder Element -xml Element12For.out -time -ele 12 section force
Hope to get your reply!
-
- Posts: 916
- Joined: Mon Sep 09, 2013 8:50 pm
- Location: University of California, Berkeley
Re: questions about example SS_IC1.TCL
You should also specify the section number like
recorder Element -xml Element12Def.out -time -ele 12 section 1 deformation
recorder Element -xml Element12For.out -time -ele 12 section 1 force
recorder Element -xml Element12Def.out -time -ele 12 section 1 deformation
recorder Element -xml Element12For.out -time -ele 12 section 1 force
Re: questions about example SS_IC1.TCL
Dear selimgunay, hank you for your reply and apologize for my late reply!selimgunay wrote: ↑Sat Aug 15, 2020 9:30 am You should also specify the section number like
recorder Element -xml Element12Def.out -time -ele 12 section 1 deformation
recorder Element -xml Element12For.out -time -ele 12 section 1 force
I tried this code and the result not right, and I used the code you recommended before
" recorder Element -xml Data2/Element12Dsp.out -time -ele 12 section deformation
recorder Element -xml Data2/Element12Frc.out -time -ele 12 section forces "
The moment is similar to that in the literature, but the curvature is about 12 times greater, but the unit I used is "in", so the units of output curvature should not require conversion of units (1/in).
Thank you for your patient reply and look forward to your reply!!
-
- Posts: 916
- Joined: Mon Sep 09, 2013 8:50 pm
- Location: University of California, Berkeley
Re: questions about example SS_IC1.TCL
If the moments are similar, curvatures should also be like that. If there is a factor of 12, it looks like there is an issue with units. Curvature units should be in 1/length unit, you are right. You can also double check everything to see if it satisfies M/EI=curvature in the elastic range.
Re: questions about example SS_IC1.TCL
Thanks again selimgunay!I still have a lot to learn from you!selimgunay wrote: ↑Tue Aug 18, 2020 5:10 pm If the moments are similar, curvatures should also be like that. If there is a factor of 12, it looks like there is an issue with units. Curvature units should be in 1/length unit, you are right. You can also double check everything to see if it satisfies M/EI=curvature in the elastic range.
I'm going to check the model again to see if it's a unit problem!
You are so kind!
-
- Posts: 916
- Joined: Mon Sep 09, 2013 8:50 pm
- Location: University of California, Berkeley
Re: questions about example SS_IC1.TCL
You're welcome.