Structural damping
Moderators: silvia, selimgunay, Moderators
Structural damping
Hi there,
How do I apply the structural damping to my model?
Thank you for your help.
Sincerely,
Farhad
How do I apply the structural damping to my model?
Thank you for your help.
Sincerely,
Farhad
rayleigh damping is available in opensees, you can read about it in the manual:
http://opensees.berkeley.edu/OpenSees/m ... index.html
here is a script I use for SDOF:
http://opensees.berkeley.edu/OpenSees/m ... index.html
here is a script I use for SDOF:
and one for MDOF:# --------------------------------------------------------------------------------------------------
# define damping for Single-DOF system
# apply Rayleigh DAMPING from $xDamp -- from $omegaI & $omegaJ (modes 1&3 recomm. for mdof)
# D=$alphaM*M + $betaKcurr*Kcurrent + $betaKcomm*KlastCommit + $beatKinit*$Kinitial
# Silvia Mazzoni, 2006 (opensees-support @berkeley_NO_SPAM_.edu)
# apply Rayleigh DAMPING from $xDamp -- from $omegaI & $omegaJ (modes 1&3 recomm. for mdof)
set xDamp 0.02
set KcurrSwitch 0 ;
set KcommSwitch 1;
set KinitSwitch 0;
set nEigenI 1; # mode 1
set lambdaN [eigen [expr $nEigenI]]; # eigenvalue analysis for nEigenJ modes
set lambdaI [lindex $lambdaN [expr $nEigenI-1]]; # eigenvalue mode i
set omegaI [expr pow($lambdaI,0.5)];
set alphaM 0.; # M-prop. damping; D = alphaM*M
set betaKcurr [expr $KcurrSwitch*2.*$xDamp/($omegaI)]; # K-proportional damping; +beatKcurr*KCurrent
set betaKcomm [expr $KcommSwitch*2.*$xDamp/($omegaI)]; # K-prop. damping parameter; +betaKcomm*KlastCommitt
set betaKinit [expr $KinitSwitch*2.*$xDamp/($omegaI)]; # initial-stiffness proportional damping +beatKinit*Kini
# define damping
rayleigh $alphaM $betaKcurr $betaKinit $betaKcomm; # RAYLEIGH damping
[/quote]# --------------------------------------------------------------------------------------------------
# define damping for Multi-DOF system
# apply Rayleigh DAMPING from $xDamp -- from $omegaI & $omegaJ (modes 1&3 recomm. for mdof)
# D=$alphaM*M + $betaKcurr*Kcurrent + $betaKcomm*KlastCommit + $beatKinit*$Kinitial
# Silvia Mazzoni, 2006 (opensees-support @berkeley_NO_SPAM_.edu)
# apply Rayleigh DAMPING from $xDamp -- from $omegaI & $omegaJ (modes 1&3 recomm. for mdof)
set xDamp 0.02
set MpropSwitch 1; # where M/K proportionality lies.
set KcurrSwitch 0 ;
set KcommSwitch 1;
set KinitSwitch 0;
set nEigenI 1; # mode 1
set nEigenJ 3; # 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)]; # K-proportional damping; +beatKcurr*KCurrent
set betaKcomm [expr $KcommSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # K-prop. damping parameter; +betaKcomm*KlastCommitt
set betaKinit [expr $KinitSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # initial-stiffness proportional damping +beatKinit*Kini
# define damping
rayleigh $alphaM $betaKcurr $betaKinit $betaKcomm; # RAYLEIGH damping
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
eigen question
what values have to be defined in the model to run the "eigen" function? I am not clear on what is going on. I am looking at a simple sdof system so the eigenvalue is easy to calculate by hand...
thanks,
Matthew
thanks,
Matthew
Question for MDOF DAMPING
Hi Frank, many thanks for your contribution to Opensees.
I still have question for Silvia's note.
1) No matter how many Dof, we just need to define eigen 1 and eigen 3. Why 1st and 3rd? Is it just convenient?
2) Why we just make beta Kcomm 1, and set current and initial betaK 0? Why do we need 3 K situation? Is it for nonlinear?C=a0*m+a1*k. What is this K FOR?
If it's too complicated to explain, could you recommend some material, so that I can read? Many thanks.
Peng
I still have question for Silvia's note.
1) No matter how many Dof, we just need to define eigen 1 and eigen 3. Why 1st and 3rd? Is it just convenient?
2) Why we just make beta Kcomm 1, and set current and initial betaK 0? Why do we need 3 K situation? Is it for nonlinear?C=a0*m+a1*k. What is this K FOR?
If it's too complicated to explain, could you recommend some material, so that I can read? Many thanks.
Peng