Problem with damping based on stiffness matrix

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
dgale
Posts: 57
Joined: Fri Jan 15, 2016 4:01 am
Location: UPM

Problem with damping based on stiffness matrix

Post by dgale »

Hello everyone, I just tried version 3.7 of OpenSees to create a simple single-degree-of-freedom model, where I added a stiffness-based damping model and applied a pulse-type load. It seems the Rayleigh function isn’t correctly incorporating the value of beta_K, as the displacement history does not show any damping effect on the displacement. Please test the following model on your PC in case I’m entering something incorrectly.

CODE
#---------------------------------------------------------------------------------------------
# OPENSEES LIBRERIES
model basic -ndm 3 -ndf 6;
wipe;

# CONSTANTS VALUES
set g 9810; # Aceleración de la gravedad en mm/s^2
set pi [expr acos(-1.0)];

# MATERIALS LIBRERIES:
set E 5.0;
uniaxialMaterial Elastic 1 $E

# NODE COORDENATES
node 1 0.0 0.0 0.0 ; # x,y,z coordinates (0,0,0) of node 1
node 2 0.0 0.0 0.0 ; # x,y,z coordinates (0,0,0) of node 2
mass 1 0.0 0.0 0.0 0.0 0.0 0.0
mass 2 1.0 0.0 0.0 0.0 0.0 0.0
# BOUNDARY CONDITIONS:
fix 1 1 1 1 1 1 1;
fix 2 0 1 1 1 1 1;

# ELEMENTS:
element zeroLength 1 1 2 -mat 1 1 -dir 1 2; # Elemento de longitud cero

# TIME SERIES

timeSeries Linear 7; # Historia de aplicación de cargas en función del pseudo-tiempo

timeSeries Pulse 8 1.0 1.5 50.0

# OUTPUTS
set Outputs Res
file mkdir $Outputs
recorder Node -file $Outputs/d2Rel.out -node 2 -dof 1 disp;

# DAMPING
set numModes 1
set lambda [eigen -fullGenLapack $numModes]; #in case of [nº modes=ngdl and masses]
set omega [expr sqrt($lambda)]
puts omega=$omega

set chi 0.05;
# set alphaM [expr 2.0*$chi*$omega]; #swich
set alphaM 0.0
puts $alphaM

set betaK [expr (2.0*$chi)/$omega]; #swich
# set betaK 0.0
set betaKinit 0.0
set betaKcomm 0.0
puts $betaK

set betaKinit 0.0
set betaKcomm 0.0
rayleigh $alphaM $betaK $betaKinit $betaKcomm

# ANALYSIS
numberer RCM
set ConvInf 0;
# 0 print nothing
# 1 print information on norms each time test() is invoked
# 2 print information on norms and number of iterations at end of successful test
# 4 at each step it will print the norms and also the ΔU and R(U) vectors.
# 5 if it fails to converge at end of $numIter it will print an error message BUT RETURN A SUCCESSFUL test

puts "DYNAMIC ANALYSIS"

set tol 1e-9
set iter 50

pattern Plain 4 8 {
load 2 100.0 0.0 0.0 0.0 0.0 0.0
}

system UmfPack; # Da forma a la matriz de rigidez
constraints Plain; # Aplica las condiciones de contorno
numberer Plain; # Forma de numerar los GDL
test NormDispIncr $tol $iter $ConvInf ; # Criterio de convergencia
algorithm KrylovNewton; # Algoritmo de resolución
integrator Newmark 0.5 0.25
analysis Transient ; # Análisis dinámico

set steps 8000
set dt 0.01
analyze $steps $dt

exit
mhscott
Posts: 880
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Problem with damping based on stiffness matrix

Post by mhscott »

I believe you need to add the -doRayleigh option to the zero length element command
dgale
Posts: 57
Joined: Fri Jan 15, 2016 4:01 am
Location: UPM

Re: Problem with damping based on stiffness matrix

Post by dgale »

You're absolutely right. One gets so used to using beam-type elements that sometimes other element options slip our minds. Thanks so much!
Post Reply