how Rayleigh Damping Command consider damping ratio for structural modes?
Moderators: silvia, selimgunay, Moderators
how Rayleigh Damping Command consider damping ratio for structural modes?
Hi
I had a questiones about the operation of the Riley damping command in Opensees.
First, how does the Rayleigh Damping Command affect the damping in any structural mode?
Second, can the Rayleigh Damping Command be set to affect only certain modes of the structure?
Any help is greatly appreciated
I wish you all the best
I had a questiones about the operation of the Riley damping command in Opensees.
First, how does the Rayleigh Damping Command affect the damping in any structural mode?
Second, can the Rayleigh Damping Command be set to affect only certain modes of the structure?
Any help is greatly appreciated
I wish you all the best
Re: how Rayleigh Damping Command consider damping ratio for structural modes?
1. I suggest you refer to a text book or google "rayleigh damping":
https://www.orcina.com/webhelp/OrcaFlex ... idance.htm
https://www.usbr.gov/ssle/damsafety/Tec ... -07-03.pdf
2. It cannot, from reading the text book or above links you should understand why.
https://www.orcina.com/webhelp/OrcaFlex ... idance.htm
https://www.usbr.gov/ssle/damsafety/Tec ... -07-03.pdf
2. It cannot, from reading the text book or above links you should understand why.
Re: how Rayleigh Damping Command consider damping ratio for structural modes?
thank you so much i found a code for rayleigh damping in tcl editor,
"
set xDamp 0.02; # damping ratio
set MpropSwitch 1.0;
set KcurrSwitch 0.0;
set KcommSwitch 1.0;
set KinitSwitch 0.0;
set nEigenI 1; # mode 1
set nEigenJ 1; # mode 3
set lambdaN [eigen [expr $nEigenJ]]; # eigenvalue analysis for nEigenJ modes
set lambdaI [lindex $lambdaN [expr $nEigenI-1]]; # eigenvalue mode i
set lambdaJ [lindex $lambdaN [expr $nEigenJ-1]]; # eigenvalue mode j
set omegaI [expr pow($lambdaI,0.5)];
set omegaJ [expr pow($lambdaJ,0.5)];
set alphaM [expr $MpropSwitch*$xDamp*(2*$omegaI*$omegaJ)/($omegaI+$omegaJ)]; # M-prop. damping; D = alphaM*M
set betaKcurr [expr $KcurrSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # current-K; +beatKcurr*KCurrent
set betaKcomm [expr $KcommSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # last-committed K; +betaKcomm*KlastCommitt
set betaKinit [expr $KinitSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # initial-K; +beatKinit*Kini
"
is this right?
if yes, why cant i set I & J based on number of modes i want to consider them for damping?
"
set xDamp 0.02; # damping ratio
set MpropSwitch 1.0;
set KcurrSwitch 0.0;
set KcommSwitch 1.0;
set KinitSwitch 0.0;
set nEigenI 1; # mode 1
set nEigenJ 1; # mode 3
set lambdaN [eigen [expr $nEigenJ]]; # eigenvalue analysis for nEigenJ modes
set lambdaI [lindex $lambdaN [expr $nEigenI-1]]; # eigenvalue mode i
set lambdaJ [lindex $lambdaN [expr $nEigenJ-1]]; # eigenvalue mode j
set omegaI [expr pow($lambdaI,0.5)];
set omegaJ [expr pow($lambdaJ,0.5)];
set alphaM [expr $MpropSwitch*$xDamp*(2*$omegaI*$omegaJ)/($omegaI+$omegaJ)]; # M-prop. damping; D = alphaM*M
set betaKcurr [expr $KcurrSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # current-K; +beatKcurr*KCurrent
set betaKcomm [expr $KcommSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # last-committed K; +betaKcomm*KlastCommitt
set betaKinit [expr $KinitSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # initial-K; +beatKinit*Kini
"
is this right?
if yes, why cant i set I & J based on number of modes i want to consider them for damping?
Re: how Rayleigh Damping Command consider damping ratio for structural modes?
You need to give a number of modes to the eigen command. You are passing nEigenJ, which is 1, so you only get one mode.
Re: how Rayleigh Damping Command consider damping ratio for structural modes?
deer prof scott i did that in my code but when i ran the model i face this error
"
ArpackSolver::Error with _saupd info = -9999
Could not build an Arnoldi factorization.IPARAM(5) the size of the current Arnoldi factorization: is 3factorization. The user is advised to check thatenough workspace and array storage has been allocated.
WARNING StaticAnalysis::eigen() - EigenSOE failed in solve()
missing function argument at _@_
in expression "pow(_@_,0.5)"
(parsing expression "pow(,0.5)")
invoked from within
"expr pow($lambdaI,0.5)"
invoked from within
"set omegaI [expr pow($lambdaI,0.5)]"
(file "analysis.tcl" line 14)
invoked from within
"source analysis.tcl "
(file "D:\desktop n\01.Master\uni Ms\governingequationone\coding\one story assymetry structure\0.5 s period\model 0.5-0.5-0.1\own model\main.tcl" line![Cool 8)](./images/smilies/icon_cool.gif)
"
thank you truly for heloing me.
"
ArpackSolver::Error with _saupd info = -9999
Could not build an Arnoldi factorization.IPARAM(5) the size of the current Arnoldi factorization: is 3factorization. The user is advised to check thatenough workspace and array storage has been allocated.
WARNING StaticAnalysis::eigen() - EigenSOE failed in solve()
missing function argument at _@_
in expression "pow(_@_,0.5)"
(parsing expression "pow(,0.5)")
invoked from within
"expr pow($lambdaI,0.5)"
invoked from within
"set omegaI [expr pow($lambdaI,0.5)]"
(file "analysis.tcl" line 14)
invoked from within
"source analysis.tcl "
(file "D:\desktop n\01.Master\uni Ms\governingequationone\coding\one story assymetry structure\0.5 s period\model 0.5-0.5-0.1\own model\main.tcl" line
![Cool 8)](./images/smilies/icon_cool.gif)
"
thank you truly for heloing me.
Re: how Rayleigh Damping Command consider damping ratio for structural modes?
The default eigenvalue solver doesn't always work when you ask for number of modes that is close to the number of dynamic DOFs in your model.
You can try using the fullGenLapack option
eigen fullGenLapack $Nmodes
You can try using the fullGenLapack option
eigen fullGenLapack $Nmodes
Re: how Rayleigh Damping Command consider damping ratio for structural modes?
thanks fmk and prof scott
i Awared that we can only use two modes parameters for Rayleigh Damping because of it's coding on opensees and also because of it's definition.
wish you best.
i Awared that we can only use two modes parameters for Rayleigh Damping because of it's coding on opensees and also because of it's definition.
wish you best.