Hello,
I hope that somebody can help me to obtain the eigenvectors from OpenSees.
First I succesfully obtained the periods of the structure for the first 5 modes. Now I want to get the eigenvectors; then I'm using recorders to obtain files with the modes, but the output files are empty.
I'm attaching a part of the code to see if you can help me with this.
Thanks,
Hugo Bobadilla
-------------
# Create a recorder to monitor eigen modes
recorder Node -file eigen1.out -node 201013 202013 203013 204013 205013 -dof 1 eigen 1
recorder Node -file eigen2.out -node 201013 202013 203013 204013 205013 -dof 1 eigen 2
recorder Node -file eigen3.out -node 201013 202013 203013 204013 205013 -dof 1 eigen 3
recorder Node -file eigen4.out -node 201013 202013 203013 204013 205013 -dof 1 eigen 4
recorder Node -file eigen5.out -node 201013 202013 203013 204013 205013 -dof 1 eigen 5
# Do the eigenvalues
set eigenValues [eigen 5]
puts "eigenValues $eigenValues"
set Neigen 5
set fmt1 "Mode=%.1i: Tperiod=%.3f %s"
set PI [expr 2*asin(1.0)]; # define constants
set TunitTXT sec ; # load global unit variable
set iTperiod ""
set lambdaN [eigen $Neigen]
for {set i 1} {$i <= $Neigen} {incr i 1} {; # zero to one
set lambda [lindex $lambdaN [expr $i-1]];
set omega [expr pow($lambda,0.5)]
set Tperiod [expr 2*$PI/$omega]; # period (sec.)
lappend iTperiod $Tperiod
puts [format $fmt1 $i $Tperiod $TunitTXT]
}
Eigenvectors - Empty Recorder
Moderators: silvia, selimgunay, Moderators
i just found this in the manual:
try that and let me know.
Code: Select all
Do not forget the double quote in the eigen response type.
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
Hello Silvia,
I was able to obtain the modes from the recorders in OpenSees. In order to make it work it was necessary to include transient analysis on the file (only one step), otherwise it doesn't save the information. I'm copying part of the file that finally works.
Thanks,
HB
----------------------------------------------
# Create a recorder to monitor eigen modes
recorder Node -file eigen1.out -node 201013 202012 203012 204012 205012 -dof 1 "eigen 1"
recorder Node -file eigen2.out -node 201013 202012 203012 204012 205012 -dof 1 "eigen 2"
recorder Node -file eigen3.out -node 201013 202012 203012 204012 205012 -dof 1 "eigen 3"
recorder Node -file eigen4.out -node 201013 202012 203012 204012 205012 -dof 1 "eigen 4"
recorder Node -file eigen5.out -node 201013 202012 203012 204012 205012 -dof 1 "eigen 5"
# Do the eigenvalues
set eigenValues [eigen 5]
puts "eigenValues $eigenValues"
# Do 1 step of transient analysis for recorders to work
set tol 1e-7
set maxNumIter 10
set testtype NormDispIncr
test $testtype $tol $maxNumIter 1;
system BandGeneral
constraints Transformation
numberer Plain
algorithm Newton
integrator Newmark 0.5 0.25
analysis Transient
analyze 1 0.1
# Get the period of the structure
set Neigen 5
set fmt1 "Mode=%.1i: Tperiod=%.3f %s"
set PI [expr 2*asin(1.0)]; # define constants
set TunitTXT sec ; # load global unit variable
set iTperiod ""
set lambdaN [eigen $Neigen]
for {set i 1} {$i <= $Neigen} {incr i 1} {; # zero to one
set lambda [lindex $lambdaN [expr $i-1]];
set omega [expr pow($lambda,0.5)]
set Tperiod [expr 2*$PI/$omega]; # period (sec.)
lappend iTperiod $Tperiod
puts [format $fmt1 $i $Tperiod $TunitTXT]
}
I was able to obtain the modes from the recorders in OpenSees. In order to make it work it was necessary to include transient analysis on the file (only one step), otherwise it doesn't save the information. I'm copying part of the file that finally works.
Thanks,
HB
----------------------------------------------
# Create a recorder to monitor eigen modes
recorder Node -file eigen1.out -node 201013 202012 203012 204012 205012 -dof 1 "eigen 1"
recorder Node -file eigen2.out -node 201013 202012 203012 204012 205012 -dof 1 "eigen 2"
recorder Node -file eigen3.out -node 201013 202012 203012 204012 205012 -dof 1 "eigen 3"
recorder Node -file eigen4.out -node 201013 202012 203012 204012 205012 -dof 1 "eigen 4"
recorder Node -file eigen5.out -node 201013 202012 203012 204012 205012 -dof 1 "eigen 5"
# Do the eigenvalues
set eigenValues [eigen 5]
puts "eigenValues $eigenValues"
# Do 1 step of transient analysis for recorders to work
set tol 1e-7
set maxNumIter 10
set testtype NormDispIncr
test $testtype $tol $maxNumIter 1;
system BandGeneral
constraints Transformation
numberer Plain
algorithm Newton
integrator Newmark 0.5 0.25
analysis Transient
analyze 1 0.1
# Get the period of the structure
set Neigen 5
set fmt1 "Mode=%.1i: Tperiod=%.3f %s"
set PI [expr 2*asin(1.0)]; # define constants
set TunitTXT sec ; # load global unit variable
set iTperiod ""
set lambdaN [eigen $Neigen]
for {set i 1} {$i <= $Neigen} {incr i 1} {; # zero to one
set lambda [lindex $lambdaN [expr $i-1]];
set omega [expr pow($lambda,0.5)]
set Tperiod [expr 2*$PI/$omega]; # period (sec.)
lappend iTperiod $Tperiod
puts [format $fmt1 $i $Tperiod $TunitTXT]
}
yeah, i guess, as the recorders are recorded at each time step.
that's why in some other message someone was getting output for each time step and frank gave some recommendations on that.
but the eigenvalue/period command works anyways, right?
that's why in some other message someone was getting output for each time step and frank gave some recommendations on that.
but the eigenvalue/period command works anyways, right?
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