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 |
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:
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
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