hello
I have 2 question and I will really appreciate it if you help.
1. I modeled a concrete cantilever beam with dispBeamColumn element, when I use element recorder like this:
recorder Element -file out/momentf.txt -ele 1 section 1 force
recorder Element -file out/momentd.txt -ele 1 section 1 deformation
it doesn't record anything (empty text file), but when I change it to "section 3" it will give me some results, what's the problem with " section 1 & 2"? (its fiber section)
2. I use DisplacementControl integrator for my cyclic load, but when I record the results the displacement goes further than what I entered, how its possible?
dispBeamColumn and Element recorder
Moderators: silvia, selimgunay, Moderators
Re: dispBeamColumn and Element recorder
can you post a little 1 element model with the commands you are using.
Re: dispBeamColumn and Element recorder
thank you very much
now my second problem about displacement solved, but any comment about any point in the script will be great.
here you are
wipe all
model basic -ndm 2 -ndf 3
#units are kg and cm
#costant parameters
set pi 3.1415
set b 20
set h 20
set cover 2.5
set bu [expr $b/2]
set bc [expr $b/2-$cover]
set fi_t 1.137
set fi_b 1.2
set Areafi_t [expr $pi*$fi_t*$fi_t/4]
set Areafi_b [expr $pi*$fi_b*$fi_b/4]
set fi_nt 3
set fi_nb 4
set L 125.
set fc_uncf -260.
set fu_uncf 0
set fy 4120
set fu 6120.
set epsy_bar 0.002
set epsu_bar 0.18
set Es [expr $fy/$epsy_bar]
set epsc0_uncf -0.002
set epsU_uncf -0.005
set Ec [expr 15100*pow((-1*$fc_uncf),0.5)]
set axialLoad -125
set iteration 10000
set persicion 1.0e-5
#materials
uniaxialMaterial Concrete01 1 $fc_uncf $epsc0_uncf $fu_uncf $epsU_uncf
uniaxialMaterial Steel02 3 $fy $Es 0.01 10 0.925 0.15
#fiber section
section fiberSec 1 {
#concrete fiber
patch quad 1 10 10 [expr -$bc] [expr -$bc] [expr +$bc] [expr -$bc] [expr +$bc] [expr +$bc] [expr -$bc] [expr +$bc]
patch quad 1 10 2 [expr -$bu] [expr -$bu] [expr +$bu] [expr -$bu] [expr +$bu] [expr -$bc] [expr -$bu] [expr -$bc]
patch quad 1 10 2 [expr -$bu] [expr +$bc] [expr +$bu] [expr +$bc] [expr +$bu] [expr +$bu] [expr -$bu] [expr +$bu]
patch quad 1 2 6 [expr -$bu] [expr -$bc] [expr -$bc] [expr -$bc] [expr -$bc] [expr +$bc] [expr -$bu] [expr +$bc]
patch quad 1 2 6 [expr +$bc] [expr -$bc] [expr +$bu] [expr -$bc] [expr +$bu] [expr +$bc] [expr +$bc] [expr +$bc]
#reinforcement fiber
layer straight 3 $fi_nt $Areafi_t [expr +$bc] [expr -$bc] [expr +$bc] [expr +$bc]
layer straight 3 $fi_nb $Areafi_b [expr -$bc] [expr -$bc] [expr -$bc] [expr +$bc]
}
#define nodes
node 1 0 0
node 2 0 [expr $L/5]
node 3 0 [expr $L*2/5]
node 4 0 [expr $L*3/5]
node 5 0 [expr $L*4/5]
node 6 0 $L
set basenode 1
set topnode 6
set dof_rec 1
set lintag 1
geomTransf PDelta $lintag
#define elements
element dispBeamColumn 1 1 2 5 1 $lintag
element dispBeamColumn 2 2 3 5 1 $lintag
element dispBeamColumn 3 3 4 5 1 $lintag
element dispBeamColumn 4 4 5 5 1 $lintag
element dispBeamColumn 5 5 6 5 1 $lintag
#constraint
fix 1 1 1 1
#display
recorder display Frame 10 10 500 500 -wipe
vup 0 1 0
prp 0 0 1000000
display 1 1 1
#axial load analyse
integrator LoadControl 0 1 0 0
system ProfileSPD
constraints Plain
test NormDispIncr $persicion $iteration
algorithm Newton
numberer RCM
analysis Static
pattern Plain 2 "Constant" {
load $topnode 0 $axialLoad 0
}
analyze 1
wipeAnalysis
#cyclic load and recorders
file mkdir out
set Dincr [list 0.016 -0.032 0.032 -0.032 0.056 -0.08 0.08 -0.08 0.12 -0.16 0.16 -0.16 0.24 -0.32 0.32 -0.32 0.32 -0.32 0.48 -0.64 0.64 -0.64 0.64 -0.64 0.8 -0.96 0.96 -0.96 0.96 -0.96 1.12 -1.28 1.28 -1.28 1.28 -1.28 1.44 -1.6 1.6]
recorder Node -file out/Displacement.txt -node $topnode -dof $dof_rec disp
recorder Node -file out/Force.txt -node $basenode -dof $dof_rec reaction
recorder Element -file out/momentf.txt -ele 1 section 1 force
recorder Element -file out/momentd.txt -ele 1 section 1 deformation
recorder Element -file out/stresstrain.txt -ele 1 section 1 fiber 10 10 stressStrain
recorder Node -file out/axialforcet.txt -node $topnode -dof 2 reaction
recorder Node -file out/axialforceb.txt -node $basenode -dof 2 reaction
#cyclic load analyze
system ProfileSPD
constraints Plain
test NormDispIncr $persicion $iteration
algorithm Newton -initial
numberer RCM
pattern Plain 1 "Linear" {
load $topnode 1 0 0
}
for {set j 0} {$j < [llength $Dincr]} {incr j 1} {
puts "total steps = Analyze $j out of [llength $Dincr]"
integrator DisplacementControl $topnode $dof_rec [lindex $Dincr $j]
analysis Static
set Nstep 10
analyze $Nstep
}
now my second problem about displacement solved, but any comment about any point in the script will be great.
here you are
wipe all
model basic -ndm 2 -ndf 3
#units are kg and cm
#costant parameters
set pi 3.1415
set b 20
set h 20
set cover 2.5
set bu [expr $b/2]
set bc [expr $b/2-$cover]
set fi_t 1.137
set fi_b 1.2
set Areafi_t [expr $pi*$fi_t*$fi_t/4]
set Areafi_b [expr $pi*$fi_b*$fi_b/4]
set fi_nt 3
set fi_nb 4
set L 125.
set fc_uncf -260.
set fu_uncf 0
set fy 4120
set fu 6120.
set epsy_bar 0.002
set epsu_bar 0.18
set Es [expr $fy/$epsy_bar]
set epsc0_uncf -0.002
set epsU_uncf -0.005
set Ec [expr 15100*pow((-1*$fc_uncf),0.5)]
set axialLoad -125
set iteration 10000
set persicion 1.0e-5
#materials
uniaxialMaterial Concrete01 1 $fc_uncf $epsc0_uncf $fu_uncf $epsU_uncf
uniaxialMaterial Steel02 3 $fy $Es 0.01 10 0.925 0.15
#fiber section
section fiberSec 1 {
#concrete fiber
patch quad 1 10 10 [expr -$bc] [expr -$bc] [expr +$bc] [expr -$bc] [expr +$bc] [expr +$bc] [expr -$bc] [expr +$bc]
patch quad 1 10 2 [expr -$bu] [expr -$bu] [expr +$bu] [expr -$bu] [expr +$bu] [expr -$bc] [expr -$bu] [expr -$bc]
patch quad 1 10 2 [expr -$bu] [expr +$bc] [expr +$bu] [expr +$bc] [expr +$bu] [expr +$bu] [expr -$bu] [expr +$bu]
patch quad 1 2 6 [expr -$bu] [expr -$bc] [expr -$bc] [expr -$bc] [expr -$bc] [expr +$bc] [expr -$bu] [expr +$bc]
patch quad 1 2 6 [expr +$bc] [expr -$bc] [expr +$bu] [expr -$bc] [expr +$bu] [expr +$bc] [expr +$bc] [expr +$bc]
#reinforcement fiber
layer straight 3 $fi_nt $Areafi_t [expr +$bc] [expr -$bc] [expr +$bc] [expr +$bc]
layer straight 3 $fi_nb $Areafi_b [expr -$bc] [expr -$bc] [expr -$bc] [expr +$bc]
}
#define nodes
node 1 0 0
node 2 0 [expr $L/5]
node 3 0 [expr $L*2/5]
node 4 0 [expr $L*3/5]
node 5 0 [expr $L*4/5]
node 6 0 $L
set basenode 1
set topnode 6
set dof_rec 1
set lintag 1
geomTransf PDelta $lintag
#define elements
element dispBeamColumn 1 1 2 5 1 $lintag
element dispBeamColumn 2 2 3 5 1 $lintag
element dispBeamColumn 3 3 4 5 1 $lintag
element dispBeamColumn 4 4 5 5 1 $lintag
element dispBeamColumn 5 5 6 5 1 $lintag
#constraint
fix 1 1 1 1
#display
recorder display Frame 10 10 500 500 -wipe
vup 0 1 0
prp 0 0 1000000
display 1 1 1
#axial load analyse
integrator LoadControl 0 1 0 0
system ProfileSPD
constraints Plain
test NormDispIncr $persicion $iteration
algorithm Newton
numberer RCM
analysis Static
pattern Plain 2 "Constant" {
load $topnode 0 $axialLoad 0
}
analyze 1
wipeAnalysis
#cyclic load and recorders
file mkdir out
set Dincr [list 0.016 -0.032 0.032 -0.032 0.056 -0.08 0.08 -0.08 0.12 -0.16 0.16 -0.16 0.24 -0.32 0.32 -0.32 0.32 -0.32 0.48 -0.64 0.64 -0.64 0.64 -0.64 0.8 -0.96 0.96 -0.96 0.96 -0.96 1.12 -1.28 1.28 -1.28 1.28 -1.28 1.44 -1.6 1.6]
recorder Node -file out/Displacement.txt -node $topnode -dof $dof_rec disp
recorder Node -file out/Force.txt -node $basenode -dof $dof_rec reaction
recorder Element -file out/momentf.txt -ele 1 section 1 force
recorder Element -file out/momentd.txt -ele 1 section 1 deformation
recorder Element -file out/stresstrain.txt -ele 1 section 1 fiber 10 10 stressStrain
recorder Node -file out/axialforcet.txt -node $topnode -dof 2 reaction
recorder Node -file out/axialforceb.txt -node $basenode -dof 2 reaction
#cyclic load analyze
system ProfileSPD
constraints Plain
test NormDispIncr $persicion $iteration
algorithm Newton -initial
numberer RCM
pattern Plain 1 "Linear" {
load $topnode 1 0 0
}
for {set j 0} {$j < [llength $Dincr]} {incr j 1} {
puts "total steps = Analyze $j out of [llength $Dincr]"
integrator DisplacementControl $topnode $dof_rec [lindex $Dincr $j]
analysis Static
set Nstep 10
analyze $Nstep
}