3.1.12.3.2. Universal Rate-Dependent (URD) Damping

This command is used to construct a universal rate-dependent damping model.

Two ways to define URD damping are provided.

Approach 1 Only the target loss factor distribution is used. The command will calculate the best approximation using the least-squares approach. More details are provided in reference [1].

damping URD $dampingTag $n $freq1 $lossFactor1 $freqn $lossFactorn <-tol $Tlrnc> <-activateTime $Ta> <-deactivateTime $Td> <-fact $tsTagScaleFactorVsTime> <-print>

Argument

Type

Description

$dampingTag

integer

integer tag identifying damping

$n

integer

dimension of the frequency–loss factor pairs

$fj

float

frequency of the j th frequency–loss factor pair (in units of T^−1)

$lossFactorj

float

loss factor of the j th frequency–loss factor pair

$Tlrnc

float

tolerance criteria (relative error) used when calculating the best approximation (optional: default is 0.05)

$Ta

float

time when the damping is activated

$Td

float

time when the damping is deactivated

$tsTagScaleFactorVsTime

integer

time series tag identifying the scale factor of the damping versus time

-print

string

argument to print the calculated optimal parameters for the URD damping

NOTE

The loss factor can be set to twice the viscous damping ratio. For example, if a viscous damping ratio of 0.05 is to be used, then the loss factor would be 2 * 0.05 = 0.1.

According to reference [1] , the following commands are equivalent.

damping Uniform 1 0.05 1.0 100.0

damping URD 1 2 1.0 0.10 100.0 0.10

Approach 2 Optimal parameters for URD damping are used. These parameters may be obtained using Matlab and other software to achieve the best approximation. More details are provided in reference [1].

damping URDbeta $dampingTag $nc $fc_1 $beta_1 $fc_nc $beta_nc <-activateTime $Ta> <-deactivateTime $Td> <-fact $tsTagScaleFactorVsTime>

Argument

Type

Description

$dampingTag

integer

integer tag identifying damping

$nc

integer

dimension of vector beta_opt

$fc_j

float

the j th cutoff frequency (in units of T^−1)

$beta_j

float

j th term of the adjustment factor beta_opt

$Ta

float

time when the damping is activated

$Td

float

time when the damping is deactivated

$tsTagScaleFactorVsTime

integer

time series tag identifying the scale factor of the damping versus time

NOTE

The loss factor at frequency f is:

../../../../../_images/URDbetaDamping.png

Example

The following shows several examples to construct universal rate-dependent damping models with different target damping-frequency relation.

damping URD 1 2 1.0 0.10 100.0 0.10 -tol 0.01

damping URDbeta 2 9 1.0 0.1101762430 1.7782794100 -0.0783418510 3.1622776602 0.0986952340 5.6234132519 -0.0505663180 10.0000000000 0.0834771114 17.7827941004 -0.0505663180 31.6227766017 0.0986952340 56.2341325190 -0.0783418510 100.0000000000 0.1101762430

damping URD 3 2 1.0 0.10 100.0 0.04

damping URD 4 2 1.0 0.04 100.0 0.10

damping URD 5 3 1.0 0.04  10.0 0.10 100.0 0.04

damping URD 6 5 1.0 0.04   5.0 0.10  10.0 0.06 50.0 0.10 100.0 0.04

damping URD 7 7 0.1 0.04   1.0 0.10   5.0 0.10 10.0 0.06  50.0 0.10 100 0.10 500.0 0.04

damping URD 8 6 0.1 0.02   1.0 0.04   5.0 0.04 10.0 0.10 100.0 0.10 500 0.02 -tol 0.1
../../../../../_images/URDdamping.jpg

Fig. 3.1.12.2 URD Damping

The following is an example for an SDOF system.

wipe; 

# Create a 2D model with 3 Degrees of Freedom
model BasicBuilder -ndm 2 -ndf 3; 

# Create URD damping
# Ref. [1] Tian Y, Fei Y, Huang Y, Lu X. 2022. A universal rate-dependent damping model for arbitrary damping-frequency distribution. Engineering Structures, 255: 113894. http://dx.doi.org/10.1016/j.engstruct.2022.113894
damping URD 1 2 0.1 0.10 100.0 0.10

set Tol 1.0e-8;    
set numStep 1000;
set PI [expr 4.0 * atan(1.0)]
set E 1.0
set A 1.0
set L 1.0
set I 0.08
set m 1
set v 20
set k [expr $E*$A/$L]
set d0 1.0
set wn [expr sqrt($k/$m)]

# Create nodes
node 11 0 0 -mass $m $m 0
node 12 $L 0 -mass $m  $m  0

# Create Fixities
fix 11 1 1 1
fix 12 0 1 1

# Create geometric transformation
geomTransf Linear 1

# Create element
element elasticBeamColumn 1 11 12 $A $E $I 1 -damp 1

set tag 1
set tStart 0
set tEnd 100
set period 1.0
set cFactor 1.0

# Create time series
timeSeries Trig $tag $tStart $tEnd $period -factor $cFactor

# Create node recorder
recorder Node -file disp1.txt -time -node 11 12 -dof 1  disp
recorder Node -file vel1.txt -time -node 11 12 -dof 1  vel
recorder Node -file accel1.txt -timeSeries $tag -time -node 11 12 -dof 1  accel

set patternTag 10010
set dir 1

# Create Uniform Excitation load
pattern UniformExcitation $patternTag $dir -accel $tag

# Analyze
constraints Transformation;
numberer RCM;
system FullGeneral
test NormDispIncr 1e-3 100 0
algorithm NewtonLineSearch 0.75
integrator Newmark 0.5 0.25
analysis Transient
set dt 0.01
set tEQ 100
while {[getTime] < $tEQ} {analyze 1 $dt;}

Code Developed by: Yuan Tian (University of Science and Technology Beijing), Yuli Huang and Xinzheng Lu (Tsinghua University).

References