Skip to main content

Introduction to Structural Dynamics and Vibration of Single-Degree-of-Freedom Systems

  • Chapter
  • First Online:
Textbook of Seismic Design

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

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

  1. Chopra AK (2011) Dynamics of structures—theory and applications to earthquake engineering, 4th Ed. Pearson Education

    Google Scholar 

  2. Rao SS (2004) Mechanical vibrations, 4th Ed. Prentice-Hall, Upper Saddle River, NJ

    Google Scholar 

  3. Rajasekaran S (2009) Structural dynamics of earthquake engineering: theory and application using mathematica and Matlab, Woodhead Publishing in Materials, CRC Press, India

    Book  Google Scholar 

  4. Jazar RN (2017) Vehicle dynamics theory and application, 3rd edn. Springer, New York

    Book  Google Scholar 

  5. Bathe KJ (1996) Finite element procedures, 2nd edn. Prentice-Hall of India, New Delhi

    MATH  Google Scholar 

  6. Humar JL (1990) Dynamics of structures. Prentice Hall

    Google Scholar 

  7. Krishnamoorthy CS (1995) Finite element analysis: theory and programming, 2nd Ed. TATA—McGraw Hill

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to G. R. Reddy .

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. 1.

    Newmark-beta —Linear acceleration,

  2. 2.

    Wilson Theta ,

  3. 3.

    Runge–kutta fourth order,

  4. 4.

    Runge–Kutta second order,

  5. 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. 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

  1. 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;

  1. 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

  1. 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

  1. 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

Reprints and permissions

Copyright information

© 2019 Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics