3.1.12.3.1. Uniform Damping
This command is used to construct a uniform damping model.
- damping Uniform $dampingTag $dampingRatio $freql $freq2 <-activateTime $Ta> <-deactivateTime $Td> <-fact $tsTagScaleFactorVsTime>
Argument |
Type |
Description |
---|---|---|
$dampingTag |
integer |
integer tag identifying damping |
$dampingRatio |
float |
target equivalent viscous damping ratio |
$freql |
float |
lower bound of the frequency range (in units of T^−1) |
$freq2 |
float |
upper bound of the frequency range (in units of T^−1) |
$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 |
Example
The following is used to construct a uniform damping with damping ratio of 0.05 in the frequency range of 1.0 ~ 100 Hz.
damping Uniform 1 0.05 1.0 100.0
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 uniform damping
# Ref. [1] Huang Y, Sturt R, Willford M. 2019. A damping model for nonlinear dynamic analysis providing uniform damping over a frequency range. Computers and Structures 212:101–9. http://dx.doi.org/10.1016/j.compstruc.2018.10.016
# Ref. [2] Tian Y, Huang Y, Qu Z, Fei Y, Lu X. 2022. High-performance uniform damping model for response history analysis in OpenSees. Journal of Earthquake Engineering. 2022. http://dx.doi.org/10.1080/13632469.2022.2124557
damping Uniform 1 0.05 0.1 100
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: Yuli Huang and Xinzheng Lu (Tsinghua University).
References