Eigenvalue analysis problems
Moderators: silvia, selimgunay, Moderators
Eigenvalue analysis problems
Hello everyone!
I have problems with the calculation of the eigen periods of a simple structure. The structure is a single story single bay frame structure with lumped masses.
For Comparison I did 2 different modelings of the frame structure:
a) using elastic elements
b) using rigid elements and assign the appropriate stiffness to rotational springs at the ends of the elements
Since only elastic properties (stiffnes matrix and mass matrix) play a role for calculating the fundamental period, I supposed to get the same fundamental period for both models.
But whatever I tried (PDelta ON/OFF, changing numerical values for "rigidity",...), I got two different values for the fundamental periods of the two different models.
Can someone give me a hint, why I have this problems? Is it caused by the element formulation?
Find attached the code of the models!
Thanks a lot,
Clemens
############################################################################################
############################################################################################
############################################################################################
# Eigenvalue-Analysis of a single bay, single story frame structure
# using two different model formulations:
# a) elastic elements
# b) rigid elements, but springs with appropriate stiffness at the ends
wipe all
################################################################################
################################################################################
# Variable definitions
################################################################################
################################################################################
set h 3.00; # height
set l 4.00; # length
set m 11416.922; # mass
set E 2e11; # youngs modolus
set Icol 0.0001126000; # moment of inertia
set Ibeam 0.0001177000;
set Mycol 318512.5378; # strength
set Mybeam 24326.96978;
set alpha_s0 0.03; # spring hardening ratio
set Arigid 1.0e05; # area, rigid
set Irigid 1.0e05; # moment of inertia, rigid
set Negligible 1.0e-09;
set PDelta "OFF"; # whether to consider PDelta effects
set pi 3.1415927;
# function to create a 2-dimensional rotational spring
source _rotSpring2D.tcl
################################################################################
################################################################################
# Model
################################################################################
################################################################################
puts "Calculation with PDelta $PDelta"
for {set ID 1} {$ID <= 2} {incr ID} {
wipe all
if {$ID==1} {
set rigidElements "NO"; # "NO" model a)
} elseif {$ID==2} {
set rigidElements "YES"; # "YES" model b)
}
# Twodimenional model with 3 degrees of freedom
model basic -ndm 2 - ndf 3
#
# Transformation
if {$PDelta == "OFF"} {
geomTransf Linear 1
geomTransf Linear 2
} elseif {$PDelta == "ON"} {
geomTransf PDelta 1; # 1...Columns
geomTransf Linear 2; # 2...Girder
}
# ------------------------------------------
# Build up Model
# ------------------------------------------
# ----------------
# nodes
# ----------------
# tag x y
node 1 0 0; # Zentrale Knoten des Rahmens
node 2 0 0; # Zentrale Knoten des Rahmens
node 3 0 $h; # Zentrale Knoten des Rahmens
node 4 0 $h; # Zentrale Knoten des Rahmens
node 5 0 $h; # Zentrale Knoten des Rahmens
node 6 $l $h; # Zentrale Knoten des Rahmens
node 7 $l $h; # Zentrale Knoten des Rahmens
node 8 $l $h; # Zentrale Knoten des Rahmens
node 9 $l 0; # Zentrale Knoten des Rahmens
node 10 $l 0; # Zentrale Knoten des Rahmens
# ----------------
# Boundary conditions
# ----------------
# tag dx dy rotz
fix 1 1 1 1
fix 10 1 1 1
# ----------------
# Masses
# ----------------
# tag x y ry
mass 4 [expr $m/2] $Negligible $Negligible
mass 7 [expr $m/2] $Negligible $Negligible
# ----------------
# Columns & Girders
# ----------------
# Columns
if {$rigidElements == "YES"} {
# tag von bis A E I transfTag
element elasticBeamColumn 1 2 3 $Arigid $E $Irigid 1
element elasticBeamColumn 2 9 8 $Arigid $E $Irigid 1
} elseif {$rigidElements == "NO"} {
# tag von bis A E I transfTag
element elasticBeamColumn 1 2 3 $Arigid $E $Icol 1
element elasticBeamColumn 2 9 8 $Arigid $E $Icol 1
}
# Girder
if {$rigidElements == "YES"} {
# tag von bis A E I transfTag
element elasticBeamColumn 3 5 6 $Arigid $E $Irigid 2
} elseif {$rigidElements == "NO"} {
# tag von bis A E I transfTag
element elasticBeamColumn 3 5 6 $Arigid $E $Ibeam 2
}
# -----------------------------------
# SPRINGS
# -----------------------------------
#
if {$rigidElements == "NO"} {
# No springs, constrain all degrees of freedom
# n1 n2 dof
equalDOF 1 2 1 2 3;
equalDOF 4 3 1 2 3;
equalDOF 4 5 1 2 3;
equalDOF 7 6 1 2 3;
equalDOF 7 8 1 2 3;
equalDOF 10 9 1 2 3;
} elseif {$rigidElements == "YES"} {
# Just constrain the translational dofs
# and put springs as rotational elements
# n1 n2 dof
equalDOF 1 2 1 2;
equalDOF 4 3 1 2;
equalDOF 4 5 1 2;
equalDOF 7 6 1 2;
equalDOF 7 8 1 2;
equalDOF 10 9 1 2;
# appropriate elastic spring stiffnesses:
set k_spring_col [expr 6*$E*$Icol/$h];
set k_spring_beam [expr 6*$E*$Ibeam/$l];
# spring material
# tag My k Hardening
uniaxialMaterial Steel01 1 $Mycol $k_spring_col $alpha_s0
uniaxialMaterial Steel01 2 $Mybeam $k_spring_beam $alpha_s0
# eleID kn1 kn2 matID
rotSpring2D 11 1 2 1
rotSpring2D 12 4 3 1
rotSpring2D 13 4 5 2
rotSpring2D 14 7 6 2
rotSpring2D 15 7 8 1
rotSpring2D 16 10 9 1
}
puts " --> Model ID$ID done"
set Folder "Output"
file mkdir $Folder
set NodeNumbersList_1 "2 4 7 9"
################################################################################
################################################################################
# Eigenvalueanalysis
################################################################################
################################################################################
set lambdaN "[eigen 1]"; # Anzahl der Eigenwerte aus OpenSees erhalten
set omegaN {}; # list of eigen frequencys
set eigenperiodenN {}; # list of eigen periods
foreach vari $lambdaN {
set omegaNi [expr pow($vari,0.5)];
set eigenperiodenNi [expr 2.0*$pi/$omegaNi]
lappend omegaN $omegaNi
lappend eigenperiodenN $eigenperiodenNi
}
# Store mode shapes
for {set var 1} {$var <= 1} {incr var} {
file delete $Folder/eigenvector($var).txt; # delete if already exists
set recorderCommand1 "recorder Node -file {$Folder/eigenvector($var).txt} -node $NodeNumbersList_1 -dof 1 {eigen $var}"
eval $recorderCommand1;
}
# "empty analysis" to execute eigen-command
constraints Transformation;
numberer Plain
test NormDispIncr 1.0e-05 10 0
algorithm Newton
system BandGeneral
integrator Newmark 0.5 0.25
analysis Transient;
analyze 1 0.001;
wipeAnalysis
puts " --> Eigenvalue analysis ID$ID done"
#puts " ------------------------------------------------------------------"
#puts " Eigenperiods: \t$eigenperiodenN"
#puts " ------------------------------------------------------------------"
remove recorders
#DisplayModel2D "NodeNumbers"
# Store eigenperiods
file delete $Folder/eigenperiods.txt; # delete if already exists
set outFilePeriods [open $Folder/eigenperiods.txt "RDWR APPEND CREAT"]
puts $outFilePeriods "$eigenperiodenN"
close $outFilePeriods
set T1($ID) $eigenperiodenN
puts " --> Calculation ID$ID done"
}
puts "§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§"
puts " Model 1: elastic............\tT1=$T1(1)"
puts " Model 2: stiff&springs......\tT1=$T1(2)"
puts "§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§"
I have problems with the calculation of the eigen periods of a simple structure. The structure is a single story single bay frame structure with lumped masses.
For Comparison I did 2 different modelings of the frame structure:
a) using elastic elements
b) using rigid elements and assign the appropriate stiffness to rotational springs at the ends of the elements
Since only elastic properties (stiffnes matrix and mass matrix) play a role for calculating the fundamental period, I supposed to get the same fundamental period for both models.
But whatever I tried (PDelta ON/OFF, changing numerical values for "rigidity",...), I got two different values for the fundamental periods of the two different models.
Can someone give me a hint, why I have this problems? Is it caused by the element formulation?
Find attached the code of the models!
Thanks a lot,
Clemens
############################################################################################
############################################################################################
############################################################################################
# Eigenvalue-Analysis of a single bay, single story frame structure
# using two different model formulations:
# a) elastic elements
# b) rigid elements, but springs with appropriate stiffness at the ends
wipe all
################################################################################
################################################################################
# Variable definitions
################################################################################
################################################################################
set h 3.00; # height
set l 4.00; # length
set m 11416.922; # mass
set E 2e11; # youngs modolus
set Icol 0.0001126000; # moment of inertia
set Ibeam 0.0001177000;
set Mycol 318512.5378; # strength
set Mybeam 24326.96978;
set alpha_s0 0.03; # spring hardening ratio
set Arigid 1.0e05; # area, rigid
set Irigid 1.0e05; # moment of inertia, rigid
set Negligible 1.0e-09;
set PDelta "OFF"; # whether to consider PDelta effects
set pi 3.1415927;
# function to create a 2-dimensional rotational spring
source _rotSpring2D.tcl
################################################################################
################################################################################
# Model
################################################################################
################################################################################
puts "Calculation with PDelta $PDelta"
for {set ID 1} {$ID <= 2} {incr ID} {
wipe all
if {$ID==1} {
set rigidElements "NO"; # "NO" model a)
} elseif {$ID==2} {
set rigidElements "YES"; # "YES" model b)
}
# Twodimenional model with 3 degrees of freedom
model basic -ndm 2 - ndf 3
#
# Transformation
if {$PDelta == "OFF"} {
geomTransf Linear 1
geomTransf Linear 2
} elseif {$PDelta == "ON"} {
geomTransf PDelta 1; # 1...Columns
geomTransf Linear 2; # 2...Girder
}
# ------------------------------------------
# Build up Model
# ------------------------------------------
# ----------------
# nodes
# ----------------
# tag x y
node 1 0 0; # Zentrale Knoten des Rahmens
node 2 0 0; # Zentrale Knoten des Rahmens
node 3 0 $h; # Zentrale Knoten des Rahmens
node 4 0 $h; # Zentrale Knoten des Rahmens
node 5 0 $h; # Zentrale Knoten des Rahmens
node 6 $l $h; # Zentrale Knoten des Rahmens
node 7 $l $h; # Zentrale Knoten des Rahmens
node 8 $l $h; # Zentrale Knoten des Rahmens
node 9 $l 0; # Zentrale Knoten des Rahmens
node 10 $l 0; # Zentrale Knoten des Rahmens
# ----------------
# Boundary conditions
# ----------------
# tag dx dy rotz
fix 1 1 1 1
fix 10 1 1 1
# ----------------
# Masses
# ----------------
# tag x y ry
mass 4 [expr $m/2] $Negligible $Negligible
mass 7 [expr $m/2] $Negligible $Negligible
# ----------------
# Columns & Girders
# ----------------
# Columns
if {$rigidElements == "YES"} {
# tag von bis A E I transfTag
element elasticBeamColumn 1 2 3 $Arigid $E $Irigid 1
element elasticBeamColumn 2 9 8 $Arigid $E $Irigid 1
} elseif {$rigidElements == "NO"} {
# tag von bis A E I transfTag
element elasticBeamColumn 1 2 3 $Arigid $E $Icol 1
element elasticBeamColumn 2 9 8 $Arigid $E $Icol 1
}
# Girder
if {$rigidElements == "YES"} {
# tag von bis A E I transfTag
element elasticBeamColumn 3 5 6 $Arigid $E $Irigid 2
} elseif {$rigidElements == "NO"} {
# tag von bis A E I transfTag
element elasticBeamColumn 3 5 6 $Arigid $E $Ibeam 2
}
# -----------------------------------
# SPRINGS
# -----------------------------------
#
if {$rigidElements == "NO"} {
# No springs, constrain all degrees of freedom
# n1 n2 dof
equalDOF 1 2 1 2 3;
equalDOF 4 3 1 2 3;
equalDOF 4 5 1 2 3;
equalDOF 7 6 1 2 3;
equalDOF 7 8 1 2 3;
equalDOF 10 9 1 2 3;
} elseif {$rigidElements == "YES"} {
# Just constrain the translational dofs
# and put springs as rotational elements
# n1 n2 dof
equalDOF 1 2 1 2;
equalDOF 4 3 1 2;
equalDOF 4 5 1 2;
equalDOF 7 6 1 2;
equalDOF 7 8 1 2;
equalDOF 10 9 1 2;
# appropriate elastic spring stiffnesses:
set k_spring_col [expr 6*$E*$Icol/$h];
set k_spring_beam [expr 6*$E*$Ibeam/$l];
# spring material
# tag My k Hardening
uniaxialMaterial Steel01 1 $Mycol $k_spring_col $alpha_s0
uniaxialMaterial Steel01 2 $Mybeam $k_spring_beam $alpha_s0
# eleID kn1 kn2 matID
rotSpring2D 11 1 2 1
rotSpring2D 12 4 3 1
rotSpring2D 13 4 5 2
rotSpring2D 14 7 6 2
rotSpring2D 15 7 8 1
rotSpring2D 16 10 9 1
}
puts " --> Model ID$ID done"
set Folder "Output"
file mkdir $Folder
set NodeNumbersList_1 "2 4 7 9"
################################################################################
################################################################################
# Eigenvalueanalysis
################################################################################
################################################################################
set lambdaN "[eigen 1]"; # Anzahl der Eigenwerte aus OpenSees erhalten
set omegaN {}; # list of eigen frequencys
set eigenperiodenN {}; # list of eigen periods
foreach vari $lambdaN {
set omegaNi [expr pow($vari,0.5)];
set eigenperiodenNi [expr 2.0*$pi/$omegaNi]
lappend omegaN $omegaNi
lappend eigenperiodenN $eigenperiodenNi
}
# Store mode shapes
for {set var 1} {$var <= 1} {incr var} {
file delete $Folder/eigenvector($var).txt; # delete if already exists
set recorderCommand1 "recorder Node -file {$Folder/eigenvector($var).txt} -node $NodeNumbersList_1 -dof 1 {eigen $var}"
eval $recorderCommand1;
}
# "empty analysis" to execute eigen-command
constraints Transformation;
numberer Plain
test NormDispIncr 1.0e-05 10 0
algorithm Newton
system BandGeneral
integrator Newmark 0.5 0.25
analysis Transient;
analyze 1 0.001;
wipeAnalysis
puts " --> Eigenvalue analysis ID$ID done"
#puts " ------------------------------------------------------------------"
#puts " Eigenperiods: \t$eigenperiodenN"
#puts " ------------------------------------------------------------------"
remove recorders
#DisplayModel2D "NodeNumbers"
# Store eigenperiods
file delete $Folder/eigenperiods.txt; # delete if already exists
set outFilePeriods [open $Folder/eigenperiods.txt "RDWR APPEND CREAT"]
puts $outFilePeriods "$eigenperiodenN"
close $outFilePeriods
set T1($ID) $eigenperiodenN
puts " --> Calculation ID$ID done"
}
puts "§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§"
puts " Model 1: elastic............\tT1=$T1(1)"
puts " Model 2: stiff&springs......\tT1=$T1(2)"
puts "§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§"
Re: Eigenvalue analysis problems
Stiffness matrices of the two models are not the same, so the eigenvalues can not be the same.
-
- Posts: 26
- Joined: Sat Aug 15, 2009 6:42 am
- Location: Bangkok
- Contact:
Re: Eigenvalue analysis problems
Hi vesna and everybody else...
I have a done a eigenvalue analysis,after getting the values of shape factors, results shows that for 3rd mode,shape factor is higher in the mid height of my structure than the shap factor value at top node,It seems unusual to me,Is it right or wrong?can any body help me
I have a done a eigenvalue analysis,after getting the values of shape factors, results shows that for 3rd mode,shape factor is higher in the mid height of my structure than the shap factor value at top node,It seems unusual to me,Is it right or wrong?can any body help me
Re: Eigenvalue analysis problems
it depends on your model, but it is possible.
-
- Posts: 26
- Joined: Sat Aug 15, 2009 6:42 am
- Location: Bangkok
- Contact:
Re: Eigenvalue analysis problems
Thank you Vesna..I got it..I have another question,
I am having problem using 4 nonded Quad elements. Its a 2D model of a shear wall. Since it is a 2D model it gives my forces in x and y directions only. Is there any way I can get moments? I have done a time history analysis using Quad elements,so point of inflection can fluctuate therefore it is not possible to get the Moment by simply shear force into full height of wall. I dont know how to get moments from this model,if I calculate using maximum shear force at each storey and total height as shear span the results seems wrong . Can you please explain,is there any way I can get the moment directly from opensees?
I am having problem using 4 nonded Quad elements. Its a 2D model of a shear wall. Since it is a 2D model it gives my forces in x and y directions only. Is there any way I can get moments? I have done a time history analysis using Quad elements,so point of inflection can fluctuate therefore it is not possible to get the Moment by simply shear force into full height of wall. I dont know how to get moments from this model,if I calculate using maximum shear force at each storey and total height as shear span the results seems wrong . Can you please explain,is there any way I can get the moment directly from opensees?
Re: Eigenvalue analysis problems
With OpenSees you can only record forces Fx and Fy and stresses. The moment at the base you can calculate from the reactions at the base.
-
- Posts: 26
- Joined: Sat Aug 15, 2009 6:42 am
- Location: Bangkok
- Contact:
Re: Eigenvalue analysis problems
Hi vesna..Thank you for ur reply..I need to calculate moment at each story,in static analysis its simple to get the moment by multilying the total height with Fx,but in time history analysis it wont be like that I think,because center of resultant force can shift downward.Thats why when I calculate the moment by Fx in height results seems wrong. I dont know how to calculate the moments, Im not sure wether I explain in right way or not.Anyways thanx for ur reply