axial force problem in 3dframe model
Moderators: silvia, selimgunay, Moderators
axial force problem in 3dframe model
dear all
i try to get the straining action in a column and beam ( elements of 3dframe) . i run a linear algorithm to solve this problem statically . i got axial force in column which mean reactions at support. two column given a actual value but the other given value=0.0
i check all the local and global force. then i think the probleem were the sign of shear force at each beam node.
so plz is there solution for that problem to get the exact value of forces and avoid the errors according to sign .
the script is here for check
# 3dframe
#
# Units: N,m,sec
# ----------------------------
# Start of model generation
# ----------------------------
# Create ModelBuilder with 3 dimensions and 6 DOF/node
model BasicBuilder -ndm 3 -ndf 6
# Define geometry
# ---------------
# Set parameters for model geometry
set h 3.5; # Story height m
set by 2.0; # Bay width in Y-direction m
set bx 2.0; # Bay width in X-direction m
# Create nodes
# tag X Y Z
node 1 [expr -2*$bx] [expr 2*$by] 0
node 2 [expr 2*$bx] [expr 2*$by] 0
node 3 [expr 2*$bx] [expr -2*$by] 0
node 4 [expr -2*$bx] [expr -2*$by] 0
node 5 [expr -2*$bx] [expr 2*$by] $h
node 6 [expr 2*$bx] [expr 2*$by] $h
node 7 [expr 2*$bx] [expr -2*$by] $h
node 8 [expr -2*$bx] [expr -2*$by] $h
# Set base constraints
# tag DX DY DZ RX RY RZ
fix 1 1 1 1 1 1 1
fix 2 1 1 1 1 1 1
fix 3 1 1 1 1 1 1
fix 4 1 1 1 1 1 1
# --------------------------------------
# CONCRETE
# Column width
set d 0.40; # m
# Concrete elastic stiffness
set E 2.48e+10; #according to egyptian code N/m.square-like sap
# Column torsional stiffness
set G 1e+10
set J 0.00426666
set A 0.16
set Iy 0.00213333 ; # m4
set Iz 0.00213333 ; # m4
geomTransf Linear 1 1 0 0
# Create the linear column elements
# tag ndI ndJ A G J E Iy Iz transf
element elasticBeamColumn 1 1 5 $A $G $J $E $Iy $Iz 1
element elasticBeamColumn 2 2 6 $A $G $J $E $Iy $Iz 1
element elasticBeamColumn 3 3 7 $A $G $J $E $Iy $Iz 1
element elasticBeamColumn 4 4 8 $A $G $J $E $Iy $Iz 1
# Define beam elements
# Define material properties for elastic beams
# Using beam depth of 0.70 and width of 0.40
# --------------------------------------------
set Abeam 0.28
# second moments of area
set Ibeamzz 0.011433333
set Ibeamyy 0.003733333
set JB 0.01516
set G 1e+10
# Geometric transformation for beams
# tag vecxz
geomTransf Linear 2 1 1 0
# Create the beam elements
# tag ndI ndJ A G J E Iy Iz transf
element elasticBeamColumn 5 5 6 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 6 6 7 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 7 7 8 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 8 8 5 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
# Define gravity loads
# --------------------
# Gravity load applied at each beam uniformaly
set Wy 50000
pattern Plain 1 Constant {
eleLoad -ele 5 -type -beamUniform $Wy 0.0 0.0
eleLoad -ele 6 -type -beamUniform $Wy 0.0 0.0
eleLoad -ele 7 -type -beamUniform $Wy 0.0 0.0
eleLoad -ele 8 -type -beamUniform $Wy 0.0 0.0
}
# End of model generation
# -----------------------
# ----------------------------
# Start of analysis generation
# ----------------------------
# Create the solution algorithm
integrator LoadControl 1
algorithm Linear
# Create the system of equation storage and solver
system BandGeneral -piv
# Create the constraint handler
constraints Transformation
# Create the time integration scheme
#integrator
# Create the DOF numberer
numberer RCM
# Create the transient analysis
analysis Static
# --------------------------
# End of analysis generation
# --------------------------
# ----------------------------
# Start of recorder generation
# ----------------------------
# Record DOF 3displacements at nodes 5
recorder Node -file node53.xls -node 5 -dof 1 2 3 4 5 6 disp
# Create a recorder to monitor element forces in columns
recorder Element -file elemg1.xls -ele 1 globalForce
recorder Element -file elemg2.xls -ele 2 globalForce
recorder Element -file elemg3.xls -ele 3 globalForce
recorder Element -file elemg4.xls -ele 4 globalForce
recorder Element -file elemg5.xls -ele 5 globalForce
recorder Element -file elemg6.xls -ele 6 globalForce
recorder Element -file elemg7.xls -ele 7 globalForce
recorder Element -file elemg8.xls -ele 8 globalForce
recorder Element -file eleml1.xls -ele 1 localForce
recorder Element -file eleml2.xls -ele 2 localForce
recorder Element -file eleml3.xls -ele 3 localForce
recorder Element -file eleml4.xls -ele 4 localForce
recorder Element -file eleml5.xls -ele 5 localForce
recorder Element -file eleml6.xls -ele 6 localForce
recorder Element -file eleml7.xls -ele 7 localForce
recorder Element -file eleml8.xls -ele 8 localForce
# End of recorder generation
# --------------------------
# --------------------
# Perform the analysis
# --------------------
# numStep
analyze 1
`
thanx
ALaa
i try to get the straining action in a column and beam ( elements of 3dframe) . i run a linear algorithm to solve this problem statically . i got axial force in column which mean reactions at support. two column given a actual value but the other given value=0.0
i check all the local and global force. then i think the probleem were the sign of shear force at each beam node.
so plz is there solution for that problem to get the exact value of forces and avoid the errors according to sign .
the script is here for check
# 3dframe
#
# Units: N,m,sec
# ----------------------------
# Start of model generation
# ----------------------------
# Create ModelBuilder with 3 dimensions and 6 DOF/node
model BasicBuilder -ndm 3 -ndf 6
# Define geometry
# ---------------
# Set parameters for model geometry
set h 3.5; # Story height m
set by 2.0; # Bay width in Y-direction m
set bx 2.0; # Bay width in X-direction m
# Create nodes
# tag X Y Z
node 1 [expr -2*$bx] [expr 2*$by] 0
node 2 [expr 2*$bx] [expr 2*$by] 0
node 3 [expr 2*$bx] [expr -2*$by] 0
node 4 [expr -2*$bx] [expr -2*$by] 0
node 5 [expr -2*$bx] [expr 2*$by] $h
node 6 [expr 2*$bx] [expr 2*$by] $h
node 7 [expr 2*$bx] [expr -2*$by] $h
node 8 [expr -2*$bx] [expr -2*$by] $h
# Set base constraints
# tag DX DY DZ RX RY RZ
fix 1 1 1 1 1 1 1
fix 2 1 1 1 1 1 1
fix 3 1 1 1 1 1 1
fix 4 1 1 1 1 1 1
# --------------------------------------
# CONCRETE
# Column width
set d 0.40; # m
# Concrete elastic stiffness
set E 2.48e+10; #according to egyptian code N/m.square-like sap
# Column torsional stiffness
set G 1e+10
set J 0.00426666
set A 0.16
set Iy 0.00213333 ; # m4
set Iz 0.00213333 ; # m4
geomTransf Linear 1 1 0 0
# Create the linear column elements
# tag ndI ndJ A G J E Iy Iz transf
element elasticBeamColumn 1 1 5 $A $G $J $E $Iy $Iz 1
element elasticBeamColumn 2 2 6 $A $G $J $E $Iy $Iz 1
element elasticBeamColumn 3 3 7 $A $G $J $E $Iy $Iz 1
element elasticBeamColumn 4 4 8 $A $G $J $E $Iy $Iz 1
# Define beam elements
# Define material properties for elastic beams
# Using beam depth of 0.70 and width of 0.40
# --------------------------------------------
set Abeam 0.28
# second moments of area
set Ibeamzz 0.011433333
set Ibeamyy 0.003733333
set JB 0.01516
set G 1e+10
# Geometric transformation for beams
# tag vecxz
geomTransf Linear 2 1 1 0
# Create the beam elements
# tag ndI ndJ A G J E Iy Iz transf
element elasticBeamColumn 5 5 6 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 6 6 7 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 7 7 8 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 8 8 5 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
# Define gravity loads
# --------------------
# Gravity load applied at each beam uniformaly
set Wy 50000
pattern Plain 1 Constant {
eleLoad -ele 5 -type -beamUniform $Wy 0.0 0.0
eleLoad -ele 6 -type -beamUniform $Wy 0.0 0.0
eleLoad -ele 7 -type -beamUniform $Wy 0.0 0.0
eleLoad -ele 8 -type -beamUniform $Wy 0.0 0.0
}
# End of model generation
# -----------------------
# ----------------------------
# Start of analysis generation
# ----------------------------
# Create the solution algorithm
integrator LoadControl 1
algorithm Linear
# Create the system of equation storage and solver
system BandGeneral -piv
# Create the constraint handler
constraints Transformation
# Create the time integration scheme
#integrator
# Create the DOF numberer
numberer RCM
# Create the transient analysis
analysis Static
# --------------------------
# End of analysis generation
# --------------------------
# ----------------------------
# Start of recorder generation
# ----------------------------
# Record DOF 3displacements at nodes 5
recorder Node -file node53.xls -node 5 -dof 1 2 3 4 5 6 disp
# Create a recorder to monitor element forces in columns
recorder Element -file elemg1.xls -ele 1 globalForce
recorder Element -file elemg2.xls -ele 2 globalForce
recorder Element -file elemg3.xls -ele 3 globalForce
recorder Element -file elemg4.xls -ele 4 globalForce
recorder Element -file elemg5.xls -ele 5 globalForce
recorder Element -file elemg6.xls -ele 6 globalForce
recorder Element -file elemg7.xls -ele 7 globalForce
recorder Element -file elemg8.xls -ele 8 globalForce
recorder Element -file eleml1.xls -ele 1 localForce
recorder Element -file eleml2.xls -ele 2 localForce
recorder Element -file eleml3.xls -ele 3 localForce
recorder Element -file eleml4.xls -ele 4 localForce
recorder Element -file eleml5.xls -ele 5 localForce
recorder Element -file eleml6.xls -ele 6 localForce
recorder Element -file eleml7.xls -ele 7 localForce
recorder Element -file eleml8.xls -ele 8 localForce
# End of recorder generation
# --------------------------
# --------------------
# Perform the analysis
# --------------------
# numStep
analyze 1
`
thanx
ALaa
okey,
i do see your problem, and I guess you know it, too.
This has to do with how you defined the transformation vectorXZ.
since you defined this vector in the plane of the elements, sometimes the local y axis points up, sometimes it points down, since the local x vector sometimes points in and sometimes out.
one thing you can try is to define the local z axis to go upwards (same for all), and then just define gravity in that direction, with a negative sign.
this means rotating your local z and y axis, which are typically defined with the local y upwards.
otherwise, you can define the element i and j nodes somthing like this:
element elasticBeamColumn 5 6 5 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 6 6 7 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 7 7 8 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 8 5 8 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
option 3 is to define
eleload 5 +W
eleload 6 +W
eleload 7 -W
eleload 8 -W
please let me know which way you chose to go and let me know how it goes.
yes, this is a tricky problem, and many people (I included) stumble on it.
I'll see what I can do to document it.
i do see your problem, and I guess you know it, too.
This has to do with how you defined the transformation vectorXZ.
since you defined this vector in the plane of the elements, sometimes the local y axis points up, sometimes it points down, since the local x vector sometimes points in and sometimes out.
one thing you can try is to define the local z axis to go upwards (same for all), and then just define gravity in that direction, with a negative sign.
this means rotating your local z and y axis, which are typically defined with the local y upwards.
otherwise, you can define the element i and j nodes somthing like this:
element elasticBeamColumn 5 6 5 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 6 6 7 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 7 7 8 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 8 5 8 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
option 3 is to define
eleload 5 +W
eleload 6 +W
eleload 7 -W
eleload 8 -W
please let me know which way you chose to go and let me know how it goes.
yes, this is a tricky problem, and many people (I included) stumble on it.
I'll see what I can do to document it.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
it is easiest to do the following:
otherwise, you can define the element i and j nodes somthing like this:
element elasticBeamColumn 5 6 5 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 6 6 7 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 7 7 8 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 8 5 8 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
define the elements to go in the same direction.
otherwise, you can define the element i and j nodes somthing like this:
element elasticBeamColumn 5 6 5 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 6 6 7 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 7 7 8 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
element elasticBeamColumn 8 5 8 $Abeam $G $JB $E $Ibeamyy $Ibeamzz 2
define the elements to go in the same direction.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104