Skip to main content
Physics LibreTexts

8.3: Driven Harmonic Oscillator

  • Page ID
    17412
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    A mass on a spring, displaced out of its equilibrium position, will oscillate about that equilibrium for all time if undamped, or relax towards that equilibrium when damped. Its amplitude will remain constant in the first case, and decrease monotonically in the second. However, if we give the mass a periodic small push at the right moment in its oscillation cycle, its amplitude can increase, and even diverge. To see how this works we study the driven oscillator, where we apply a periodic driving force

    \[F_{\mathrm{D}}(t)=F_{\mathrm{D}} \cos \left(\omega_{\mathrm{D}} t\right)=\frac{1}{2} F_{\mathrm{D}}\left(e^{i \omega_{\mathrm{D}} t}+e^{-i \omega_{\mathrm{D}} t}\right).\]

    Adding this driving force to the equation of motion 8.2.1 of a damped harmonic oscillator, we obtain:

    \[\ddot{x}+2 \omega_{0} \zeta \dot{x}+\omega_{0}^{2} x=\frac{F_{\mathrm{D}}}{2 m}\left(e^{i \omega_{\mathrm{D}} t}+e^{-i \omega_{\mathrm{D}} t}\right) \label{drivenharmosc}\]

    We already know the homogeneous solution to Equation \ref{drivenharmosc} - that’s just the damped oscillator again, so depending on the value of \(\zeta\), we get one of the three possible solutions of the previous section. To find a particular solution, we first note that we can split the driving term in two - if we have a particular solution for each of the oscillating exponentials, we can simply add them. Also, these exponentials themselves look very similar to the underdamped solutions, so they may make a good guess for a particular solution. For a right-hand side of \(\left(F_{\mathrm{D}} / 2 m\right) e^{ \pm i \omega_{\mathrm{D}} t}\) we therefore try \(x_{\mathrm{p}}=A e^{ \pm i \omega_{\mathrm{D}} t}\). Substituting this into Equation \ref{drivenharmosc} with the appropriate right-hand side, we get:

    \[A\left(-\omega_{\mathrm{D}}^{2} \pm 2 i \omega_{0} \zeta \omega_{\mathrm{D}}+\omega_{0}^{2}\right) e^{ \pm i \omega_{\mathrm{D}} t}=\frac{F_{\mathrm{D}}}{2 m} e^{ \pm i \omega_{\mathrm{D}} t}\]

    so we find that we have indeed a solution if the amplitude is given by

    \[A\left(\omega_{\mathrm{D}}\right)=\frac{F_{\mathrm{D}}}{2 m\left(\omega_{0}^{2} \pm 2 i \omega_{0} \zeta \omega_{\mathrm{D}}-\omega_{\mathrm{D}}^{2}\right)}\]

    The full particular solution of Equation \ref{drivenharmosc} is then given by

    \[\begin{aligned} x_{\mathrm{p}}(t) &=\frac{F_{\mathrm{D}}}{2 m}\left[\frac{e^{i \omega_{\mathrm{D}} t}}{\omega_{0}^{2}+2 i \omega_{0} \zeta \omega_{\mathrm{D}}-\omega_{\mathrm{D}}^{2}}+\frac{e^{-i \omega_{\mathrm{D}} t}}{\omega_{0}^{2}-2 i \omega_{0} \zeta \omega_{\mathrm{D}}-\omega_{\mathrm{D}}^{2}}\right] \\ &=\frac{F_{\mathrm{D}}}{m}\left[\frac{\left(\omega_{0}^{2}-\omega_{\mathrm{D}}^{2}\right) \cos \left(\omega_{\mathrm{D}} t\right)+2 \omega_{0} \zeta \omega_{\mathrm{D}} \sin \left(\omega_{\mathrm{D}} t\right)}{\left(\omega_{0}^{2}-\omega_{\mathrm{D}}^{2}\right)^{2}+4 \omega_{0}^{2} \zeta^{2} \omega_{\mathrm{D}}^{2}}\right] \\ &=\frac{F_{\mathrm{D}}}{m R\left(\omega_{\mathrm{D}}\right)} \cos \left(\omega_{\mathrm{D}} t-\phi\left(\omega_{\mathrm{D}}\right)\right) \end{aligned}\]

    where the factor \(R(\omega_{\mathrm{D}})\) in the amplitude is defined by

    \[R^{2}\left(\omega_{\mathrm{D}}\right)=\left(\omega_{0}^{2}-\omega_{\mathrm{D}}^{2}\right)^{2}+4 \omega_{0}^{2} \zeta^{2} \omega_{\mathrm{D}}^{2}\]

    and the phase \(\phi\left(\omega_{\mathrm{D}}\right)\) by \(\cos \phi=\left(\omega_{0}^{2}-\omega_{\mathrm{D}}^{2}\right) / R\left(\omega_{\mathrm{D}}\right), \sin \phi=2 \omega_{0} \zeta \omega_{\mathrm{D}} / R\left(\omega_{\mathrm{D}}\right)\), so

    \[\tan \left(\phi\left(\omega_{\mathrm{D}}\right)\right)=\frac{2 \omega_{0} \zeta \omega_{\mathrm{D}}}{\left(\omega_{0}^{2}-\omega_{\mathrm{D}}^{2}\right)}\]

    Resonance, a large response of the harmonic oscillator to a small driving force, occurs when \(x_{\mathrm{p}}(t)\) blows up, or \(R\left(\omega_{\mathrm{D}}\right)\) goes to zero. That does not always happen, but \(R\left(\omega_{\mathrm{D}}\right)\) can reach a minimum at which the amplitude becomes large:

    \[0=\frac{\mathrm{d} R^{2}}{\mathrm{d} \omega_{\mathrm{D}}}=-4\left(\omega_{0}^{2}-\omega_{\mathrm{D}}^{2}\right) \omega_{\mathrm{D}}+8 \omega_{0}^{2} \zeta^{2} \omega_{\mathrm{D}}\]

    which is at

    \[\omega_{\mathrm{D}}^{2}=\omega_{0}^{2}-2 \omega_{0}^{2} \zeta^{2}\]

    or \(\omega_{\mathrm{D}} \simeq \omega_{0}\) if the damping factor \(\zeta\) is small. Note that in this same limit (small \(\zeta\)), we find that when \(\omega_{\mathrm{D}} \simeq \omega_{0}\), \(\tan \phi \rightarrow \infty\), so \(\phi \rightarrow \pi / 2\). Therefore, in this case the driving happens out of phase with the response, that is to say, you push hardest when the mass is at its point of maximum speed, increasing that speed even further, and leading to an increase in amplitude. In practice, this is what kids do when they sit on a swing: they fling back their legs when they go through the lowest point (maximum speed) going backwards, and fling their legs forward at the same point when going forwards, increasing their speed and thus amplitude.


    This page titled 8.3: Driven Harmonic Oscillator is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Timon Idema (TU Delft Open) via source content that was edited to the style and standards of the LibreTexts platform.