rayleigh damping recorder
Moderators: silvia, selimgunay, Moderators
rayleigh damping recorder
Hi there,
I am trying to record the damping forces in a time history analysis.
Going over the source code, I realized that we can record the rayleigh forces using a node recorder using either "rayleighForces" or "rayleighDampingForces" commands. To test the recorder I tried it on a system where I did not define any rayleigh damping. However, I am still getting significant damping forces at the nodes where mass is defined.
By the way, when I run the code, it gives me an error like: NodeRecorder::NodeRecorder - dataToStore rayleighForcesnot recognized (disp, vel, accel, incrDisp, incrDeltaDisp)
However, the recorder looks like it still works.
Is this recorder working properly? If not do you have any idea how I could get the damping forces.
Thanks
Emrah
I am trying to record the damping forces in a time history analysis.
Going over the source code, I realized that we can record the rayleigh forces using a node recorder using either "rayleighForces" or "rayleighDampingForces" commands. To test the recorder I tried it on a system where I did not define any rayleigh damping. However, I am still getting significant damping forces at the nodes where mass is defined.
By the way, when I run the code, it gives me an error like: NodeRecorder::NodeRecorder - dataToStore rayleighForcesnot recognized (disp, vel, accel, incrDisp, incrDeltaDisp)
However, the recorder looks like it still works.
Is this recorder working properly? If not do you have any idea how I could get the damping forces.
Thanks
Emrah
Re: rayleigh damping recorder
Hi Emrah,
How did you manage to calculate damping forces? In you recent paper, it seems that you have calculated the total damping forces by subtracting the first story shear forces from the total joint reactions? But when I try to do the similar thing for one of my columns, I get the column shear force equal to the joint reaction. Could you please explain how to do it correctly?
Help is much appreciated.
Thanks.
How did you manage to calculate damping forces? In you recent paper, it seems that you have calculated the total damping forces by subtracting the first story shear forces from the total joint reactions? But when I try to do the similar thing for one of my columns, I get the column shear force equal to the joint reaction. Could you please explain how to do it correctly?
Help is much appreciated.
Thanks.
Re: rayleigh damping recorder
Yes, there is such an option. I never used it so far so I am not sure if it is working well. After I test it I will get back to you. If this recorder works properly that is the only way to get damping forces.
Re: rayleigh damping recorder
I just tested it on the elastic cantilever column and it works perfectly fine. I tried "rayleighForces" and "rayleighDampingForces" and both worked. I did not get any error messages. I used the latest version of OpenSees.
Re: rayleigh damping recorder
Thanks Vesna,
Both the recorders work.
Both the recorders work.
-
- Posts: 11
- Joined: Tue Sep 14, 2010 7:16 pm
- Location: Lehigh University
Re: rayleigh damping recorder
It seems that these two recorders are giving the velocity at the nodes instead of the Rayleigh forces (which is velocity times damping coefficient). has anybody compared the output of these recorders with velocity of the same nodes in the same DOF?
Re: rayleigh damping recorder
I created the simple elastic cantilever column, recorded the velocity (v) and damping force (Fd) and in my case c*v=Fd
Here is the example for you to test (you only need to change the ground motion file):
# Canilever column from Chopra's book (Example 5.1)
wipe
model BasicBuilder -ndm 2 -ndf 3
set A1 1.0
set E [expr 10./3.]
set mass1 0.2533
set H 1.0
#set mass1 0.00001
set I1 1.0
set pi 3.14
set k [expr 3.*$I1*$E/$H**3]
puts "K: $k"
node 1 0.0 0.0
node 2 0.0 $H -mass $mass1 0.0 0.0
fix 1 1 1 1
geomTransf Linear 10
element elasticBeamColumn 1 1 2 $A1 $E $I1 10
set G 386.
timeSeries Path 2 -dt 0.005 -filePath A10000.acc -factor $G; # define acceleration vector from file (dt=0.005 is associated with the input file gm)
pattern UniformExcitation 2 1 -accel 2;
recorder Node -file point_2_disp.out -time -node 2 -dof 1 disp
recorder Node -file point_2_vel.out -time -node 2 -dof 1 vel
recorder Node -file point_2_acce.out -time -node 2 -dof 1 accel
#recorder Node -file point_2_DampingForce.out -time -node 2 -dof 1 rayleighDampingForces
recorder Node -file point_2_DampingForce.out -time -node 2 -dof 1 rayleighForces
recorder Node -file point_2_ResistingForce.out -time -node 2 -dof 1 reaction
recorder Element -file point_2_EleForce.out -time -ele 1 force
set lambda [eigen -fullGenLapack 1]
set T [expr (2*$pi)/sqrt($lambda)]
puts "T = $T"
set freq [expr sqrt($lambda)]
set dampRatio 0.05
rayleigh [expr 2.*$dampRatio*$freq] 0. 0. 0.
#integrator Newmark 0.5 [expr 1./6.]
integrator Newmark 0.5 0.25
test EnergyIncr 1.0e-6 20 1
algorithm Linear
numberer Plain
constraints Plain
system BandGeneral
analysis Transient
analyze 3995 0.01; # apply 3995 0.01-sec time steps in analysis
print -node 2
Here is the example for you to test (you only need to change the ground motion file):
# Canilever column from Chopra's book (Example 5.1)
wipe
model BasicBuilder -ndm 2 -ndf 3
set A1 1.0
set E [expr 10./3.]
set mass1 0.2533
set H 1.0
#set mass1 0.00001
set I1 1.0
set pi 3.14
set k [expr 3.*$I1*$E/$H**3]
puts "K: $k"
node 1 0.0 0.0
node 2 0.0 $H -mass $mass1 0.0 0.0
fix 1 1 1 1
geomTransf Linear 10
element elasticBeamColumn 1 1 2 $A1 $E $I1 10
set G 386.
timeSeries Path 2 -dt 0.005 -filePath A10000.acc -factor $G; # define acceleration vector from file (dt=0.005 is associated with the input file gm)
pattern UniformExcitation 2 1 -accel 2;
recorder Node -file point_2_disp.out -time -node 2 -dof 1 disp
recorder Node -file point_2_vel.out -time -node 2 -dof 1 vel
recorder Node -file point_2_acce.out -time -node 2 -dof 1 accel
#recorder Node -file point_2_DampingForce.out -time -node 2 -dof 1 rayleighDampingForces
recorder Node -file point_2_DampingForce.out -time -node 2 -dof 1 rayleighForces
recorder Node -file point_2_ResistingForce.out -time -node 2 -dof 1 reaction
recorder Element -file point_2_EleForce.out -time -ele 1 force
set lambda [eigen -fullGenLapack 1]
set T [expr (2*$pi)/sqrt($lambda)]
puts "T = $T"
set freq [expr sqrt($lambda)]
set dampRatio 0.05
rayleigh [expr 2.*$dampRatio*$freq] 0. 0. 0.
#integrator Newmark 0.5 [expr 1./6.]
integrator Newmark 0.5 0.25
test EnergyIncr 1.0e-6 20 1
algorithm Linear
numberer Plain
constraints Plain
system BandGeneral
analysis Transient
analyze 3995 0.01; # apply 3995 0.01-sec time steps in analysis
print -node 2
-
- Posts: 11
- Joined: Tue Sep 14, 2010 7:16 pm
- Location: Lehigh University
Re: rayleigh damping recorder
Yes it is working correctly, I wasn't using the recorder properly. Thank you very much for your help Vesna.
Re: rayleigh damping recorder
Hi Vesna,
I am trying to compare the input energy vs damping energy using this recorder.
Based on Dynamics if I calculate the cumulative input energy and also damping energy, at the end of earthquake they should be equal (based on conservation of energy, where kinetic and potential energy are almost zero).
For this purpose I calculated the input energy (EQ) and compared it with damping energy using this recorder such that:
Damping Energy=recorder output (nodal damping force)*du(increment in displacement).
Comparing the cumulative input and damping energy I needed to divide this damping energy by nodal mass to satisfy the conservation of energy! As I am not sure how Rayleigh damping and damping force are calculated in OS, I really appreciate it if you could help me with that and let me know if I am doing a correct way and why?
Many many Thanks
I am trying to compare the input energy vs damping energy using this recorder.
Based on Dynamics if I calculate the cumulative input energy and also damping energy, at the end of earthquake they should be equal (based on conservation of energy, where kinetic and potential energy are almost zero).
For this purpose I calculated the input energy (EQ) and compared it with damping energy using this recorder such that:
Damping Energy=recorder output (nodal damping force)*du(increment in displacement).
Comparing the cumulative input and damping energy I needed to divide this damping energy by nodal mass to satisfy the conservation of energy! As I am not sure how Rayleigh damping and damping force are calculated in OS, I really appreciate it if you could help me with that and let me know if I am doing a correct way and why?
Many many Thanks
Re: rayleigh damping recorder
I am trying to understand how the Rayleigh damping forces are calculated in OpenSees for rotational degrees of freedom. To study the damping forces I am using the simple linear elastic cantilever structure that Vesna used previously (Chopra Ex. 5.1.). I specify only stiffness proportional damping (alphaM = 0) and I record the Rayleigh damping forces at the top node of the cantilever while subjecting my structure to an earthquake excitation. The Rayleigh damping forces output by OpenSees for the x – direction are confirmed to be BetaK*(3*EI/L^3)*(velocity in x-direction). However, when I try to calculate the rotational damping forces in a similar way by using the recorded velocities in the z-direction and corresponding flexural stiffness, I get very different results from the recorded rotational Rayleigh damping forces. I also noticed that the accuracy of recorded rotational damping forces are very sensitive to the assignment of rotational mass to the structure (even though I specify only stiffness proportional Rayleigh damping (alphaM = 0)).
Can you please help me to understand how OpenSees is calculating the rotational Rayleigh damping forces? Thank you!
Can you please help me to understand how OpenSees is calculating the rotational Rayleigh damping forces? Thank you!