Gravity Analysis results not matching with that of SAP2000

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
ankurjain
Posts: 55
Joined: Sun Aug 16, 2020 10:08 pm

Gravity Analysis results not matching with that of SAP2000

Post by ankurjain » Sun Aug 23, 2020 6:26 am

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

selimgunay
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

Post by selimgunay » Sun Aug 23, 2020 7:25 am

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.

ankurjain
Posts: 55
Joined: Sun Aug 16, 2020 10:08 pm

Re: Gravity Analysis results not matching with that of SAP2000

Post by ankurjain » Sun Aug 23, 2020 8:15 am

selimgunay wrote:
Sun Aug 23, 2020 7:25 am
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.
I have not created any forceBeamColumn element in OpenSees....I have exported the file directly from SAP2000 and imported in OpenSees.....

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.

mhscott
Posts: 874
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Gravity Analysis results not matching with that of SAP2000

Post by mhscott » Sun Aug 23, 2020 9:05 am

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".

ankurjain
Posts: 55
Joined: Sun Aug 16, 2020 10:08 pm

Re: Gravity Analysis results not matching with that of SAP2000

Post by ankurjain » Sun Aug 23, 2020 9:19 am

mhscott wrote:
Sun Aug 23, 2020 9:05 am
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".

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.?

mhscott
Posts: 874
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Gravity Analysis results not matching with that of SAP2000

Post by mhscott » Sun Aug 23, 2020 9:39 am

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.

ankurjain
Posts: 55
Joined: Sun Aug 16, 2020 10:08 pm

Re: Gravity Analysis results not matching with that of SAP2000

Post by ankurjain » Sun Aug 23, 2020 9:55 am

mhscott wrote:
Sun Aug 23, 2020 9:39 am
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.
yes for nodal loads I am getting the correct results....

What changes i have to do if i have to apply element load ?

selimgunay
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

Post by selimgunay » Sun Aug 23, 2020 10:06 am

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.

mhscott
Posts: 874
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Gravity Analysis results not matching with that of SAP2000

Post by mhscott » Sun Aug 23, 2020 10:07 am

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!

ankurjain
Posts: 55
Joined: Sun Aug 16, 2020 10:08 pm

Re: Gravity Analysis results not matching with that of SAP2000

Post by ankurjain » Sun Aug 23, 2020 10:10 am

mhscott wrote:
Sun Aug 23, 2020 10:07 am
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!
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.

mhscott
Posts: 874
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Gravity Analysis results not matching with that of SAP2000

Post by mhscott » Sun Aug 23, 2020 10:27 am

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

ankurjain
Posts: 55
Joined: Sun Aug 16, 2020 10:08 pm

Re: Gravity Analysis results not matching with that of SAP2000

Post by ankurjain » Sun Aug 23, 2020 10:43 am

mhscott wrote:
Sun Aug 23, 2020 10:27 am
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
I will try to understand this orientation thing and will reply with the result.

mhscott
Posts: 874
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Gravity Analysis results not matching with that of SAP2000

Post by mhscott » Sun Aug 23, 2020 10:46 am

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).

ankurjain
Posts: 55
Joined: Sun Aug 16, 2020 10:08 pm

Re: Gravity Analysis results not matching with that of SAP2000

Post by ankurjain » Tue Aug 25, 2020 2:02 am

mhscott wrote:
Sun Aug 23, 2020 10:46 am
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).
Got the answer...
Thank You so much sir for this help.

Post Reply