Abstract
The structural dynamics topic is vital in the design and retrofit of structures to withstand severe dynamic loading due to earthquakes, strong winds, or to identify the occurrence and location of damage within an existing structure.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Abbreviations
- M :
-
Mass
- K :
-
Lateral stiffness
- \( f_{\text{d}} \) :
-
Damping Force
- F s :
-
Spring Force
- T :
-
Total kinetic energy
- V :
-
Total potential energy
- \( \delta \) :
-
Work done by non-conservative system
- \( W_{\text{nc}} \) :
-
Work done by non-conservative system
- \( \omega \) :
-
Natural frequency of vibration
- C cr :
-
Critical damping coefficient
- \( A_{X} \) :
-
Amplitude
- \( \psi \) :
-
Phase angle
- \( x_{\text{st}} \) :
-
Maximum value of static deformation
- \( R_{\text{d}} \) :
-
Dynamic response factor
- \( E_{\text{d}} \) :
-
Energy dissipated per cycle for linear viscous damping
- ζ :
-
Damping coefficient
- γ and β:
-
Newmark factor
- \( \tau \) :
-
Extended time interval
- \( \ddot{x} \) :
-
Acceleration
- \( \Delta \tilde{F} \) :
-
Effective load
- \( \tilde{K} \) :
-
Effective stiffness matrix
- \( \sigma_{\hbox{max} } \) :
-
Maximum stress
- \( \dot{x} \) :
-
Velocity
- \( \Delta t \) :
-
Time step
- a0, a1, a2, a3, a4, a5, a6, a7 and a8:
-
Integration constants
- AD:
-
Amplitude decay
- \( M_{\hbox{max} } \) :
-
Bending moment
- \( \omega \) :
-
Frequency
- \( \Delta x \) :
-
Incremental displacement
- t :
-
Time
- t d :
-
Load duration
- SDOF:
-
Single degree of freedom
- PE:
-
Period elongation
- Fs(t):
-
Elastic force
- F(t):
-
Transient force
- x :
-
Displacement
References
Chopra AK (2011) Dynamics of structures—theory and applications to earthquake engineering, 4th Ed. Pearson Education
Rao SS (2004) Mechanical vibrations, 4th Ed. Prentice-Hall, Upper Saddle River, NJ
Rajasekaran S (2009) Structural dynamics of earthquake engineering: theory and application using mathematica and Matlab, Woodhead Publishing in Materials, CRC Press, India
Jazar RN (2017) Vehicle dynamics theory and application, 3rd edn. Springer, New York
Bathe KJ (1996) Finite element procedures, 2nd edn. Prentice-Hall of India, New Delhi
Humar JL (1990) Dynamics of structures. Prentice Hall
Krishnamoorthy CS (1995) Finite element analysis: theory and programming, 2nd Ed. TATA—McGraw Hill
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendix 1: Subroutines
Appendix 1: Subroutines
3.1.1 A.1.1 MATLAB Code for Different Integration Schemes
MATLAB code for SDOF system for the following integration schemes is presented in this Appendix.
-
1.
Newmark-beta —Linear acceleration,
-
2.
Wilson Theta ,
-
3.
Runge–kutta fourth order,
-
4.
Runge–Kutta second order,
-
5.
Central difference scheme.
Function inputs: m—mass; K—stiffness; c—stiffness; p—force; x0—initial displacement; v0—final displacement; dt—time step; t—time
Function outputs: Displacement, velocity, and acceleration
-
1.
function [NBLx,NBLv,NBLaccx,t] = Newmark_linear(m,K,c,p,x0,v0,dt,t)
-
gamma=1/2;betaL=1/6; % Linear acceleration
-
%Initial conditions
-
NBLx(1)=x0;
-
NBLv(1)=v0;
-
time=0;
-
[imin,imax]=size(t);
-
% newmark beta
-
NBLti=gamma/betaL;
-
NBLa=m/(betaL*dt)+NBLti*c;
-
NBLb=m/(2*betaL)+dt*c*((NBLti/2)-1);
-
NBLaccx(1)=(p(1)-K*x0-c*v0)/m;
-
NBLKbar=K+(3*c/dt)+(6*m/(dt*dt));
-
for i=1:imax-1
-
time=time+dt;
-
NBLdPbar=(p(i+1)-p(i))+NBLa*NBLv(i)+NBLb*NBLaccx(i);
-
NBLdx=NBLdPbar/NBLKbar;
-
NBLdv=NBLti*NBLdx/dt-NBLti*NBLv(i)+dt*NBLaccx(i)*(1-NBLti/2);
-
NBLv(i+1)=NBLv(i)+NBLdv;
-
NBLx(i+1)=NBLx(i)+NBLdx;
-
NBLdaccx=NBLdx/(betaL*dt*dt)-NBLv(i)/(betaL*dt)-NBLaccx(i)/(2*betaL);
-
NBLaccx(i+1)=NBLaccx(i)+NBLdaccx;
-
End
-
2.
function [wx,wv,waccx,t] = Wilsontheta(m,K,c,p,x0,v0,dt,t)
-
clc
-
% Wilson theta Method
-
theta=1.4;
-
%Initial conditions
-
x(1)=x0;
-
v(1)=v0;
-
time=0;
-
[imin,imax]=size(t);
-
ti=theta*dt;
-
a=m*6/ti+3*c;
-
b=3*m+(ti*c)/2;
-
accx(1)=(p(1)-K*x0-c*v0)/m;
-
kbar=K+3*c/ti+6*m/(ti^2);
-
for i=1:imax-1
-
time=time+dt;
-
dPbar= theta*(p(i+1)-p(i))+ a*v(i)+b*accx(i);
-
dxbar=dPbar/kbar;
-
accxbar=6*dxbar/(ti^2)-6*v(i)/(ti)-3*accx(i);
-
daccx=accxbar/theta;
-
dv=dt*accx(i)+dt*daccx/2;
-
dx=dt*v(i)+(accx(i)*dt^2)/2+(daccx*dt^2)/6;
-
v(i+1)=v(i)+dv;
-
x(i+1)=x(i)+dx;
-
accx(i+1)=accx(i)+daccx;
-
end
-
wx=x;
-
wv=v;
-
waccx=accx;
-
3.
function [RK4x,RK4v] = RK4(m,K,c,p,x0,v0,dt,t)
-
%Initial conditions
-
RK4x(1)=x0;
-
RK4v(1)=v0;
-
time=0;
-
[imin,imax]=size(t);
-
dh=dt;
-
for i=1:imax-1
-
time=time+dt;
-
k0=dh*fRK(t(i),RK4x(i),RK4v(i));
-
j0=dh*gRK(t(i),RK4x(i),RK4v(i),p(i),m,K,c);
-
k1=dh*fRK(t(i)+dh/2,RK4x(i)+k0/2,RK4v(i)+j0/2);
-
j1=dh*gRK(t(i)+dh/2,RK4x(i)+k0/2,RK4v(i)+j0/2,p(i),m,K,c);
-
k2=dh*fRK(t(i)+dh/2,RK4x(i)+k1/2,RK4v(i)+j1/2);
-
j2=dh*gRK(t(i)+dh/2,RK4x(i)+k1/2,RK4v(i)+j1/2,p(i),m,K,c);
-
k3=dh*fRK(t(i)+dh,RK4x(i)+k2,RK4v(i)+j2);
-
j3=dh*gRK(t(i)+dh,RK4x(i)+k2,RK4v(i)+j2,p(i),m,K,c);
-
RK4x(i+1)=RK4x(i)+(k0+2*k1+2*k2+k3)/6; % Displacement
-
RK4v(i+1)=RK4v(i)+(j0+2*j1+2*j2+j3)/6; % Velocity
-
End
-
function [ F ] = fRK(t,x1,v1)
-
%UNTITLED5 Summary of this function goes here
-
% Detailed explanation goes here
-
F = v1;
-
End
function [ G ] = gRK(t,RK4x1,RK4v1,p1,m,K,c)
-
%UNTITLED7 Summary of this function goes here
-
% Detailed explanation goes here
-
G = (p1-c*RK4v1-K*RK4x1)/m;
-
End
-
4.
function [RK2x,RK2v] = RK2(m,K,c,p,x0,v0,dt,t)
-
clc
-
%Initial conditions
-
RK2x(1)=x0;
-
RK2v(1)=v0;
-
time=0;
-
[imin,imax]=size(t);
-
dh=dt;
-
for i=1:imax-1
-
time=time+dt;
-
k0=dh*fRK(t(i),RK2x(i),RK2v(i));
-
j0=dh*gRK(t(i),RK2x(i),RK2v(i),p(i),m,K,c);
-
k1=dh*fRK(t(i)+dh,RK2x(i)+k0,RK2v(i)+j0);
-
j1=dh*gRK(t(i)+dh,RK2x(i)+k0,RK2v(i)+j0,p(i),m,K,c);
-
RK2x(i+1)=RK2x(i)+(k0+k1)/2; % Displacement
-
RK2v(i+1)=RK2v(i)+(j0+j1)/2; % Velocity
-
-
End
function [ F ] = fRK(t,x2,v2)
-
%UNTITLED5 Summary of this function goes here
-
% Detailed explanation goes here
-
F = v2;
-
End
function [ G ] = gRK2(t,RK2x1,RK2v1,p2,m,K,c)
-
%UNTITLED7 Summary of this function goes here
-
% Detailed explanation goes here
-
G = (p2-c*RK2v1-K*RK2x1)/m;
-
end
-
5.
function [CDx,CDv,CDaccx,t] = CDS(m,K,c,p,x0,v0,dt,t)
-
%Initial conditions
-
CDx(2)=x0;
-
CDv(1)=v0;
-
time=0;
-
[imin,imax]=size(t);
-
%central diffence
-
% CDti=gamma/beta;
-
CDa=m/(dt*dt)-c/(2*dt);
-
CDb=K-2*m/(dt*dt);
-
CDaccx(1)=(p(1)-K*x0-c*v0)/m;
-
CDx(1)=CDx(2)-dt*CDv(1)+dt*dt*CDaccx(1)/2;
-
CDKbar=c/(2*dt)+m/(dt*dt);
-
for i=1:imax-1
-
time=time+dt;
-
if(i<imax-1)
-
CDPbar=p(i)-CDa*CDx(i)-CDb*CDx(i+1);
-
CDx(i+2)=CDPbar/CDKbar;
-
CDv(i+1)=(CDx(i+2)-CDx(i))/(2*dt);
-
CDaccx(i+1)=(CDx(i+2)-2*CDx(i+1)+CDx(i))/(dt*dt);
-
end
-
end
3.1.2 A.1.2 MATLAB Code for Example 3.10
-
Integration schemes: ode45 solver
-
Function inputs: time=time, acc=acceleration, fTn=frequency time step, k=stiffness, m=mass, C=damping ,w=frequency in rad/sec.
-
Function output: Displacement
-
fTn=sqrt(k/m)
-
%fTn = 1.;
-
[time,disp] = ode45(@find,t,y0,[],C,fTn,timein,accin);
-
plot(time,disp(:,1));
-
for fTn = 0:0.01:50
-
[time,disp] = ode45(@find,time,disp,[],C,fTn,timein,accin);
-
-
dispmax = max(abs(disp(:,1)));
dispmax(n) = dispmax;
-
n = n+1;
-
-
End
-
function dydt = find(time,acc,xi,fTn,timein,accin)
-
w= 2*pi/fTn;
-
-
acc = interp1(timein,accin,time);
dydt = [y(2); -acc -(2*w*xi)*y(2)-w^2*y(1)];
Rights and permissions
Copyright information
© 2019 Springer Nature Singapore Pte Ltd.
About this chapter
Cite this chapter
Eswaran, M., Parulekar, Y.M., Reddy, G.R. (2019). Introduction to Structural Dynamics and Vibration of Single-Degree-of-Freedom Systems. In: Reddy, G., Muruva, H., Verma, A. (eds) Textbook of Seismic Design. Springer, Singapore. https://doi.org/10.1007/978-981-13-3176-3_3
Download citation
DOI: https://doi.org/10.1007/978-981-13-3176-3_3
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-13-3175-6
Online ISBN: 978-981-13-3176-3
eBook Packages: EngineeringEngineering (R0)