Gravity load
Moderators: silvia, selimgunay, Moderators
Gravity load
I don not quite understand why there exists transverse displacement under the gravity load(and it's rather big, several mm)
my model is a 2D cantilever column, the load pattern is node load. the element type is nonlinearbeamcolumn and the section is fiber section aggregated with elastic torsion property
Thanks!
my model is a 2D cantilever column, the load pattern is node load. the element type is nonlinearbeamcolumn and the section is fiber section aggregated with elastic torsion property
Thanks!
nobody love
Re: Gravity load
What geometric transformation do you use?
If your model is in 2D you do not need to define torsion.
If your model is in 2D you do not need to define torsion.
Re: Gravity load
Hello vesna,
the geometric transformation is linear, the transvese disp under gravity load is -0.00210238,I think it should not be so large. Besides, the strain of concrete do not equal to that of steel at the same section(under vertical load,which actually should be), I don't know the error drive from my model or the software itself.
the following is my script,It is a single pier, 90m heigh, with box section 4.4*4.4m, thickness 0.5m
Sorry to bother you again, but i,m really puzzled
Thanks
the geometric transformation is linear, the transvese disp under gravity load is -0.00210238,I think it should not be so large. Besides, the strain of concrete do not equal to that of steel at the same section(under vertical load,which actually should be), I don't know the error drive from my model or the software itself.
the following is my script,It is a single pier, 90m heigh, with box section 4.4*4.4m, thickness 0.5m
Sorry to bother you again, but i,m really puzzled
Thanks
Last edited by hnsmengyu on Fri May 06, 2011 12:22 am, edited 2 times in total.
nobody love
Re: Gravity load
#define procedure for box fiber section
proc BuildRCrectSection {secID Hsec Bsec dH dB coverH coverB coreID coverID steelID numBarsOuterY BarAreaOuterY numBarsOuterZ\
BarAreaOuterZ numBarsInnerY BarAreaInnerY numBarsInnerZ BarAreaInnerZ } {
set y1 [expr $Hsec/2.0]
set y2 [expr $y1-$coverH]
set y3 [expr $y1-$dH+$coverH]
set y4 [expr $y3-$coverH]
set z1 [expr $Bsec/2.0]
set z2 [expr $z1-$coverB]
set z3 [expr $z1-$dB+$coverB]
set z4 [expr $z3-$coverB]
set n1 [expr int(($Hsec-2*$coverH)/$coverH/5.0)] ;#number of subdivisions of the core concrete -y direction
set n2 [expr int(($Bsec-2*$coverB)/$coverB/5.0)] ;#number of subdivisions of the core concrete -z direction
set n3 [expr int($dH/$coverH)] ;#number of subdivisions of the core concrete -y direction
set n4 [expr int($dB/$coverB)] ;#number of subdivisions of the core concrete -z direction
set n5 [expr int($Hsec/$coverH/5.0)] ;#number of subdivisions of the core concrete -z direction
set n6 [expr int(($Hsec-2*$dH+2*$coverH)/$coverH/5.0)];#number of subdivisions of the cover concrete in the inner patch
set n7 [expr int($Bsec/$coverB/5.0)] ;#number of subdivisions of the cover concrete in the inner patch
set n8 [expr int(($Bsec-2*$dB+2*$coverB)/$coverB/5.0)];#number of subdivisions of the cover concrete in the inner patch
# Define the fiber section
section fiberSec $secID {
# Define the core patch
patch quadr $coreID $n4 $n1 -$y2 $z2 -$y3 $z3 $y3 $z3 $y2 $z2 ;#patch 1
patch quadr $coreID $n4 $n1 -$y3 -$z3 -$y2 -$z2 $y2 -$z2 $y3 -$z3 ;#patch 2
patch quadr $coreID $n3 $n2 -$y3 $z3 -$y2 $z2 -$y2 -$z2 -$y3 -$z3 ;#patch 3
patch quadr $coreID $n3 $n2 $y2 $z2 $y3 $z3 $y3 -$z3 $y2 -$z2 ;#patch 4
# Define the four cover patches
patch quadr $coverID 1 $n5 -$y1 $z1 -$y2 $z2 $y2 $z2 $y1 $z1 ;#patch 5
patch quadr $coverID 1 $n5 -$y2 -$z2 -$y1 -$z1 $y1 -$z1 $y2 -$z2 ;#patch 6
patch quadr $coverID 1 $n7 -$y2 $z2 -$y1 $z1 -$y1 -$z1 -$y2 -$z2 ;#patch 7
patch quadr $coverID 1 $n7 $y1 $z1 $y2 $z2 $y2 -$z2 $y1 -$z1 ;#patch 8
patch quadr $coverID 1 $n6 -$y3 $z3 -$y4 $z4 $y4 $z4 $y3 $z3 ;#patch 9
patch quadr $coverID 1 $n6 -$y4 -$z4 -$y3 -$z3 $y3 -$z3 $y4 -$z4 ;#patch 10
patch quadr $coverID 1 $n8 -$y4 $z4 -$y3 $z3 -$y3 -$z3 -$y4 -$z4 ;#patch 12
patch quadr $coverID 1 $n8 $y3 $z3 $y4 $z4 $y4 -$z4 $y3 -$z3 ;#patch 11
# define reinforcing layers
set numOY [expr $numBarsOuterY-1]
set numOZ [expr $numBarsOuterZ+1]
set y22 [expr $y2-($y2/$numBarsOuterY)]
set z22 [expr $z2-($z2/$numBarsOuterZ)]
layer straight $steelID $numOY $BarAreaOuterY -$y22 $z22 $y22 $z22
layer straight $steelID $numOY $BarAreaOuterY -$y22 -$z22 $y22 -$z22
layer straight $steelID $numOZ $BarAreaOuterZ $y2 $z2 $y2 -$z2
layer straight $steelID $numOZ $BarAreaOuterZ -$y2 $z2 -$y2 -$z2
set numIY [expr $numBarsInnerY-1]
set numIZ [expr $numBarsInnerZ+1]
set y33 [expr $y3-($y3/$numBarsInnerY)]
set z33 [expr $z3-($z3/$numBarsInnerZ)]
layer straight $steelID $numIY $BarAreaInnerY -$y33 $z33 -$y33 -$z33
layer straight $steelID $numIY $BarAreaInnerY -$y33 -$z33 $y33 -$z33
layer straight $steelID $numIZ $BarAreaInnerZ $y3 $z3 $y3 -$z3
layer straight $steelID $numIZ $BarAreaInnerZ -$y3 $z3 -$y3 -$z3
} ;#end of fibersection definition
} ;#end of procedure
#----------------------------------------------------------------------------------------------------------------------#
wipe
#unit SI: m s Kg
model BasicBuilder -ndm 2 -ndf 3
set Hc 90.0 ;#Height of pier
set He 2.0 ;#Height of pier element
set B 4.4 ;#Dimension of cross section, box section
set d 0.5 ;#Thickness of box section
set LTM 700.0e3 ;#Lump mass at top of the pier
set Nc [expr int($Hc/$He+1)] ;#Numbers of node
set GamaConc 2.5E4 ;#volume-weight of concrete
set g 9.8 ;#Gravity accel
set pi 3.14 ;#Constant
set UBig 1.0E10 ;#A really big number
set USmall [expr 1.0/$UBig] ;#A really small number
#box section, fiber
#Define nodes and mass
for {set i 1} {$i<=$Nc} {incr i 1} {
set nodeID $i
set CoordX 0.0
set CoordY [expr ($i-1)*$He]
set massD1 [expr ( $B*$B-($B-2.0*$d)*($B-2.0*$d) )*$He*$GamaConc/$g]
set massD2 0.0
set massD3 0.0
if {$i==1} {
node $nodeID $CoordX $CoordY -mass [expr $massD1/2.0] $massD2 $massD3
} elseif {$i==$Nc} {
node $nodeID $CoordX $CoordY -mass [expr $massD1/2.0+$LTM] $massD2 $massD3
} else {
node $nodeID $CoordX $CoordY -mass $massD1 $massD2 $massD3
}
}
#Define constraints
fix 1 1 1 1
#Define materials
#concrete Kent-Scott-Park model
#cover concrete
set coverID 1
set fps1 -26.8E6
set epsc011 -0.002
set fpcu1 -5.36E6
set epsu1 -0.004
#core concrete
set coreID 2
set fps2 -28.0E6;
set epsc012 -0.00216;
set fpcu2 -5.752E6;
set epsu2 -0.0089;
#steel:Giuffre Mentgotto Pinto model
set steelID 3
set Fy 335E6;
set Es 2.0E11;
set Bs 1e-8;
uniaxialMaterial Concrete01 $coverID $fps1 $epsc011 $fpcu1 $epsu1
uniaxialMaterial Concrete01 $coreID $fps2 $epsc012 $fpcu2 $epsu2
uniaxialMaterial Steel01 $steelID $Fy $Es $Bs
#Define sections-fiber section
set cover 0.04
set coverH $cover
set coverB $cover
set secID 100
set numBarsOuterY 26
set numBarsOuterZ 26
set numBarsInnerY 26
set numBarsInnerZ 26
set dOuter 0.028
set dInner 0.025
set BarAreaOuterY [expr $pi*$dOuter**2.0/4.0]
set BarAreaOuterZ [expr $pi*$dOuter**2.0/4.0]
set BarAreaInnerY [expr $pi*$dInner**2.0/4.0]
set BarAreaInnerZ [expr $pi*$dInner**2.0/4.0]
BuildRCrectSection $secID $B $B $d $d $coverH $coverB $coreID $coverID $steelID\
$numBarsOuterY $BarAreaOuterY $numBarsOuterZ $BarAreaOuterZ $numBarsInnerY $BarAreaInnerY $numBarsInnerZ $BarAreaInnerZ
#Define elements
set IDtransf 1
set numIntP 5
geomTransf Linear $IDtransf
for {set i 1} {$i<=[expr $Nc-1]} {incr i 1} {
set eleID $i
set nodeI $i
set nodeJ [expr $i+1]
element forceBeamColumn $eleID $nodeI $nodeJ $numIntP $secID $IDtransf
}
recorder Node -file Roofdisp.txt -time -node $Nc -dof 1 disp
#Define gravity load
set GravityLoadID 100
pattern Plain $GravityLoadID Linear {
for {set i 1} {$i<=[expr $Nc-1]} {incr i 1} {
set elemID $i
set Qpier [expr $massD1*$g/$He]
eleLoad -ele $elemID -type -beamUniform 0.0 -$Qpier
}
}
pattern Plain 101 Linear {
set cF [expr $LTM*$g]
load $Nc 0.0 -$cF 0.0
}
#Gravity analysis
set LoadFactor 0.1
constraints Plain
numberer Plain
system BandGeneral
test NormDispIncr 1.0e-8 10
algorithm Newton
integrator LoadControl $LoadFactor
analysis Static
analyze 10
loadConst -time 0.0
wipe
proc BuildRCrectSection {secID Hsec Bsec dH dB coverH coverB coreID coverID steelID numBarsOuterY BarAreaOuterY numBarsOuterZ\
BarAreaOuterZ numBarsInnerY BarAreaInnerY numBarsInnerZ BarAreaInnerZ } {
set y1 [expr $Hsec/2.0]
set y2 [expr $y1-$coverH]
set y3 [expr $y1-$dH+$coverH]
set y4 [expr $y3-$coverH]
set z1 [expr $Bsec/2.0]
set z2 [expr $z1-$coverB]
set z3 [expr $z1-$dB+$coverB]
set z4 [expr $z3-$coverB]
set n1 [expr int(($Hsec-2*$coverH)/$coverH/5.0)] ;#number of subdivisions of the core concrete -y direction
set n2 [expr int(($Bsec-2*$coverB)/$coverB/5.0)] ;#number of subdivisions of the core concrete -z direction
set n3 [expr int($dH/$coverH)] ;#number of subdivisions of the core concrete -y direction
set n4 [expr int($dB/$coverB)] ;#number of subdivisions of the core concrete -z direction
set n5 [expr int($Hsec/$coverH/5.0)] ;#number of subdivisions of the core concrete -z direction
set n6 [expr int(($Hsec-2*$dH+2*$coverH)/$coverH/5.0)];#number of subdivisions of the cover concrete in the inner patch
set n7 [expr int($Bsec/$coverB/5.0)] ;#number of subdivisions of the cover concrete in the inner patch
set n8 [expr int(($Bsec-2*$dB+2*$coverB)/$coverB/5.0)];#number of subdivisions of the cover concrete in the inner patch
# Define the fiber section
section fiberSec $secID {
# Define the core patch
patch quadr $coreID $n4 $n1 -$y2 $z2 -$y3 $z3 $y3 $z3 $y2 $z2 ;#patch 1
patch quadr $coreID $n4 $n1 -$y3 -$z3 -$y2 -$z2 $y2 -$z2 $y3 -$z3 ;#patch 2
patch quadr $coreID $n3 $n2 -$y3 $z3 -$y2 $z2 -$y2 -$z2 -$y3 -$z3 ;#patch 3
patch quadr $coreID $n3 $n2 $y2 $z2 $y3 $z3 $y3 -$z3 $y2 -$z2 ;#patch 4
# Define the four cover patches
patch quadr $coverID 1 $n5 -$y1 $z1 -$y2 $z2 $y2 $z2 $y1 $z1 ;#patch 5
patch quadr $coverID 1 $n5 -$y2 -$z2 -$y1 -$z1 $y1 -$z1 $y2 -$z2 ;#patch 6
patch quadr $coverID 1 $n7 -$y2 $z2 -$y1 $z1 -$y1 -$z1 -$y2 -$z2 ;#patch 7
patch quadr $coverID 1 $n7 $y1 $z1 $y2 $z2 $y2 -$z2 $y1 -$z1 ;#patch 8
patch quadr $coverID 1 $n6 -$y3 $z3 -$y4 $z4 $y4 $z4 $y3 $z3 ;#patch 9
patch quadr $coverID 1 $n6 -$y4 -$z4 -$y3 -$z3 $y3 -$z3 $y4 -$z4 ;#patch 10
patch quadr $coverID 1 $n8 -$y4 $z4 -$y3 $z3 -$y3 -$z3 -$y4 -$z4 ;#patch 12
patch quadr $coverID 1 $n8 $y3 $z3 $y4 $z4 $y4 -$z4 $y3 -$z3 ;#patch 11
# define reinforcing layers
set numOY [expr $numBarsOuterY-1]
set numOZ [expr $numBarsOuterZ+1]
set y22 [expr $y2-($y2/$numBarsOuterY)]
set z22 [expr $z2-($z2/$numBarsOuterZ)]
layer straight $steelID $numOY $BarAreaOuterY -$y22 $z22 $y22 $z22
layer straight $steelID $numOY $BarAreaOuterY -$y22 -$z22 $y22 -$z22
layer straight $steelID $numOZ $BarAreaOuterZ $y2 $z2 $y2 -$z2
layer straight $steelID $numOZ $BarAreaOuterZ -$y2 $z2 -$y2 -$z2
set numIY [expr $numBarsInnerY-1]
set numIZ [expr $numBarsInnerZ+1]
set y33 [expr $y3-($y3/$numBarsInnerY)]
set z33 [expr $z3-($z3/$numBarsInnerZ)]
layer straight $steelID $numIY $BarAreaInnerY -$y33 $z33 -$y33 -$z33
layer straight $steelID $numIY $BarAreaInnerY -$y33 -$z33 $y33 -$z33
layer straight $steelID $numIZ $BarAreaInnerZ $y3 $z3 $y3 -$z3
layer straight $steelID $numIZ $BarAreaInnerZ -$y3 $z3 -$y3 -$z3
} ;#end of fibersection definition
} ;#end of procedure
#----------------------------------------------------------------------------------------------------------------------#
wipe
#unit SI: m s Kg
model BasicBuilder -ndm 2 -ndf 3
set Hc 90.0 ;#Height of pier
set He 2.0 ;#Height of pier element
set B 4.4 ;#Dimension of cross section, box section
set d 0.5 ;#Thickness of box section
set LTM 700.0e3 ;#Lump mass at top of the pier
set Nc [expr int($Hc/$He+1)] ;#Numbers of node
set GamaConc 2.5E4 ;#volume-weight of concrete
set g 9.8 ;#Gravity accel
set pi 3.14 ;#Constant
set UBig 1.0E10 ;#A really big number
set USmall [expr 1.0/$UBig] ;#A really small number
#box section, fiber
#Define nodes and mass
for {set i 1} {$i<=$Nc} {incr i 1} {
set nodeID $i
set CoordX 0.0
set CoordY [expr ($i-1)*$He]
set massD1 [expr ( $B*$B-($B-2.0*$d)*($B-2.0*$d) )*$He*$GamaConc/$g]
set massD2 0.0
set massD3 0.0
if {$i==1} {
node $nodeID $CoordX $CoordY -mass [expr $massD1/2.0] $massD2 $massD3
} elseif {$i==$Nc} {
node $nodeID $CoordX $CoordY -mass [expr $massD1/2.0+$LTM] $massD2 $massD3
} else {
node $nodeID $CoordX $CoordY -mass $massD1 $massD2 $massD3
}
}
#Define constraints
fix 1 1 1 1
#Define materials
#concrete Kent-Scott-Park model
#cover concrete
set coverID 1
set fps1 -26.8E6
set epsc011 -0.002
set fpcu1 -5.36E6
set epsu1 -0.004
#core concrete
set coreID 2
set fps2 -28.0E6;
set epsc012 -0.00216;
set fpcu2 -5.752E6;
set epsu2 -0.0089;
#steel:Giuffre Mentgotto Pinto model
set steelID 3
set Fy 335E6;
set Es 2.0E11;
set Bs 1e-8;
uniaxialMaterial Concrete01 $coverID $fps1 $epsc011 $fpcu1 $epsu1
uniaxialMaterial Concrete01 $coreID $fps2 $epsc012 $fpcu2 $epsu2
uniaxialMaterial Steel01 $steelID $Fy $Es $Bs
#Define sections-fiber section
set cover 0.04
set coverH $cover
set coverB $cover
set secID 100
set numBarsOuterY 26
set numBarsOuterZ 26
set numBarsInnerY 26
set numBarsInnerZ 26
set dOuter 0.028
set dInner 0.025
set BarAreaOuterY [expr $pi*$dOuter**2.0/4.0]
set BarAreaOuterZ [expr $pi*$dOuter**2.0/4.0]
set BarAreaInnerY [expr $pi*$dInner**2.0/4.0]
set BarAreaInnerZ [expr $pi*$dInner**2.0/4.0]
BuildRCrectSection $secID $B $B $d $d $coverH $coverB $coreID $coverID $steelID\
$numBarsOuterY $BarAreaOuterY $numBarsOuterZ $BarAreaOuterZ $numBarsInnerY $BarAreaInnerY $numBarsInnerZ $BarAreaInnerZ
#Define elements
set IDtransf 1
set numIntP 5
geomTransf Linear $IDtransf
for {set i 1} {$i<=[expr $Nc-1]} {incr i 1} {
set eleID $i
set nodeI $i
set nodeJ [expr $i+1]
element forceBeamColumn $eleID $nodeI $nodeJ $numIntP $secID $IDtransf
}
recorder Node -file Roofdisp.txt -time -node $Nc -dof 1 disp
#Define gravity load
set GravityLoadID 100
pattern Plain $GravityLoadID Linear {
for {set i 1} {$i<=[expr $Nc-1]} {incr i 1} {
set elemID $i
set Qpier [expr $massD1*$g/$He]
eleLoad -ele $elemID -type -beamUniform 0.0 -$Qpier
}
}
pattern Plain 101 Linear {
set cF [expr $LTM*$g]
load $Nc 0.0 -$cF 0.0
}
#Gravity analysis
set LoadFactor 0.1
constraints Plain
numberer Plain
system BandGeneral
test NormDispIncr 1.0e-8 10
algorithm Newton
integrator LoadControl $LoadFactor
analysis Static
analyze 10
loadConst -time 0.0
wipe
nobody love
Re: Gravity load
Due to round-off error you can get extremely small horizontal displacement (at the order of 1e-15) but what you are getting indicates the error in your model. I would think that your section is not well defined. Most probably it is not symmetric and that is what causes the horizontal displacement.
Re: Gravity load
Thank you, Vesna
The problem lays that the reinforced steel does not symmetric, and now the result is OK!
The problem lays that the reinforced steel does not symmetric, and now the result is OK!
nobody love