Node fix problem for Modal Analysis

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

Moderators: silvia, selimgunay, Moderators

Post Reply
Ulbong
Posts: 17
Joined: Thu Apr 30, 2020 1:41 am

Node fix problem for Modal Analysis

Post by Ulbong » Tue Jun 09, 2020 8:41 pm

Hi guy~
I'm trying to do modal analysis for 2nd floor lumped massed stick model on ndf-3 .
And I want to compare each results between SAP2000 and Opensees.
Here's my model below.

O Node 3
I
I
I
O Node 2
I
I
I
I
ㅡㅡㅡ Node 1

I fixed all of Node 1
and I fixed node 2 and 3 only Rz because the model doesn't allow rotational deformation.
and tried again with free node 2 and 3.
But results were different.
SAP2000 doesn't have difference between does restraints
But Opensees model has difference between them.

So do you guys know about fix command $node $Dx $Dy $Rz means?

fmk
Site Admin
Posts: 5883
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Node fix problem for Modal Analysis

Post by fmk » Wed Jun 10, 2020 2:26 pm

post the script so i can see how you are modeling the elements

Ulbong
Posts: 17
Joined: Thu Apr 30, 2020 1:41 am

Re: Node fix problem for Modal Analysis

Post by Ulbong » Thu Jun 11, 2020 2:52 am

# Unit (N,mm),2nd flr building

set m 0.67

set A 40000
set I 13333.33e+4
set E 25000

set L 3500

model BasicBuilder -ndm 2 -ndf 3

node 1 0.0 0.0;
node 2 0.0 $L;
node 3 0.0 [expr 2*$L];

fix 1 1 1 1;
fix 2 0 0 0;
fix 3 0 0 0;

mass 2 $m $m 0
mass 3 $m $m 0

set TransfTag 1
geomTransf Linear $TransfTag

element elasticBeamColumn 1 1 2 $A $E $I $TransfTag
element elasticBeamColumn 2 2 3 $A $E $I $TransfTag

#LOAD MODEL
source 0604.tcl

#input
set numModes 2
file mkdir MODE;

#record eigenvectors
for { set k 1 } { $k <= $numModes } { incr k } {
recorder Node -file [format "modes/mode%i.out" $k] -nodeRange 1 3 -dof 1 2 3 "eigen $k"

}

#perform eigen analysis
set lambda [eigen $numModes];

# calculate frequencies and periods of the structure
set omega {}
set f {}
set T {}
set pi 3.141593

foreach lam $lambda {
lappend omega [expr sqrt($lam)]
lappend f [expr sqrt($lam)/(2*$pi)]
lappend T [expr (2*$pi)/sqrt($lam)]
}

puts "You Made it!"
puts "periods are $T"
puts "frequencies are $f"

#write the output file cosisting of periods
set period "MODE/Periods.txt"
set Periods [open $period "w"]
foreach t $T {
puts $Periods " $t"
}
close $Periods


# Run a one step gravity load with no loading (to record eigenvectors)
#-----------------------------------------------------------------------
integrator LoadControl 0 1 0 0


# Convergence test
# tolerance maxIter displayCode
test EnergyIncr 1.0e-10 100 0

# Solution algorithm
algorithm Newton

# DOF numberer
numberer RCM

# Constraint handler
constraints Transformation


# System of equations solver
system ProfileSPD

analysis Static
set res [analyze 1]
if {$res < 0} {
puts "Modal analysis failed"
}

# DYNAMIC ground-motion analysis -------------------------------------------------------------
# create load pattern
set G 9800
timeSeries Path 1 -dt 0.005 -filePath RSN175.tcl -factor 1; # define acceleration vector from file (dt=0.005 is associated with the input file gm)
timeSeries Path 1001 -dt 0.005 -filePath RSN175.tcl -factor 1;
pattern UniformExcitation 1 1 -accel 1; # define where and how (pattern tag, dof) acceleration is applied

# set damping based on first eigen mode
set freq [expr [eigen -fullGenLapack 1]**0.5]
set dampRatio 0.05
rayleigh 0. 0. 0. [expr 2*$dampRatio/$freq]

# Define RECORDERS -------------------------------------------------------------
recorder Node -file MODE/DFree.out -time -node 3 -dof 1 2 3 disp; # displacements of free nodes
recorder Node -file MODE/AFree.out -time -node 3 -dof 1 2 3 accel; # acceleration of free nodes
recorder Node -file MODE/AFreeAb.out -timeSeries 1001 -time -node 3 -dof 1 accel; # acceleration of free nodes (Absol.)
recorder Node -file MODE/DFreeAb.out -timeSeries 1001 -time -node 3 -dof 1 disp; # displacement of free nodes (Absol.)




wipeAnalysis; # clear previously-define analysis parameters
constraints Plain; # how it handles boundary conditions
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
system BandGeneral; # how to store and solve the system of equations in the analysis
algorithm Linear # use Linear algorithm for linear analysis
integrator Newmark 0.5 0.25 ; # determine the next time step for an analysis
analysis Transient; # define type of analysis: time-dependent
analyze 7814 0.005; # apply 7814 0.005-sec time steps in analysis

puts "YES!"

-----------------------------------------------------------------------------
And I want to know differences between "-time" and "-timeSeries" in "recorder Node".
Is it just the difference between relative and absolute ?

Thank you fmk !! It is a Big honour!!

Post Reply