Gravity Analysis results not matching with that of SAP2000
Moderators: silvia, selimgunay, Moderators
Gravity Analysis results not matching with that of SAP2000
Sir, I have done a Gravity Load Analysis on a 1-storey frame model in OpenSees as well as SAP2000... But I found that Support reactions are not matching with that of SAP2000 model....
All loads applied are same in both OpenSees and SAP2000 ....
Kindly help me finding why OpenSees is showing different result that SAP2000...
wipe
# newtest1.tcl
logFile "newtest1.log"
set systemTime [clock seconds]
# Start timing of this analysis sequence
# --------------------------------------
set tStart [clock clicks -milliseconds]
# Start of model generation
# =========================
# Create ModelBuilder
# -------------------
model BasicBuilder -ndm 3 -ndf 6
# Define geometry
# ---------------
# Node tag xCrd yCrd zCrd ndf
node 1 -1.000000E+00 -1.000000E+00 +0.000000E+00 -ndf 6
node 2 -1.000000E+00 -1.000000E+00 +3.000000E+00 -ndf 6
node 3 -1.000000E+00 +1.000000E+00 +0.000000E+00 -ndf 6
node 4 -1.000000E+00 +1.000000E+00 +3.000000E+00 -ndf 6
node 5 +1.000000E+00 -1.000000E+00 +0.000000E+00 -ndf 6
node 6 +1.000000E+00 -1.000000E+00 +3.000000E+00 -ndf 6
node 7 +1.000000E+00 +1.000000E+00 +0.000000E+00 -ndf 6
node 8 +1.000000E+00 +1.000000E+00 +3.000000E+00 -ndf 6
# Define single point constraints
# -------------------------------
# SPC tag Dx Dy Dz Rx Ry Rz
fix 1 1 1 1 1 1 1
fix 3 1 1 1 1 1 1
fix 5 1 1 1 1 1 1
fix 7 1 1 1 1 1 1
# Material "A416Gr270": matTag E <eta> <Eneg>
uniaxialMaterial Elastic 1 +1.965006E+11 +0.000000E+00
# Material "A992Fy50": matTag E <eta> <Eneg>
uniaxialMaterial Elastic 2 +1.999480E+11 +0.000000E+00
# Material "HYSD415": matTag E <eta> <Eneg>
uniaxialMaterial Elastic 3 +2.000000E+11 +0.000000E+00
# Material "M30": matTag E v <rho>
nDMaterial ElasticIsotropic 4 +2.738613E+10 +2.000000E-01 +2.548538E+03
# Define section(s)
# -----------------
# Section "Beam": secTag E A Iz Iy G J <alphaY> <alphaZ>
section Elastic 1 +2.738613E+10 +2.090318E-01 +3.641193E-03 +3.641193E-03 +1.141089E+10 +6.153615E-03 +8.333333E-01 +8.333333E-01
# Section "ConcreteColumn": secTag E A Iz Iy G J <alphaY> <alphaZ>
section Elastic 2 +2.738613E+10 +2.090318E-01 +3.641193E-03 +3.641193E-03 +1.141089E+10 +6.153615E-03 +8.333333E-01 +8.333333E-01
# Define geometric transformation(s)
# ----------------------------------
# GeoTran type tag vec_xz
geomTransf Linear 1 +1.000000E+00 +0.000000E+00 +0.000000E+00
# GeoTran type tag vec_xz
geomTransf Linear 2 +0.000000E+00 +1.000000E+00 +0.000000E+00
# GeoTran type tag vec_xz
geomTransf Linear 3 +0.000000E+00 -1.000000E+00 +0.000000E+00
# GeoTran type tag vec_xz
geomTransf Linear 4 +0.000000E+00 -1.000000E+00 +0.000000E+00
# Define element(s)
# -----------------
# Element "ConcreteColumn": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element forceBeamColumn 1 1 2 5 2 2 -mass +5.327255E+02 -iter 10 +1.000000E-12 -integration Lobatto
# Element "ConcreteColumn": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element forceBeamColumn 2 3 4 5 2 2 -mass +5.327255E+02 -iter 10 +1.000000E-12 -integration Lobatto
# Element "ConcreteColumn": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element forceBeamColumn 3 5 6 5 2 2 -mass +5.327255E+02 -iter 10 +1.000000E-12 -integration Lobatto
# Element "ConcreteColumn": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element forceBeamColumn 4 7 8 5 2 2 -mass +5.327255E+02 -iter 10 +1.000000E-12 -integration Lobatto
# Element "ConcreteColumn": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element forceBeamColumn 5 2 6 5 2 3 -mass +5.327255E+02 -iter 10 +1.000000E-12 -integration Lobatto
# Element "ConcreteColumn": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element forceBeamColumn 6 4 8 5 2 4 -mass +5.327255E+02 -iter 10 +1.000000E-12 -integration Lobatto
# Element "ConcreteColumn": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element forceBeamColumn 7 2 4 5 2 1 -mass +5.327255E+02 -iter 10 +1.000000E-12 -integration Lobatto
# Element "ConcreteColumn": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element forceBeamColumn 8 6 8 5 2 1 -mass +5.327255E+02 -iter 10 +1.000000E-12 -integration Lobatto
# Define time series
# ------------------
# TimeSeries "Gravity": tsTag cFactor
timeSeries Linear 1 -factor +1.000000E+00
# Start of analysis generation
# ============================
# Get initial stiffness
# ---------------------
initialize
puts "o Analysis: DEAD"
# ~~~~~~~~~~~~~~~~~~~~~
# Define load pattern
# -------------------
# LoadPattern "GravityPattern": patternTag tsTag factor
pattern Plain 1 1 -fact +1.000000E+00 {
# Load nodeTag LoadValues
# SP nodeTag dofTag DispValue
# eleLoad eleTags beamUniform Wy Wz <Wx>
eleLoad -ele 5 -type -beamUniform +0.000000E+00 -5.000000E+02 +0.000000E+00
eleLoad -ele 6 -type -beamUniform +0.000000E+00 -5.000000E+02 +0.000000E+00
eleLoad -ele 7 -type -beamUniform +0.000000E+00 -5.000000E+02 +0.000000E+00
eleLoad -ele 8 -type -beamUniform +0.000000E+00 -5.000000E+02 +0.000000E+00
# eleLoad eleTags beamPoint Py Pz xL <Px>
# eleLoad eleTags selfWeight xFactor yFactor zFactor
}
# Define recorder(s)
# ------------------
# Node Recorder "SupportReactions": fileName <nodeTag> dof respType
recorder Node -file DEAD_Node_SupportReactions_RFrc.out -time -node 1 3 5 7 -dof 1 2 3 4 5 6 reaction
# Define analysis options
# -----------------------
# AnalysisOptn "StaticDefault": Type: Static
# ------------------------------------------
# Constraint Handler
constraints Plain
# DOF Numberer
numberer Plain
# System of Equations
system UmfPack -lvalueFact 40
# Convergence Test
test NormDispIncr +1.000000E-12 25 0 2
# Solution Algorithm
algorithm Newton
# Integrator
integrator LoadControl +1.000000E-01
# Analysis Type
analysis Static
# Record initial state of model
# -----------------------------
record
# Analyze model
# -------------
analyze 10
# Stop timing of this analysis sequence
# -------------------------------------
set tStop [clock clicks -milliseconds]
puts "o Time taken: [expr ($tStop-$tStart)/1000.0] sec"
# Clean up
# --------
wipe
set systemTime [clock seconds]
puts "\n==============================================================================="
puts "Finished OpenSees analysis: [clock format $systemTime -format "%d-%b-%Y %H:%M:%S"]"
puts "==============================================================================="
exit
All loads applied are same in both OpenSees and SAP2000 ....
Kindly help me finding why OpenSees is showing different result that SAP2000...
wipe
# newtest1.tcl
logFile "newtest1.log"
set systemTime [clock seconds]
# Start timing of this analysis sequence
# --------------------------------------
set tStart [clock clicks -milliseconds]
# Start of model generation
# =========================
# Create ModelBuilder
# -------------------
model BasicBuilder -ndm 3 -ndf 6
# Define geometry
# ---------------
# Node tag xCrd yCrd zCrd ndf
node 1 -1.000000E+00 -1.000000E+00 +0.000000E+00 -ndf 6
node 2 -1.000000E+00 -1.000000E+00 +3.000000E+00 -ndf 6
node 3 -1.000000E+00 +1.000000E+00 +0.000000E+00 -ndf 6
node 4 -1.000000E+00 +1.000000E+00 +3.000000E+00 -ndf 6
node 5 +1.000000E+00 -1.000000E+00 +0.000000E+00 -ndf 6
node 6 +1.000000E+00 -1.000000E+00 +3.000000E+00 -ndf 6
node 7 +1.000000E+00 +1.000000E+00 +0.000000E+00 -ndf 6
node 8 +1.000000E+00 +1.000000E+00 +3.000000E+00 -ndf 6
# Define single point constraints
# -------------------------------
# SPC tag Dx Dy Dz Rx Ry Rz
fix 1 1 1 1 1 1 1
fix 3 1 1 1 1 1 1
fix 5 1 1 1 1 1 1
fix 7 1 1 1 1 1 1
# Material "A416Gr270": matTag E <eta> <Eneg>
uniaxialMaterial Elastic 1 +1.965006E+11 +0.000000E+00
# Material "A992Fy50": matTag E <eta> <Eneg>
uniaxialMaterial Elastic 2 +1.999480E+11 +0.000000E+00
# Material "HYSD415": matTag E <eta> <Eneg>
uniaxialMaterial Elastic 3 +2.000000E+11 +0.000000E+00
# Material "M30": matTag E v <rho>
nDMaterial ElasticIsotropic 4 +2.738613E+10 +2.000000E-01 +2.548538E+03
# Define section(s)
# -----------------
# Section "Beam": secTag E A Iz Iy G J <alphaY> <alphaZ>
section Elastic 1 +2.738613E+10 +2.090318E-01 +3.641193E-03 +3.641193E-03 +1.141089E+10 +6.153615E-03 +8.333333E-01 +8.333333E-01
# Section "ConcreteColumn": secTag E A Iz Iy G J <alphaY> <alphaZ>
section Elastic 2 +2.738613E+10 +2.090318E-01 +3.641193E-03 +3.641193E-03 +1.141089E+10 +6.153615E-03 +8.333333E-01 +8.333333E-01
# Define geometric transformation(s)
# ----------------------------------
# GeoTran type tag vec_xz
geomTransf Linear 1 +1.000000E+00 +0.000000E+00 +0.000000E+00
# GeoTran type tag vec_xz
geomTransf Linear 2 +0.000000E+00 +1.000000E+00 +0.000000E+00
# GeoTran type tag vec_xz
geomTransf Linear 3 +0.000000E+00 -1.000000E+00 +0.000000E+00
# GeoTran type tag vec_xz
geomTransf Linear 4 +0.000000E+00 -1.000000E+00 +0.000000E+00
# Define element(s)
# -----------------
# Element "ConcreteColumn": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element forceBeamColumn 1 1 2 5 2 2 -mass +5.327255E+02 -iter 10 +1.000000E-12 -integration Lobatto
# Element "ConcreteColumn": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element forceBeamColumn 2 3 4 5 2 2 -mass +5.327255E+02 -iter 10 +1.000000E-12 -integration Lobatto
# Element "ConcreteColumn": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element forceBeamColumn 3 5 6 5 2 2 -mass +5.327255E+02 -iter 10 +1.000000E-12 -integration Lobatto
# Element "ConcreteColumn": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element forceBeamColumn 4 7 8 5 2 2 -mass +5.327255E+02 -iter 10 +1.000000E-12 -integration Lobatto
# Element "ConcreteColumn": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element forceBeamColumn 5 2 6 5 2 3 -mass +5.327255E+02 -iter 10 +1.000000E-12 -integration Lobatto
# Element "ConcreteColumn": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element forceBeamColumn 6 4 8 5 2 4 -mass +5.327255E+02 -iter 10 +1.000000E-12 -integration Lobatto
# Element "ConcreteColumn": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element forceBeamColumn 7 2 4 5 2 1 -mass +5.327255E+02 -iter 10 +1.000000E-12 -integration Lobatto
# Element "ConcreteColumn": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element forceBeamColumn 8 6 8 5 2 1 -mass +5.327255E+02 -iter 10 +1.000000E-12 -integration Lobatto
# Define time series
# ------------------
# TimeSeries "Gravity": tsTag cFactor
timeSeries Linear 1 -factor +1.000000E+00
# Start of analysis generation
# ============================
# Get initial stiffness
# ---------------------
initialize
puts "o Analysis: DEAD"
# ~~~~~~~~~~~~~~~~~~~~~
# Define load pattern
# -------------------
# LoadPattern "GravityPattern": patternTag tsTag factor
pattern Plain 1 1 -fact +1.000000E+00 {
# Load nodeTag LoadValues
# SP nodeTag dofTag DispValue
# eleLoad eleTags beamUniform Wy Wz <Wx>
eleLoad -ele 5 -type -beamUniform +0.000000E+00 -5.000000E+02 +0.000000E+00
eleLoad -ele 6 -type -beamUniform +0.000000E+00 -5.000000E+02 +0.000000E+00
eleLoad -ele 7 -type -beamUniform +0.000000E+00 -5.000000E+02 +0.000000E+00
eleLoad -ele 8 -type -beamUniform +0.000000E+00 -5.000000E+02 +0.000000E+00
# eleLoad eleTags beamPoint Py Pz xL <Px>
# eleLoad eleTags selfWeight xFactor yFactor zFactor
}
# Define recorder(s)
# ------------------
# Node Recorder "SupportReactions": fileName <nodeTag> dof respType
recorder Node -file DEAD_Node_SupportReactions_RFrc.out -time -node 1 3 5 7 -dof 1 2 3 4 5 6 reaction
# Define analysis options
# -----------------------
# AnalysisOptn "StaticDefault": Type: Static
# ------------------------------------------
# Constraint Handler
constraints Plain
# DOF Numberer
numberer Plain
# System of Equations
system UmfPack -lvalueFact 40
# Convergence Test
test NormDispIncr +1.000000E-12 25 0 2
# Solution Algorithm
algorithm Newton
# Integrator
integrator LoadControl +1.000000E-01
# Analysis Type
analysis Static
# Record initial state of model
# -----------------------------
record
# Analyze model
# -------------
analyze 10
# Stop timing of this analysis sequence
# -------------------------------------
set tStop [clock clicks -milliseconds]
puts "o Time taken: [expr ($tStop-$tStart)/1000.0] sec"
# Clean up
# --------
wipe
set systemTime [clock seconds]
puts "\n==============================================================================="
puts "Finished OpenSees analysis: [clock format $systemTime -format "%d-%b-%Y %H:%M:%S"]"
puts "==============================================================================="
exit
-
- Posts: 913
- Joined: Mon Sep 09, 2013 8:50 pm
- Location: University of California, Berkeley
Re: Gravity Analysis results not matching with that of SAP2000
As far as I know, there is not an element corresponding to a forceBeamColumn in SAP2000. It is better to compare the results by using elastic beamcolumn elements in both OpenSees and SAP2000.
Re: Gravity Analysis results not matching with that of SAP2000
I have not created any forceBeamColumn element in OpenSees....I have exported the file directly from SAP2000 and imported in OpenSees.....selimgunay wrote: ↑Sun Aug 23, 2020 7:25 amAs far as I know, there is not an element corresponding to a forceBeamColumn in SAP2000. It is better to compare the results by using elastic beamcolumn elements in both OpenSees and SAP2000.
Moreover I am getting current support reactions when I am using a single column....Bus as soon as I make a frame model...the result got differ.
Re: Gravity Analysis results not matching with that of SAP2000
You have 'forceBeamColumn' elements in what you posted, so Selim makes a valid point. However, you assign elastic sections, so the response should be the same as an elasticBeamColumn element. How different are the reactions? Are they off by like 2-3% or are they off by a factor of 10? You use 10 load steps, so are the reference values in the load pattern 1/10 of your target value? I guess what I'm saying is, be more specific with what's "different".
Re: Gravity Analysis results not matching with that of SAP2000
mhscott wrote: ↑Sun Aug 23, 2020 9:05 amYou have 'forceBeamColumn' elements in what you posted, so Selim makes a valid point. However, you assign elastic sections, so the response should be the same as an elasticBeamColumn element. How different are the reactions? Are they off by like 2-3% or are they off by a factor of 10? You use 10 load steps, so are the reference values in the load pattern 1/10 of your target value? I guess what I'm saying is, be more specific with what's "different".
Support reactions obtained for node 3 in OpenSees are..
F1= 249.491
F2= -500.551
F3= 982.316
M1=846.085
M2= 421.535
M3= -1.56934e-15
Support reactions obtained for node 3 in SAP2000 are..
F1= 45.67
F2= -45.67
F3= 1000
M1=43.97
M2= 43.97
M3= 0
I have done alternate calculation using matrix method and the answer of SAP2000 is matching with the manual calculation...What shall I change in Opensees to get this same result.?
Re: Gravity Analysis results not matching with that of SAP2000
Try taking the member loads off and apply only a nodal load at one point. See if OpenSees and SAP give the same results then.
-
- Posts: 913
- Joined: Mon Sep 09, 2013 8:50 pm
- Location: University of California, Berkeley
Re: Gravity Analysis results not matching with that of SAP2000
You can apply the same external element loads in OpenSees and SAP2000. You should remove the dead loads in SAP2000 that is due to the weight of a member itself.
Re: Gravity Analysis results not matching with that of SAP2000
You probably have the member loads applied in the wrong direction on one or more elements. So, take the nodal loads off then start putting member loads on one element at a time until you get different results!
Re: Gravity Analysis results not matching with that of SAP2000
I have applied a UDL load of -500 in z-direction.... I have done what you said also but I am not able to reach any closer to the SAP2000 result.
Re: Gravity Analysis results not matching with that of SAP2000
Those element loads are defined with respect to local element axes, not global axes. I think your OpenSees model has the member loads applied laterally instead of vertically.
Check this out for more information: https://wp.me/pbejzW-R5
Check this out for more information: https://wp.me/pbejzW-R5
Re: Gravity Analysis results not matching with that of SAP2000
I will try to understand this orientation thing and will reply with the result.mhscott wrote: ↑Sun Aug 23, 2020 10:27 amThose element loads are defined with respect to local element axes, not global axes. I think your OpenSees model has the member loads applied laterally instead of vertically.
Check this out for more information: https://wp.me/pbejzW-R5
Re: Gravity Analysis results not matching with that of SAP2000
The local xz vector for your beams appears to be in global Y, making the local z vector (wz for the eleLoad) in the horizontal plane. I think you'll want to define the member loads in the local y direction (wy in eleLoad).
Re: Gravity Analysis results not matching with that of SAP2000
Got the answer...
Thank You so much sir for this help.