0% found this document useful (0 votes)
645 views451 pages

Engineering Dynamics A Basic Introduction Hjelmstad 2025

Uploaded by

gökhan yaşlak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
645 views451 pages

Engineering Dynamics A Basic Introduction Hjelmstad 2025

Uploaded by

gökhan yaşlak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 451

Keith D.

Hjelmstad

Engineering
Dynamics
A Basic Introduction

@seismicisolation
@seismicisolation
Engineering Dynamics

@seismicisolation
@seismicisolation
Keith D. Hjelmstad

Engineering Dynamics
A Basic Introduction

@seismicisolation
@seismicisolation
Keith D. Hjelmstad
Ira A. Fulton Schools of Engineering
Arizona State University
Tempe, AZ, USA

ISBN 978-3-031-56375-1 ISBN 978-3-031-56376-8 (eBook)


https://doi.org/10.1007/978-3-031-56376-8

© The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland
AG 2025

This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether
the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse
of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and
transmission or information storage and retrieval, electronic adaptation, computer software, or by similar
or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication
does not imply, even in the absence of a specific statement, that such names are exempt from the relevant
protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book
are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or
the editors give a warranty, expressed or implied, with respect to the material contained herein or for any
errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.

This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland

If disposing of this product, please recycle the paper.

@seismicisolation
@seismicisolation
In loving memory of David

@seismicisolation
@seismicisolation
Preface

Dynamics is a field hundreds of years old but still vital to the education of engineers
today, certainly in any branch of engineering based upon mechanics. What was once
the province of scientists and mathematicians pondering the motion of the planets
is now a staple of mechanical engineers designing robots to aid manufacturing,
aerospace engineers designing rockets and aircraft, structural engineers designing
buildings and bridges to withstand earthquakes, and forensic engineers searching
for the cause of the failure of a system. Dynamics provides a theoretical foundation
for many real-world engineering applications.
Newton’s laws have not changed in over three centuries, but the way we think
about those laws and the tools we use to explicate them have. Even since the
advent of Timoshenko’s engineering mechanics—the movement that established
mechanics as a core discipline to support engineering design—nearly a century
ago, there have been significant changes in the way we express the mathematics
and organize the computations associated with mechanics. During that time, we
have gone from humans computing by hand to a ubiquitous landscape of digital
computation. The question of how best to learn the ideas of mechanics as the
practice of engineering evolves remains open. This book is my response to that
question.
Engineering dynamics is a wildly successful and complete theory that simulates
well how the world works (at least as regards force and motion, and apart from
relativistic and quantum effects). This theory is accessible to engineering students in
their sophomore year, who are the primary target audience for this book. The value
of learning dynamics goes far beyond the notion of training students to directly
apply it, which many who study it will never do. So, while the nominal aim of
dynamics is to sort out position, velocity, and acceleration of bodies, one might think
of it also as a broad training program for thinking critically and productively about
engineering problems and their solutions. Almost all engineers eventually make a
living dealing with complex systems of one sort or another. The learning process
implicit in taking a dynamics problem from conceptualization through computation
is good preparation for dealing with future engineering problems that are likely to
be much more complicated, even if not as mathematically intense.

vii
@seismicisolation
@seismicisolation
viii Preface

The study of dynamics exercises concepts of math that most students remain
wobbly on after completing the requisite courses in calculus, linear algebra, and
differential equations, even if they did well. As I looked back on my own education, I
realized that engineering mechanics was where I really solidified my understanding
of the math that gives voice to mechanics. Using math to solve practical problems
offers the learner a chance to hone those tools in a context that solidly connects with
the real world. Developing better facility with math is useful in practice no matter
what you end up doing with it.
In this book, we focus on derivation of the equations of motion from first
principles based upon what we call the typical particle construction. You will learn
more about how dynamics works by building it from the ground up every time
than you ever will through finding a formula to plug into. We advocate for the
development of a clear geometry sketch as being as fundamental as a good free body
diagram. Quantitative sketching is, therefore, a huge part of the learning process in
dynamics. We focus on writing a description of the position vector in an essentially
Lagrangian framework for doing dynamics. Keeping the focus there aids learning
because most people can intuitively understand position more readily than they can
velocity or acceleration. Furthermore, this approach gives a natural way to deal with
many types of kinematic constraint. Only upon mastering this start-from-scratch
approach do we suggest moving on to the development and direct use of Euler’s
laws. In essence, we advocate learning dynamics by following the path that Euler
must have taken to generalize Newton’s ideas. This approach values understanding
why Euler’s laws are true above learning how to manipulate them in particular cases.
Throughout the book, direct vector notation is used to do the math. This approach
is a bit of a shift from many of the traditional textbooks, which seem anxious to
reduce equations to scalars as soon as possible. While students of dynamics are often
not yet fluent with vectors, the steady practice of using them will get them there.
Using vectors systematically, even for problems that might be simple enough to
work around them, opens up the vast advantages this notation can bring, particularly
in understanding the geometry of two- and three-dimensional space.
A unique feature of this book is the focus on using numerical computations to
generate results. Traditional textbooks are largely silent on computational methods
and even those that have included it treat it more as an afterthought than a central
learning objective. There is no question that solving problems by hand is vital to
learning mechanics. However, stopping at that point is a lost opportunity to see what
the equations of motion are really trying to tell us about how the system evolves.
Simply put, the computer is far better than the human at calculation. So, finding
every opportunity to offload computations to the computer should be taken. Further,
the discipline of coding up a solution strategy is a great way to fully understand
the details of the theory (not to mention troubleshooting the derivation). The logical
structure of computing fosters logical thinking about solving problems. Using the
code to study the problem at hand supports the goal of getting the student to see that
the purpose of doing mechanics is to gain insight into the response of the system
and not to memorize a recipe to prepare for an exam.

@seismicisolation
@seismicisolation
Preface ix

The focus on computation also brings the learner face to face with the task of
code verification. How do you know if your code is right? Grappling with that
issue promotes a different way of thinking about the code and the problem that
the code solves. It sheds new light on the role of exact classical solutions. Many
problems in dynamics do not have classical solutions, so the verification process
often requires creative approaches to deciding if the code works. Code verification
is an eminently practical and transferable skill that is nicely encapsulated in the
context of engineering mechanics where the results have clear physical meaning.
For the MATLAB codes included in the book, the functions responsible for
graphical output are not included. The results of those functions live in the figures
they generate. Most commercial codes have many more lines of code devoted to the
graphical user interface than to the core analytical engine. The purpose of this book
is to see the engine—to take a look under the hood—so that when you move on to
the world of commercial codes, you have some idea of what those codes are doing
with the theory. That said, the complete set of codes (including the ones that produce
the graphs shown in the book and, even better, the ones that produce animations) are
available by contacting the author at [email protected].
The book starts with an introduction to vector analysis. While most students have
already encountered vectors before they get to the course on dynamics, it is valuable
to begin here because so much of the subsequent development depends not just on
understanding what a vector is, but with developing fluency in the use of vectors
to solve mechanics problems. Throughout the book, we use a direct vector notation
because it provides the most compact derivations and the most geometric insight
about motion. This is a chapter to revisit any time a vector refresh is needed.
In Chap. 2 we cover particle dynamics. Most students have seen particle dynam-
ics in their first course on physics, but such courses usually only have a prerequisite
of differential calculus. The study of particle dynamics with access to the full
range of mathematics typically expected for a course in dynamics (calculus up
to and possibly including vector calculus, linear algebra, and ordinary differential
equations) provides an opportunity to see and do more. In some respects, this chapter
is a review of the basic physics. But, more importantly, it is an opportunity to learn
the notation and the typical particle construction used throughout the book before
adding the complexity associated with rigid body dynamics.
Chapter 3 is an introduction to rigid body dynamics wherein we start to
understand how the distribution of mass in a body affects how that body responds to
force. This and the next chapter focus on planar motion of rigid bodies because this
class of problems affords a good look at rotation without the machinery required to
manage it in the full glory of three dimensions. The new concepts we encounter in
Chap. 3 include summation of effects over all particles that comprise the body and
balance of angular momentum, neither of which is a part of particle mechanics as
presented in the previous chapter. The method of derivation of equations based on
the typical particle construction provides a vital connection between rigid bodies
and particle mechanics. In essence, this chapter starts a journey like the one Euler
must have taken in extending Newton’s laws to rigid bodies.

@seismicisolation
@seismicisolation
x Preface

Chapter 4 is a rehash of the ideas presented in Chap. 3, but with the goal of
creating a unified framework for deriving equations of motion. While Chap. 3
provides the necessary background to fully understand the derivations in Chap. 4,
the latter sheds important light on what might have seemed like arbitrary choices
when solving problems in the former. It is also a good warmup for the full three-
dimensional problem addressed in the chapter that follows it. In this chapter, we
encounter the key ideas of center of mass and the mass moment of inertia, which
had been implicit all along but not yet named. While many authors prefer to start by
defining and learning how to compute these quantities, we would rather see them
emerge naturally from balance of momentum and energy principles.
Chapter 5 treats the fully three-dimensional dynamic response of rigid bodies.
Although most undergraduate courses do not cover this topic, it is a natural evolution
of the approach advocated in this book. The derivations, based upon the typical
particle construction, follow along the same path first developed in earlier chapters.
The main challenge of dynamics in three dimensions is dealing with rotations, which
we do exclusively through Rodrigues’ formula for rotation in three dimensions. The
chapter ends with a few codes that show how to deal with rotation in the context of
numerical computations.
Chapter 6 introduces the Euler–Lagrange equations as a means to extend the
concepts of conservation of energy used earlier in the book. This topic relies on
the calculus of variations, but in a small enough dose that the reader does not
have to be acquainted with the subject previously to gain access to the ideas
presented here. The power of the Euler–Lagrange equations in deriving equations
of motion provides an important and useful counterpoint to the Newtonian balance
of momentum methods.
Chapter 7 focuses on the phenomenon of contact and impact, which is a topic
of central importance in mechanics. We take an approach of seeing rigid body
impact as a limiting case of impact between flexible bodies, the latter actually being
a harder problem to solve but an easier problem to visualize (especially with the
help of the many slow-motion videos available on the internet). Conservation of
momentum provides the framework for thinking about and solving impact problems.
We formulate impact problems as a time integral of the equations of motion over the
very brief time of impact (which goes to zero in the limit of rigid body impact). We
end the chapter with a computational framework for solving impact problems.
Chapter 8 covers the classical solution of vibration problems, starting with
systems with one degree of freedom and then extending to systems with two degrees
of freedom. Recognizing that dynamics problems most often result in nonlinear
differential equations, we learn how to linearize the equations to put them into a
form where the classical solution methods apply. We also focus on the fact that
vibration occurs around stable equilibrium configurations, and finding the solution
to the statics problem is often a key part of addressing a vibration problem.
There are several concepts that have a longitudinal span across the book—
concepts like numerical solution of differential equations, the solution of nonlinear
systems of algebraic equations, and eigenvalue problems. These concepts show up
in multiple places, so they are covered in a series of appendices.

@seismicisolation
@seismicisolation
Preface xi

Appendix A introduces Newton’s method for solving nonlinear algebraic equa-


tions. Almost all the problems we encounter in dynamics result in nonlinear
equations of motion. Time discretization converts these nonlinear differential
equations into nonlinear algebraic equations that are amenable to Newton’s method.
Throughout the book, the nonlinear formulations are reduced to residual and tangent
form as presented in this appendix. Creating a standard framework to deal with
nonlinearity helps to make it a natural feature of modeling dynamical systems.
Newton’s method requires the computation of the tangent matrix, which is generally
best done using the directional derivative. Appendix B covers the directional
derivative and provides some examples of how to calculate these derivatives.
Numerical solutions to differential equations provide an alternative to exact
classical methods. For many problems in dynamics, it is simply not possible to
find the solution by classical means. Hence, most traditional textbooks on dynamics
focus mainly on what we call snapshot dynamics, where the questions focus on a
single point in time and might ask something like, “Find the initial acceleration...”
or “Find the reaction force when the body has maximum kinetic energy.” Dynamics
is about the evolution of systems with time. Including numerical methods for
integrating differential equations opens the door to being able to solve any dynamics
problem. In this book, we use only the generalized trapezoidal rule for numerical
integration of differential equations. The background for this method is included as
Appendix C. While many numerical methods are available, picking one simple and
reliable method allows the reader to get comfortable with a unified computational
strategy.
Appendix D gives a brief introduction to the eigenvalue problem, which appears
in the context of principal values and principal directions of the mass moment of
inertia tensor and also in the context of vibration of systems with multiple degrees
of freedom.
The chapter-end problems are designed to help students walk through the process
of formulating equations of motion using the typical particle construction, using
what we call the mastery objectives to organize the calculations. The mastery
objectives include drawing a geometry of motion sketch, identifying initial condi-
tions, implementing constraints, writing mathematical expressions for the position,
velocity, and acceleration of the typical particle, drawing a free body diagram,
writing balance of linear and angular momentum equations, computing energy,
conserving momentum, conserving energy, and executing math tasks like vector
algebra, integrating over the domain of the body, and finding classical solutions to
differential equations when possible. Some concepts are better addressed through
computation, so in our teaching we employ a steady diet of open-ended computing
projects to cover certain topics (e.g., impact), to deal with solving problems with
nonlinear equations of motion, and to allow exploration of more complex systems.
Problems suited to the computational framework are labeled as computation in the
chapter-end problems.
This book started out as a set of course notes meant to support the pedagogical
framework of The Mechanics Project founded a decade ago and aimed at rethinking
how students learn statics, dynamics, and deformable solids. Initially, the project

@seismicisolation
@seismicisolation
xii Preface

was focused only on pedagogy, but it quickly became evident how difficult it is
to break away from approaches to learning mechanics that were established long
ago, in an era before computers when approaches to learning the subject reflected,
either directly or indirectly, a desire to keep calculations simple. Dynamics does
not always bend to simplicity, and oversimplification holds the risk of obscuring
why in favor of an expedient how. I created my own course materials because the
traditional textbooks were not sufficiently supportive of our learning philosophy and
goals, particularly in the areas of derivation, problem-solving strategy, mathematical
notation, and computational methods.
I am indebted to my colleagues Amie Baisley, Kristen Ward, and Efthalia
Chatziefstratiou, who have taught mechanics with me these many years in the
framework of The Mechanics Project using the material that grew to be this book.
I am also indebted to all the students who passed through the course, each one
providing a unique lesson on how humans learn.
Enjoy the book!

Tempe, AZ, USA Keith D. Hjelmstad


August 2023

@seismicisolation
@seismicisolation
Contents

1 Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 What Is a Vector? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Vector Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Algebra of Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Unit Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Base Vectors and Vector Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 Tensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.7 Projection and Component Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.8 Cross Product as a Tensor Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.9 Vector Calculus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.10 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.11 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2 Particle Mechanics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.1 Newton’s Laws of Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2 Kinematics of Particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3 Kinetics of Particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.4 Power, Work, and Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.5 Conservation of Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.6 Computation: Projectile Motion with Drag . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
2.8 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3 Rigid Body Motion in a Plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.1 Balance of Linear Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.2 Balance of Angular Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.3 Energy of a Rigid Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.4 Bodies with Mass Distributed Along a Line . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.4.1 The Typical Particle Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.4.2 Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.4.3 Kinetics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.4.4 Problems with Circular Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

xiii
@seismicisolation
@seismicisolation
xiv Contents

3.5 Bodies with Mass Distributed Over an Area . . . . . . . . . . . . . . . . . . . . . . . . . 106


3.5.1 Bodies with Rectangular Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.5.2 Bodies with Circular Geometry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
3.6 Computation: The Double Pendulum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
3.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
3.8 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4 Unifying Concepts for Planar Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
4.1 Kinematics of Planar Motion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
4.2 Balance of Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
4.2.1 Balance of Linear Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
4.2.2 Balance of Angular Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
4.2.3 Center of Mass. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
4.3 Arbitrary Reference Point for Moment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
4.4 Kinetic and Potential Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
4.5 Inertial Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
4.5.1 Parallel Axis Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
4.5.2 Composite Computation of Inertial Properties . . . . . . . . . . . . . . . 168
4.6 Computation: Inertial Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
4.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
4.8 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
5 Motion in Three Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
5.1 Description of Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
5.1.1 Velocity and Acceleration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
5.1.2 Rates of Change of the Rotation Tensor. . . . . . . . . . . . . . . . . . . . . . 190
5.1.3 Characterizing the Rotation Tensor . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
5.2 Balance of Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
5.2.1 Balance of Linear Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
5.2.2 Balance of Angular Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
5.2.3 Parallel Axis Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
5.2.4 Canonical Form of Euler’s Laws . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
5.2.5 Assumptions on Mass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
5.2.6 Linear and Angular Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
5.3 Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
5.3.1 Kinetic Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
5.3.2 Potential Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
5.3.3 Work and Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
5.4 Planar Motion Revisited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
5.5 Computation: Inertial Properties of Solid Bodies . . . . . . . . . . . . . . . . . . . . 221
5.5.1 Conversion of Volume Integrals to Surface Integrals . . . . . . . . 223
5.5.2 Integration over a Triangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
5.5.3 Code to Compute Inertial Properties of Solid Bodies . . . . . . . 232
5.6 Computation: Motion in Three Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . 235
5.6.1 Projectile Motion of Rigid Bodies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

@seismicisolation
@seismicisolation
Contents xv

5.6.2 Rotation of a Heavy Top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242


5.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
6 Euler–Lagrange Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
6.1 Calculus of Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
6.2 Principle of Least Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
6.3 Application of Euler–Lagrange Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
6.3.1 Simple Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
6.3.2 Simple Pendulum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
6.3.3 Pendulum with Mass Slider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
6.4 Conservation of Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
6.6 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
7 Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
7.1 Impulse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
7.2 Modeling Impact. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
7.2.1 Impact of Two Particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
7.2.2 Conservation of Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
7.2.3 A Practical Approach to Impact Problems . . . . . . . . . . . . . . . . . . . 289
7.2.4 Example: Ball Impacting Pendulum . . . . . . . . . . . . . . . . . . . . . . . . . . 292
7.2.5 Example: Sliding Block Hits an Obstacle . . . . . . . . . . . . . . . . . . . . 296
7.3 Computation: Particle Impacting a Surface . . . . . . . . . . . . . . . . . . . . . . . . . . 299
7.3.1 Equations of Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
7.3.2 Detection of Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
7.3.3 Interpolation to Find the Time of Contact . . . . . . . . . . . . . . . . . . . . 304
7.3.4 Resolution of Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
7.3.5 Implementation in Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
7.4 Computation: Impacting Pendulums. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
7.4.1 Detection of Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
7.4.2 Interpolation to Find the Time of Contact . . . . . . . . . . . . . . . . . . . . 317
7.4.3 Resolution of Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
7.4.4 Implementation in Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
7.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
7.6 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
8 Vibrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
8.1 The SDOF Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
8.2 Undamped Free Vibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
8.3 Damped Free Vibration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
8.4 Forced Vibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
8.4.1 Suddenly Applied Constant Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
8.4.2 Sinusoidal Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
8.5 Systems with Two Degrees of Freedom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
8.6 Generalization to N Degrees of Freedom . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
8.7 Computation: The Shear Building . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375

@seismicisolation
@seismicisolation
xvi Contents

8.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386


8.9 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
9 Answers to Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393

A Newton’s Method for Solving Nonlinear Algebraic Equations . . . . . . . . . 401


A.1 Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
A.2 Systems of Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404

B The Directional Derivative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411


B.1 Ordinary Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
B.2 Functionals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414

C Numerical Solution of Ordinary Differential Equations . . . . . . . . . . . . . . . . 417


C.1 Why Numerical Methods? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
C.2 The Generalized Trapezoidal Rule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
C.3 The Complete Set of Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
C.4 Computing Initial Acceleration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
C.5 Practical Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
C.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427

D The Eigenvalue Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429


D.1 The Algebraic Eigenvalue Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
D.2 The Characteristic Equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
D.3 Computing the Eigenvectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
D.4 Orthogonality of Eigenvectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437

@seismicisolation
@seismicisolation
Chapter 1
Vectors

The story of mechanics is best told in the language of vectors, even though when
Newton and Euler were laying the foundations of mechanics, vectors had not yet
been invented. As with many constructs in applied mathematics, the vector is an
object that can be manipulated with certain rules of algebra. From this perspective
it seems like the main task is to learn those rules and abide by them. At a deeper
level, like any language, vectors provide a means of describing our natural world—
especially geometry—in a way that gives the notation special significance. Indeed,
vectors provide the very best means of describing the geometry of motion that forms
the basis of the subject of dynamics. Hence, fluency in the language of vectors
should be a prime first objective of any student of dynamics. The investment in
gaining this fluency pays back repeatedly throughout the study of the subject.
The purpose of this chapter is to review the concept of vectors and their operation
in order to prepare for the study of dynamics. Throughout the book we adhere
steadfastly to the notion that position, velocity, acceleration, and force are vectors,
and we will always denote them as such using direct vector notation. The strict
adherence to this notation might seem like overkill for problems with very simple
geometry (e.g., motion along a straight line), but as the problems get more complex,
the notation is essential to successful computation. As you gain facility with the
notation, the underlying geometry of dynamics becomes more readily visible. The
best way to learn vector notation is to use it. This chapter introduces the basic
elements, but every chapter in the book provides a lesson in vector analysis.

1.1 What Is a Vector?

A vector is a directed line segment. It has two properties: (1) magnitude and (2)
direction. We represent a vector with an arrow. The length of the arrow is the
magnitude, and the orientation of the arrow is the direction. Vectors are basic

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2025 1


K. D. Hjelmstad, Engineering Dynamics,
https://doi.org/10.1007/978-3-031-56376-8_1
@seismicisolation
@seismicisolation
2 1 Vectors

Fig. 1.1 Coordinate y


geometry. To describe the
location of a point in (4,3)
two-dimensional space, we
independently record distance 5
3
along the x axis and distance
along the y axis x
4

geometric building blocks that are part and parcel of how we view three-dimensional
space.
One way to begin to appreciate the power and utility of vectors is to contrast
them with scalars. Scalars live on the real line, where the only notion of direction
is positive and negative. The main distinction between two scalars is that one is
greater than, less than, or possibly equal to the other. When we endow scalars with
an algebra, then we can build a mathematical system that can do useful things like
solve quadratic equations and model compound interest. The magnitude of a vector
is a scalar, and, as such, it is a measure of whether one vector is longer than, shorter
than, or the same length as another.
What scalars cannot do is deal with direction in multiple dimensions. For
example, to describe the location of a point in two-dimensional space, we can use
coordinate geometry, as illustrated in Fig. 1.1. The point .(4, 3) requires two values—
the coordinates—to describe it, the first indicating how far to go in the x direction
(four units) and the second how far to √ go in the y direction (three units). The distance
from the origin to the point is .5 = 42 + 32 . But there are many points in two-
dimensional space that are a distance 5 from the origin. Hence, that single scalar
value is not enough to distinguish one point from another. We can always compute
the distance from the coordinates, but we cannot compute the coordinates from the
distance.
The preceding example is an invitation to how vectors might be useful in
describing quantities that live in two- or three-dimensional space. It is clear that the
three arrows in Fig. 1.1 point in different directions and that each is associated with
a different task. The lengths of the arrows are related by the Pythagorean theorem.
Two typical vectors, .u and .v, are shown in Fig. 1.2. They have different lengths
and point in different directions. We can see that those vectors have different
lengths and directions without laying out a coordinate system. Vectors, thought of
as directed line segments, do not rely on a coordinate system (in the same way that
the concept of temperature does not depend on whether you choose to describe it

u
v

Fig. 1.2 Vector definition. Vectors are directed line segments. They have direction and magnitude.
The figure shows two typical vectors: .u and .v

@seismicisolation
@seismicisolation
1.2 Vector Operations 3

v v
u u

u v u v

Fig. 1.3 Vector addition. The sum of the two vectors .u and .v to get the resulting vector .u + v. The
resultant vector is defined by the head-to-tail rule (left) or, equivalently, the parallelogram rule
(right)

with the Fahrenheit or Celsius scales). However, we will soon see that introducing a
coordinate system and components will be essential to working with vectors.

1.2 Vector Operations

Vectors are mathematical objects. To be useful, they must be endowed with


operational characteristics (i.e., addition, subtraction, and multiplication). In this
section, we define those operations.
Vector Addition Vector addition is defined by the head-to-tail rule (also known as
the parallelogram rule), shown Fig. 1.3. Adding .u to .v results in the vector .u + v.
Geometrically, the resultant vector extends from the tail of .u to the tip of .v. Vectors
can always be added in this manner. The reason that vector addition is also referred
to as the parallelogram rule is evident from Fig. 1.3. If we create a parallelogram
by adding sides parallel to and of the same length as the vectors .u and .v, then the
vector along the diagonal of the parallelogram is the sum of the two vectors.
Now imagine a vector .v that when added to .u gives zero (there and back again).
To wit,

u+v=0
. ⇒ v = −u (1.1)

Hence, the negative of a vector is that same vector just pointing in the opposite
direction, as shown in Fig. 1.4.
In order for Eq. 1.1 to make sense, we must define the zero vector, which is
designated as .0. The zero vector has zero length. Interestingly, that implies that it
does not have a direction (or perhaps it has a direction, but it does not matter because
the length is zero). The zero vector added to any other vector .u in the space will give
back that same vector, i.e., .u+0 = u. The zero vector is important because the scalar

Fig. 1.4 A vector and its


negative. The negative of the u
vector .u is the vector .−u. A
vector and its negative sum to u
the zero vector

@seismicisolation
@seismicisolation
4 1 Vectors

Fig. 1.5 Vector subtraction. v


The difference of two vectors
v
.u and .v is the sum of the
u v u
vector .u and the negative of
the vector .v
u v

zero is not sufficient to describe when an operation on vectors happens to produce


the zero vector. When you add two vectors together, you get another vector (not a
scalar).
Vector Subtraction The definition of the negative of a vector allows us to define
vector subtraction to be vector addition with the negative of the second vector, i.e.,
( )
u − v = u + −v
.

This operation is illustrated in Fig. 1.5 with the vector .v both added to (as it was
in Fig. 1.3) and subtracted from the vector .u to get the sum and difference of the
vectors, respectively.

Vector Multiplication Unlike scalars, there are several ways to multiply vectors.
The ones that we will use most frequently in dynamics are multiplication by a
scalar, the dot product (also known as the inner product or scalar product), the cross
product, and the tensor product (also known as the outer product). The context will
always clarify which operation we need. For example, we will use the dot product
to compute energy and to project vector equations along certain directions. We will
use the cross product to define moments. The tensor product will show up when we
define inertial properties of bodies. We shall denote the various vector multiplication
with the following notation

au multiplication by a scalar
u·v dot (inner, scalar) product
.
u×v cross product
u⊗v tensor (outer) product

where .u and .v are any two vectors and a is a scalar. Both the dot product and cross
product are related to the angle between the vectors. The dot product results in a
scalar. The cross product results in a vector that is perpendicular to both of the
original vectors. The tensor product of vector results in a tensor, which is an object
we will discuss later in the chapter.

Multiplication of a Vector by a Scalar A vector can be multiplied by a scalar, i.e.,


u → au, as shown in Fig. 1.6a. The result simply changes the length of the vector
.

by multiplying the magnitude by the scalar a. Multiplication of a vector by a scalar


does not change the direction of the vector. Since we have defined the negative of

@seismicisolation
@seismicisolation
1.2 Vector Operations 5

v u v
A
u v
au

(a) (b) u (c)


u

Fig. 1.6 Vector multiplication. (a) A vector .u multiplied by a scalar a. (b) The dot product between
two vectors .u and .v is equal to the cosine of the angle .θ between them multiplied by the lengths of
the two vectors. (c) The cross product of two vectors .u and .v is a vector perpendicular to both with
magnitude A, which is the area of the parallelogram defined by the two vectors

a vector to simply be the vector pointing in the opposite direction, we can interpret
negative values of the scalar multiplier a as first changing the length of the vector
(using the absolute value of a) and then reversing the direction.
Dot Product The dot product can be defined through the equation

.u · v = ||u|| ||v|| cos θ (1.2)

where .θ is the angle between the two vectors, as shown in Fig. 1.6b, and .|| • || means
the magnitude of .•. We can prove this relationship by first noting that the magnitude
of a vector is the square root of the vector dotted with itself. To wit,

u = ||u|| =
. u·u

where we have defined u as the magnitude of the vector .u. Now, consider the
situation shown in Fig. 1.7. The sketch on the left shows the sum of two vectors
.u and .v and the angle .θ between them. The sketch on the right shows two right

triangles derived from the sketch on the left. By the Pythagorean theorem, we can
write

u v u v
v v sin
v

u
u v cos

Fig. 1.7 Proof of the dot product formula. The dot product can be defined in terms of the cosine
of the angle between vectors and their lengths

@seismicisolation
@seismicisolation
6 1 Vectors

( )2 ( )2
||u + v||2 = ||u|| + ||v|| cos θ + ||v|| sin θ
. = ||u||2 + 2 ||u||||v|| cos θ + ||v||2 cos2 θ + ||v||2 sin2 θ (1.3)

= ||u||2 + 2 ||u||||v|| cos θ + ||v||2

where we have noted that .sin2 θ + cos2 θ = 1. We can also write the square of
the length of the sum of the two vectors using the dot product and distributing the
products. To wit,
( ) ( )
||u + v||2 = u + v · u + v
. =u·u+u·v+v·u+v·v (1.4)
= ||u|| + 2 u · v + ||v||
2 2

where we have made use of the fact that the dot product is commutative, i.e.,
u · v = v · u. It should be evident by comparing Eq. 1.3 with Eq. 1.4 that Eq. 1.2
.

holds. Observe that Eq. 1.4 provides a route to defining the dot product of vectors as
( )
.u·v= 1
2 ||u + v||2 − ||u||2 − ||v||2 (1.5)

The interesting feature of this equation is that it defines the dot product of vectors
without explicitly referring to the angle .θ , as in Eq. 1.2. The subtle implication is
that the dot product actually gives a route to defining the cosine of the angle .θ . If we
substitute .u · v = ||u||||v|| cos θ , then Eq. 1.5 is the law of cosines, .c2 = u2 + v 2 +
uv cos θ , where .c = ||u + v||, which is often written in terms of the complement of
the angle .β = π − θ as .c2 = u2 + v 2 − uv cos β.
It may have seemed odd to simply declare the length of a vector as the square
root of the vector dotted with itself. However, we can use Eq. 1.2 to verify that this
assertion is consistent with our definition of the dot product. If we let .v = u, and
note that .cos(0) = 1, then Eq. 1.2 gives .u · u = ||u||2 .
Cross Product The cross product of vectors is one of the more mysterious ways
to multiply vectors. The cross product of .u and .v is a vector with magnitude equal
to the area of the parallelogram defined by the two vectors (denoted A in Fig. 1.6c),
pointing in a direction that is perpendicular to both .u and .v. We will put a finer point
on how to compute the cross product of vectors once we introduce base vectors and
vector components.
Tensor Product of Vectors There is another way of multiplying two vectors that is
important to mechanics. It is called the tensor product or outer product of vectors.
Symbolically, we will denote the tensor product between vectors .u and .v as .u ⊗ v.
To understand what the tensor product is, we need to understand what it does. The
fundamental operation of the tensor product is defined by

@seismicisolation
@seismicisolation
1.3 Algebra of Vectors 7

Fig. 1.8 Triple scalar


product. The triple scalar w
product .(u × v) · w is the
volume of the parallelepiped
whose edges are defined by
v
the three vectors

( )
[u ⊗ v]w = u v · w
. (1.6)

for any arbitrary vector .w. The tensor product produces a vector equal to .u
multiplied by the scalar .v · w. Note that we can put the scalar either in front of
the vector .u or after it without changing the value. Hence, we can also write Eq. 1.6
as .[ u ⊗ v ]w = (v · w)u.
Triple Scalar Product There is one more product involving vectors that appears
in many important applications. It is not a new way to multiply vectors but rather
a cross product of two vectors followed by a dot product with a third vector. We
define the triple scalar product as
( )
. u×v ·w (1.7)

It is important to group the cross product of vectors together because the cross
product must be between two vectors and the cross product produces a vector. The
triple scalar product obeys the cyclic reordering of the vectors
( ) ( ) ( )
.u×v ·w= w×u ·v= v×w ·u

Because .u × v = −v × u, any reordering of the vectors that is not cyclic changes


the sign of the triple scalar product. Note also that if any vector appears twice in the
triple scalar product, e.g., .(u × v) · u, then the result is zero. The reason is simple.
The cross product produces a vector perpendicular to both vectors crossed. If we
then dot that result with either one of the original vectors, then we get zero because
they are perpendicular to each other.
The geometric significance of the triple scalar product is that it gives the volume
of the parallelepiped whose edges are defined by the three vectors, as illustrated in
Fig. 1.8.

1.3 Algebra of Vectors

Vectors obey algebraic rules, many of which are analogous to algebraic rules for
scalars. There are operations one can perform on scalars that are not defined for

@seismicisolation
@seismicisolation
8 1 Vectors

vectors. For example, you cannot square a vector (or raise a vector to any power)
and you cannot divide by a vector. Vectors also have some additional sensitivity
relative to order of operation and order of appearance of terms in an expression. In
this section, we review the rules of vector algebra.
Vector addition is associative, i.e.,
( ) ( )
.u+v +w=u+ v+w (1.8)

where .u, .v, and .w are any three vectors. Further, when adding vectors together
with the head-to-tail rule, it does not matter what order they appear in the sum. For
example, .u + v + w = w + v + u. Addition of multiple vectors can be defined by
adding two vectors to get a vector and then adding that result to the next vector, etc.
Vector multiplication is distributive, i.e.,
( )
a + b u = au + bu

a(u + v) = au + av
( )
. u· v+w = u·v+u·w (1.9)
( )
u× v+w =u×v+u×w
( )
u⊗ v+w =u⊗v+u⊗w

Both vector addition and the dot product are commutative, i.e.,

u+v=v+u
. (1.10)
u·v=v·u

In other words, the order of appearance does not matter for these operations. The
cross product is anticommutative or skew-symmetric in the sense that changing the
order of the two vectors in the product changes the algebraic sign of the result, i.e.,

u × v = −v × u
. (1.11)

The resulting vector has the same magnitude but points in the opposite direction.
The tensor product is not commutative, i.e., .u ⊗ v /= v ⊗ u .
Vector multiplication satisfies the following properties relative to operations with
scalars:

(au) · (bv) = ab (u · v)

. (au) × (bv) = ab (u × v) (1.12)


(au) ⊗ (bv) = ab (u ⊗ v)

@seismicisolation
@seismicisolation
1.4 Unit Vectors 9

where .u and .v are vectors and a and b are scalars. This property implies that the
scalars a and b can be moved across the vector multiplication operations without
changing the result, which will be useful in carrying out practical computations.

1.4 Unit Vectors

The most common next step for vector operations is to lay out a coordinate system,
talk about components, and give the formula for each vector operation in terms of
the components of the vectors. That misses the great opportunity to dwell on the
intrinsic geometry of vectors. What we will do here is focus on unit vectors (.m, .n,
and .p in Fig. 1.9) to explore their geometric significance. Next we will define unit
base vectors, and then we will talk about components.
Because a unit vector has length one, the only interesting role it plays is setting
direction. You can gain a lot of insight from vectors apart from their magnitudes,
which can always be adjusted with a scalar multiplier. The dot and cross product of
unit vectors, for example, can be expressed as

m · n = cos θ
. m × n = sin θ p (1.13)

where .θ is the angle between the vectors and .p is a unit vector orthogonal to both
m and .n, as shown in Fig. 1.9. From these results, we can see what it means if the
.

vectors are orthogonal (.θ = π/2) or point in the same direction (.θ = 0):

θ =0 θ = π/2
. m·n=1 m·n=0
m×n=0 m×n=p

The dot product helps to quantify orthogonality, and the cross product helps to
quantify the idea of pointing in a direction perpendicular to the plane that holds the
original two vectors. Vectors that point in the same direction are called collinear or
parallel. We will also see that the dot product is related to the concept of projection
and the cross product to the computation of area.
Unit Orthogonal Base Vectors To describe any problem in dynamics, we need
to establish an inertial reference frame (a frame that does not accelerate). In most

Fig. 1.9 Unit vectors. The dot and cross products are related to the cosine and sine of the angle .θ
between them, respectively. The unit vector .p is perpendicular to both .m and .n

@seismicisolation
@seismicisolation
10 1 Vectors

Fig. 1.10 Unit orthogonal e3


base vectors. The unit
orthogonal vectors
.{e1 , e2 , e3 } establish a basis
e2
for three-dimensional space
e1

cases, this frame will be one that is fixed in space. For that frame, we need to know
what it means to be pointing in certain directions, and we need building blocks to
describe vectors in the space. A set of orthogonal unit base vectors provides a way
to do that. As shown in Fig. 1.10, the three vectors .{e1 , e2 , e3 } establish a basis for
all vectors in the space.1
For the unit orthogonal base vectors, the dot and cross products are very simple.
All of the possible dot products between base vectors can be summarized as follows:

e 1 · e1 = 1 e 1 · e2 = 0 e 1 · e3 = 0
. e 2 · e1 = 0 e 2 · e2 = 1 e 2 · e3 = 0 (1.14)
e 3 · e1 = 0 e 3 · e2 = 0 e 3 · e3 = 1

Similarly, all of the possible cross products between base vectors can be summarized
as follows:

e1 × e1 = 0 e1 × e2 = e3 e1 × e3 = −e2
. e2 × e1 = −e3 e2 × e2 = 0 e2 × e3 = e1 (1.15)
e3 × e1 = e2 e3 × e2 = −e1 e3 × e3 = 0

Note that the dot product is commutative—changing the order of the vectors in the
operation gives the same result. The cross product is anticommutative—changing
the order of the vectors changes the algebraic sign of the result. We will see that
all formulas for the dot and cross product are a consequence of these relationships.
In our work, we will usually set up the calculation so that the only dot or cross

1 We eschew the traditional notation of .i, .j, and .k for the base vectors in favor of .e1 , .e2 , and .e3 .
Why expend three perfectly good symbols when you can put subscripts on one symbol? The origin
of the .{i, j, k} system came from Sir William Rowan Hamilton (1805–1865), who was trying to
extend to three dimensions the concept of complex numbers, .a + bi, where .i is the imaginary unit
satisfying .i2 = −1. The imaginary numbers can be thought of as a two-dimensional vector space
with the x axis being the real part and the y axis being the imaginary part. Hamilton came up with
the idea of quaternions, .a +bi+cj+dk, as the extension of complex numbers to three-dimensional
space. Thus, the addition of .j and .k to .i seemed natural (at the time). In fact, he was so excited about
the idea that he carved the quaternion rules .i2 = j2 = k2 = ijk = −1 into the stone Brougham
Bridge in Dublin, Ireland, on the day the inspiration hit him. Eventually, the concept of vectors,
originated by Josiah Willard Gibbs (1839–1903), won out as the best way to deal with algebra in
three dimensions. Quaternions have recently reemerged in computer graphics applications because
of their efficient handling of rotation in three dimensions.

@seismicisolation
@seismicisolation
1.5 Base Vectors and Vector Components 11

Fig. 1.11 Clock face. The


clock face defines cyclic and 1
acyclic order for the cross cyclic
product. Clockwise is cyclic acyclic
order and counterclockwise is
acyclic order 3 2

products we compute will involve unit vectors, and often the standard unit base
vectors, obviating the need to memorize component formulas.
One way to remember the results for the cross products of base vectors is that
if the indices in the equation are in cyclic order, i.e., (1, 2, 3) or (2, 3, 1) or (3, 1, 2),
then the result is positive. If the indices in the equation are in acyclic order, i.e.,
(3, 2, 1) or (2, 1, 3) or (1, 3, 2), then the result is negative. A simple device is to put
the numbers 1, 2, and 3 on a clock face in clockwise order, as shown in Fig. 1.11.
Cyclic order is then clockwise, and acyclic order is counterclockwise. The algebraic
sign on the result is determined by the direction one must go on the clock face
from the first vector to the second. For example, .e3 × e2 goes in the direction .3 → 2,
which is counterclockwise, or acyclic. The vector subscript for the result is the next
number on the clock face in the sequence determined by the first two. In this case,
1 follows (3, 2) in the acyclic sequence (3, 2, 1). Therefore, the result is .−e1 . One
can also appeal to the right-hand rule as a device to determine the direction of the
vector resulting from a cross product. The right-hand rule says that if the fingers of
your right hand curl from the first vector to the second, then your thumb points in
the direction of the result.

1.5 Base Vectors and Vector Components

We shall assume that the base vectors point in the positive directions of the coor-
dinate axes. This convention connects the base vectors and the coordinate system.
Any vector in three-dimensional space can be expressed as a linear combination of
the base vectors .{e1 , e2 , e3 }. The associated scalar multiplier for each base vector is
called the component of the vector. It is important to remember that vectors do not
require a coordinate system, but components do.
Consider the vector .x shown in Fig. 1.12. The components of the vector (i.e.,
.x1 , x2 , x3 ) are scalar quantities, often functions of time in dynamics, that describe

how far the vector .x extends in each coordinate direction. The vector can then be
thought of through scalar multiplication of vectors combined with the normal head-
to-tail rule for vector addition. To wit,

x = x1 e1 + x2 e2 + x3 e3
. (1.16)

@seismicisolation
@seismicisolation
12 1 Vectors

Fig. 1.12 Vector x2


components. The unit vectors x1
.{e1 , e2 , e3 } establish a basis x x
for three-dimensional space.
The components of a vector .x e3
are .x1 , .x2 , and .x3 , which are x3
the lengths of the sides of the e2 x3e3
rectangular parallelepiped
shown
e1 x1e1
x2e 2

Example 1.1 Analogy. Imagine you need to deliver a package to a certain


location in the city. Wanda only knows how to move one unit West and Ned
only knows how to move one unit North. You give them each instructions on
how far to move. You tell Wanda to go 5 units, hand the package to Ned, and
then tell Ned to go 7 units.
Wanda and Ned are the base vectors—they are associated with direction.
Your instructions are the components—they describe how far in each direction
you need to go to get the job done. Base vectors are specialists in their own
direction and await instructions from the components on how far to extend in
that direction. The handoff is the head-to-tail strategy and takes place when
Wanda gets to the end of her journey and Ned is at the beginning of his. If you
have a complete set of base vectors, then you can get to any point in space.

In the previous analogy, you might wonder how Ned got to the place where
Wanda ended up. The base vectors do not have their tails fixed at any particular
location. They only carry information about direction and can be transported to
the place where they are needed. The vectors that represent physical quantities,
from which we build our equations of mechanics, generally do have an associated
geometric location. For example, the position vector always has its tail at the origin
because its job is to tell us location relative to that origin. It is also possible to
define a vector that describes position relative to another point in space, and that
point might be moving. A force is generally applied at a certain location on a body.
Sometimes we will show the head of the arrow at the point of application of the
force in a free body diagram and sometimes the tail, just to keep the sketch looking
clean. In each circumstance, the figure should make clear what the role of the vector
is geometrically and how it is related to other vectors when it comes time to operate
on them.

@seismicisolation
@seismicisolation
1.6 Tensors 13

1.6 Tensors

The tensor product of vectors provides an opening to discuss another very important
mathematical object that is very closely related to vectors. A tensor is an object
that operates on a vector and produces another vector. The definition of the tensor
product of vectors is a case in point. In the relationship
( )
[u ⊗ v]w = u v · w
. (1.17)

the object .[ u ⊗ v ] is a tensor, which is operating on the vector .w. The right side
of the equations shows that the result of the operation is a vector. But the tensor
product of vectors is not the only case of a tensor. If we look at all the combinations
of the tensor products of the three base vectors, i.e., .[ ei ⊗ ej ], we can see that there
are nine of them. These nine tensors provide a basis for expressing general tensors.
In fact, we can write a general tensor .T in the form


3 ⎲
3
| |
T=
. Tij ei ⊗ ej
i=1 j =1

The scalars .Tij are the components of the tensor and .[ ei ⊗ ej ] is the base tensor
associated with the component .Tij . We can store the components of a tensor in a
matrix, with i being the row index and j being the column index. To wit,
⎡ ⎤
T11 T12 T13
.T = ⎣ T21 T22 T23 ⎦

T31 T32 T33

It is not really correct to set a tensor equal to a matrix of its components, because the
components depend upon the basis and the matrix representation has no way to tell
us that the basis is the set of tensors .[ ei ⊗ ej ]. However, for most of the applications
of tensors in this book, the basis will be understood, and we will not distinguish
between tensor and matrix notation unless it is ambiguous.
With the index convention set up, the operation of a tensor on a vector is the same
as matrix multiplication, i.e.,
⎡ ⎤⎧ ⎫
T11 T12 T13 ⎨v1 ⎬
.Tv = ⎣ T21 T22 T23 ⎦ v
⎩ 2⎭
T31 T32 T33 v3

Notice that the result is a vector.

@seismicisolation
@seismicisolation
14 1 Vectors

Example 1.2 Write the tensor product of vectors .[ u ⊗ v ]w in matrix nota-


tion. Find the components of the tensor .[ u ⊗ v ].
First, write the components of vectors .u, .v, and .w in matrix notation as
⎧ ⎫ ⎧ ⎫ ⎧ ⎫
⎨u1 ⎬ ⎨v1 ⎬ ⎨w1 ⎬
.{u} = u , {v} = v2 , {w} = w2
⎩ 2⎭ ⎩ ⎭ ⎩ ⎭
u3 v3 w3

where the notation .{u} means a column matrix holding the components of the
vector .u in the coordinate system with base vectors .{e1 , e2 , e3 }. The vector
components come from, e.g., .u = u1 e1 + u2 e2 + u3 e3 . One must be careful
in using this matrix notation .{u} because it assumes the base vectors without
explicitly referring to them. Now, we can write .{v}T to indicate a row matrix
holding the components of the vector .v. With this notation, we can write the
dot product of vectors as
⎧ ⎫
{ } ⎨w1 ⎬
v · w = {v}T {w} = v1 v2
. v3 w2 = v1 w1 + v2 w2 + v3 w3
⎩ ⎭
w3

following ordinary rules of matrix multiplication. Now, we can write Eq. 1.6
in the form
( )
[u ⊗ v]w = u v · w = {u}{v}T {w}
.

The last expression is a .3 × 1 matrix multiplying a .1 × 3 matrix multiplying a


3×1 matrix, all of which are compatible by the rules of matrix multiplication.
.

Matrix multiplication is associative. Therefore, we can either group the last


two of the three terms and compute a scalar (as we did for the dot product),
or we can group the first two terms and get a .3 × 3 matrix. From the latter, we
get
⎡ ⎤⎧ ⎫
| | u1 v1 u1 v2 u1 v3 ⎨w1 ⎬
. {u}{v}
T
{w} = ⎣ u2 v1 u2 v2 u2 v3 ⎦ w2
⎩ ⎭
u3 v1 u3 v2 u3 v3 w3

Just carry out the matrix multiplication and you will see that this gives the
same result as Eq. 1.6. In matrix language, we generally refer to .{u}{v}T as
the outer product of matrices, whereas .{v}T {w} is called the inner product.
As such, the inner product corresponds with the dot product of vectors and
the outer product corresponds with the tensor product
(continued)

@seismicisolation
@seismicisolation
1.6 Tensors 15

Example 1.2 (continued)


⎡ ⎤
u1 v1 u1 v2 u1 v3
.u ⊗ v = {u}{v} = ⎣ u2 v1 u2 v2 u2 v3 ⎦
T
(1.18)
u3 v1 u3 v2 u3 v3

Sometimes we will abbreviate the outer product as .uvT (i.e., omit the curly
brackets) to shorten the notation. To do so is a slight abuse of vector notation
and should only be used when the context makes it clear.

Example 1.3 Put the tensor .T = 3e1 ⊗ e2 + 2e2 ⊗ e3 + 4e3 ⊗ e1 + 7e3 ⊗ e3


into matrix form. Compute the vector that results from the tensor .T operating
on the vector .v = 2e1 + 6e3 .
The base tensor .[ ei ⊗ ej ] is associated with row i and column j of the
matrix. Therefore, the matrix representation of .T is
⎡ ⎤
0 3 0
.T = ⎣ 0 0 2 ⎦

4 0 7

Let us first do the operation of the tensor on the vector using tensor
notation. To wit,
| |( )
Tv = 3e1 ⊗ e2 + 2e2 ⊗ e3 + 4e3 ⊗ e1 + 7e3 ⊗ e3 2e1 + 6e3
| |
= 3e1 ⊗ e2 + 2e2 ⊗ e3 + 4e3 ⊗ e1 + 7e3 ⊗ e3 2e1
| |
+ 3e1 ⊗ e2 + 2e2 ⊗ e3 + 4e3 ⊗ e1 + 7e3 ⊗ e3 6e3
| ( ) ( ) ( ) ( )|
. = 6e1 e2 · e1 + 4e2 e3 · e1 + 8e3 e1 · e1 + 14e3 e3 · e1
| ( ) ( ) ( ) ( )|
+ 18e1 e2 · e3 + 12e2 e3 · e3 + 24e3 e1 · e3 + 42e3 e3 · e3

= 8e3 + 12e2 + 42e3

= 12e2 + 50e3

Notice that many of the terms drop out because the base vectors are
orthogonal. The same calculation in matrix notation is
(continued)

@seismicisolation
@seismicisolation
16 1 Vectors

Example 1.3 (continued)


⎡ ⎤⎧ ⎫ ⎧ ⎫ ⎧ ⎫
0 3 0 ⎨2⎬ ⎨(0)(2) + (3)(0) + (0)(6)⎬ ⎨ 0 ⎬
.Tv = ⎣ 0 0 2 ⎦ 0 = (0)(2) + (0)(0) + (2)(6) = 12
⎩ ⎭ ⎩ ⎭ ⎩ ⎭
4 0 7 6 (4)(2) + (0)(0) + (7)(6) 50

The values in the resulting matrix can be viewed as the components relative
to the understood basis. Hence, the result is the same as the previous one.

This example shows the connection between the tensor operations and the equiv-
alent matrix operations. It should be evident how powerful the matrix representation
of the tensor and its operations are. Tensor operations can always be mapped onto a
matrix representation.
Higher-Order Tensors The tensor we have described in this section is only one of
a larger family of tensors. It is what we call a second-order tensor. You can always
tell when a tensor is second order because its components have two indices (the row
and column indices) and two base vectors are involved in creating the tensor basis.
Higher-order tensors exist, and they show up in different applications. One that we
will encounter later in the book is a third-order tensor .[ u ⊗ v ⊗ w ]. The rule for
operation of this tensor on a vector is
| | | |( )
.u⊗v⊗w a= u⊗v w·a

This rule shows that a third-order tensor operates on a vector to produce a second-
order tensor. The important thing to notice is that the last vector listed in the tensor
product (.w in this case) is the one that gets dotted with the vector it is operating on
(.a in this case). It should be evident that one could construct a basis .[ ei ⊗ ej ⊗ ek ]
and that there would be 27 tensor components .Tij k needed to describe a general
third-order tensor.
Tensors come up a lot in dynamics, especially for general three-dimensional
motion. When they do, those less familiar with tensors will probably be best served
thinking of them through the matrix representation of the components and the
operations of matrix algebra.

1.7 Projection and Component Equations

Imagine a plane that has the property that the unit vector .n is normal to the plane.
What that means geometrically is that .n is orthogonal to every vector that lies in

@seismicisolation
@seismicisolation
1.7 Projection and Component Equations 17

Fig. 1.13 Projection of a


vector onto a plane. The v
n v
vector .v is projected onto a
plane with unit normal
vector .n
v

the plane. Thus, the dot product should have something to say about this geometry.
Suppose that we have a vector .v that was not contained in the plane, as shown in
Fig. 1.13. Can we find the part of .v that lies along the vector .n (and is, therefore,
normal to the plane) and the part of .v that is orthogonal to .n (and is, therefore,
contained in the plane)?
Because of the definition of the dot product, we can write:
II II
.v · n = IIv|| II ⇒ v|| = (v · n)n (1.19)

The vector .v|| is the projection of the vector .v onto .n. The magnitude of that vector
is .v · n and the direction is .n. To get the component of the vector in the plane, we
can use the head-to-tail rule. To wit,

v⊥ = v − v|| = v − (v · n)n
. (1.20)

Define the projection tensor .P as follows:

P = I − nnT
. (1.21)

The purpose of .P is to project any vector onto the plane with unit normal .n. If the
sun is straight up in the sky at noon, then .P produces the shadow of the vector on the
ground. To prove that the projection tensor does what it is designed to do, compute
its action on the vector .v as follows:

Pv = [ I − nnT ]v
= Iv − [ nnT ]v
. ( )
= Iv − n nT v
( )
=v− n·v n

The resulting vector is .Pv = v⊥ . To see that this vector lies in the plane, simply dot
it with .n to get
( ) ( ) ( )( )
.v⊥ · n = v − (n · v)n · n = v · n − n · v n · n = 0

since .n · n = 1.

@seismicisolation
@seismicisolation
18 1 Vectors

Component Equations We will use the dot product to manipulate our vector
equations of motion. Rather than write equations in component form, we will write
them in vector form. At the moment when we need to see the implication of, say,
an equation of motion in a certain direction, we will simply dot the vector equation
of motion with a unit vector pointing in the direction of interest, as the following
example illustrates.

Example 1.4 Consider the vector equation from Newton’s second law, i.e.,
F = ma. Express the vector equation as three scalar equations in the directions
.

of the base vectors.


We can write the force and acceleration vectors in component form relative
to the standard basis as

F = Fx e1 + Fy e2 + Fz e3
.
a = ax e1 + ay e2 + az e3

Now, we can write the vector equation of motion as


( )
Fx e1 + Fy e2 + Fz e3 = m ax e1 + ay e2 + az e3
.

We can dot this equation with, for example, .e1 . To wit,


( ) ( )
e1 · Fx e1 + Fy e2 + Fz e3 = e1 · m ax e1 + ay e2 + az e3
.
Fx = max

because .e1 · e1 = 1, .e1 · e2 = 0, and .e1 · e3 = 0. If we dot the vector equation


sequentially with the base vectors .e1 , .e2 , and .e3 we get three scalar equations:

Fx = max ,
. Fy = may , Fz = maz

While these equations form a perfectly acceptable interpretation of the initial


vector equation, it will not always be the case, especially in dynamics, that
the coordinate directions are the best choice for expressing the component
equations. We will generally leave the equations in vector form until it is
evident what the most natural mathematical next steps are.

In practice, when we compute with vectors, we generally do so in component


calculations. In fact, MATLAB is set up to deal with component calculations. Often
in derivations we will not need to use components, but in final calculations we
usually will. There are a couple of well-known formulas for computing the dot
and cross products in components. They are not just equations to be remembered,

@seismicisolation
@seismicisolation
1.7 Projection and Component Equations 19

they are results that emanate from doing the algebra of vectors represented with
components and base vectors. We will show how these component formulas are
derived in the following example, in which we examine the role of the base vectors
in computations by simply computing the dot and cross product of two vectors .u
and .v. This strategy works for finding component forms of any vector equation.

Example 1.5 Find the component equations for the dot and cross products of
vectors .u and .v.
The two vectors can be written in terms of their components relative to the
standard basis as

.u = u1 e1 + u2 e2 + u3 e3 , v = v1 e1 + v2 e2 + v3 e3

Compute the dot product:

u · v = (u1 e1 + u2 e2 + u3 e3 ) · (v1 e1 + v2 e2 + v3 e3 )

= u1 v1 (e1 · e1 ) + u1 v2 (e1 · e2 ) + u1 v3 (e1 · e3 ) +


.
u2 v1 (e2 · e1 ) + u2 v2 (e2 · e2 ) + u2 v3 (e2 · e3 ) +
u3 v1 (e3 · e1 ) + u3 v2 (e3 · e2 ) + u3 v3 (e3 · e3 )

where we have used the distributive property to expand the dot products of the
two vectors. The individual dot products of the base vectors evaluate to either
0 or 1. Thus, the final result has the form

u · v = u1 v1 + u2 v2 + u3 v3
. (1.22)

which is the standard formula for the dot product of vectors in component
form. Now compute the cross product:

u × v = (u1 e1 + u2 e2 + u3 e3 ) × (v1 e1 + v2 e2 + v3 e3 )

= u1 v1 (e1 × e1 ) + u1 v2 (e1 × e2 ) + u1 v3 (e1 × e3 ) +


.
u2 v1 (e2 × e1 ) + u2 v2 (e2 × e2 ) + u2 v3 (e2 × e3 ) +
u3 v1 (e3 × e1 ) + u3 v2 (e3 × e2 ) + u3 v3 (e3 × e3 )

where we have used the distributive law to expand the cross products of the
vectors. Each of the cross products of base vectors can be simplified in accord
with Eq. 1.15 to give the final result
(continued)

@seismicisolation
@seismicisolation
20 1 Vectors

Example 1.5 (continued)


u × v = (u2 v3 − u3 v2 ) e1 + (u3 v1 − u1 v3 ) e2 + (u1 v2 − u2 v1 ) e3
. (1.23)

The result is the standard formula for the cross product of vectors in
component form, which is sometimes written in the form
⎡ ⎤
e1 e2 e3
.u × v = det ⎣ u1 u2 u3 ⎦

v1 v2 v3

which is an abuse of mathematical notation, but a good way to remember the


formula for the cross product if you remember how to compute a determinant.
In most applications in this book, we will not need this general equation
for the components of the cross product of vectors because the computation
usually boils down to the cross product between unit vectors, which is the sine
of the angle between them multiplied by a unit vector perpendicular to both,
in accord with the right-hand rule.

1.8 Cross Product as a Tensor Operation

In most of the book, the cross product appears when computing moments of forces
in the balance of angular momentum. In Chap. 5, which concerns general three-
dimensional motion, the use of cross products gets a little more intense. To derive
some of the results, it is useful to look at the cross product as a tensor operating on
a vector. We can write the cross product between vectors .u and .v as

u × v = Uv
. (1.24)

where the tensor .U has components that can be written in matrix form as
⎡ ⎤
0 −u3 u2
.U = ⎣ u3 0 −u1 ⎦ (1.25)
−u2 u1 0

It is easy to show that the matrix multiplication gives the same result as the cross
product formula. To wit,

@seismicisolation
@seismicisolation
1.8 Cross Product as a Tensor Operation 21

⎡ ⎤⎧ ⎫ ⎧ ⎫
0 −u3 u2 ⎨v1 ⎬ ⎨u2 v3 − u3 v2 ⎬
. ⎣ u3 0 −u1 ⎦ v2 = u3 v1 − u1 v3
⎩ ⎭ ⎩ ⎭
−u2 u1 0 v3 u1 v2 − u2 v1

The most important property of .U is that it is antisymmetric, which means that


.U + UT = 0. Written another way, .UT = −U. This property is the tensor
manifestation of the anticommutative nature of the cross product, i.e., .v × u =
−u × v. We often write .U = skew(u), which simply implies the operation where
we take the components of the vector .u and put them in the appropriate locations in
the skew-symmetric tensor.
If all you have to do is compute a single cross product, this interpretation does not
have an advantage over the previous approaches. However, when there are multiple
successive cross products, ( there) is (an interesting advantage. The cross product is
not associative, i.e., .u × v × w /= u × v) × w. In fact, it is essential to denote the
association in any term that involves more than one cross product because otherwise
the product would be ambiguous.2 But if you have a triple cross product, it is often
essential to know what the aggregate effect of the two cross products is on the vector
.w at the right end of the line. Is it possible to compute something that tells you that

effect before .w gets involved in the computation (i.e., to have the operation on .w be
the very last step of the computation)?
The matrix form will allow us to accomplish the task. Let .U and .V be the
antisymmetric tensors associated with the vectors .u and .v (we call them axial
vectors of the associated tensor), in accord with Eq. 1.25. Now, we can write the
triple cross product as
( )
u × v × w = UVw
. (1.26)

Tensor (matrix) multiplication is associative, so we can compute .UV and then use
the result to operate on .w. It is straightforward to show that
( )
.UV = v ⊗ u − v · u I (1.27)

where .I is the .3 × 3 identity and .⊗ is the tensor (outer) product of vectors from
Eq. 1.18. The simplest way to prove this identity is to carry out the matrix operations
on both sides of the equal sign to verify that they give the same result. This result
can be used to prove that
( ) ( ) ( )
u× v×w = u·w v− u·v w
.

2 Contrast this situation with the triple scalar product .u · v × w, which is also not associative. It is
obvious that if you do the dot product first, then you get a scalar that cannot be crossed with a
vector.
( Thus,) you have no choice but to execute the cross product first. It is generally best to write
.u · v × w .

@seismicisolation
@seismicisolation
22 1 Vectors

( )
Example 1.6 Compute .z × z × w .
Using Eq. 1.27, defining antisymmetric tensor .Z such that .Zw = z × w,
we can compute as follows:
( )
z × z × w = ZZw
| ( ) |
. = z⊗z− z·z I w
( ) ( )
= z·w z− z·z w

This example also makes clear what the problem is with associativity and the
cross product. If you were to associate the first two vectors in the triple cross product
in this case, then you get the zero vector, because any vector crossed with itself is
zero. Thus, the overall result is zero because the zero vector crossed with any vector
gives the zero vector. That is clearly not how the product turns out in this case.
The vector .z × w is a vector perpendicular to both .z and .w. It cannot point in the
same direction as .z. Thus, the cross product between .z and .z × w cannot be the zero
vector (except in the special case .w = z, but then the first cross product would
already result in zero).
This approach will be used extensively in the chapter on general three-
dimensional motion to derive the equations of motion, showing the way to important
computations of properties like the mass moment of inertia.

1.9 Vector Calculus

In the context of dynamics, we will frequently need to differentiate and integrate


vectors. In the former case, the derivatives will most often be with respect to time.
In the latter case, the integrals will most often be with respect to a spatial variable
in support of summing up effects over particles that occupy a region of space. In
practice, one might visualize differentiation and integration of vectors as a process
done one component at a time. For example,

d dv1 dv2 dv3


. v(t) = e1 + e2 + e3
dt dt dt dt

where .v1 (t), .v2 (t), and .v3 (t) are the time-dependent components of the vector .v(t).
In essence, the task of differentiating the vector reduces to the task of differentiating
three scalar functions. Similarly, integration can be viewed in component form as
| | | |
. v(t) dt = v1 (t) dt e1 + v2 (t) dt e2 + v3 (t) dt e3

@seismicisolation
@seismicisolation
1.9 Vector Calculus 23

which holds for either definite integrals or indefinite integrals. As long as we


refer our vectors to the constant standard basis .{e1 , e2 , e3 }, then differentiation and
integration can be viewed this way.
We will have many occasions, especially during derivations, where we need to
differentiate vector expressions, and it is not convenient to revert to component
calculations. Vector derivatives obey the product rule and chain rule in the same
way that scalar functions do. The product rule applies to all vector products. For
example,

d{ } du dv
u(t) · v(t) = ·v+u·
dt dt dt
d{ } du dv
. u(t) × v(t) = ×v+u×
dt dt dt
d{ } du dv
u(t) ⊗ v(t) = ⊗v+u⊗
dt dt dt
The chain rule for a vector looks like
d du dθ
. u(θ (t)) =
dt dθ dt
Remember that order of appearance of vectors and tensors always matters in vector
algebra and vector calculus.

Example 1.7 Compute the derivative with respect to t of the vector


u(θ (t)) = 2θ 2 (t)e2 , where .θ (t) = 4t 3 .
.

Applying the chain rule, we get

d du dθ ( )( ) ( )( )
. u(θ (t)) = = 4θ (t)e2 12t 2 = 4(4t 3 )e2 12t 2 = 192t 5 e2
dt dθ dt

We could also substitute the expression for .θ (t) first, and then differentiate as

d d( ) d( 6 )
. u(t) = 2(4t 3 )2 e2 = 32t e2 = 192t 5 e2
dt dt dt
Obviously, the two approaches yield the same result.

For a case where all the functions are known, it is not clear which strategy is
better. In the case of this example, both approaches are fairly simple. In many of our
derivations, we will not yet know the explicit expression for .θ (t). In such cases, the
chain rule is the only option.

@seismicisolation
@seismicisolation
24 1 Vectors

1.10 Summary

Vectors provide the most natural description of force and motion. We will adopt
a notation that will allow us to realize the full power of vectors to describe the
geometry of dynamical systems.
Many classical treatments seem in a rush to express vectors in terms of their
components relative to a coordinate system. While such an approach is not incorrect,
to do so often limits our ability to see the geometry of the problem in the most
natural light, and it often makes derivation and manipulation of the equations more
awkward, tedious, and prone to error. Use of a direct vector notation affords us
the opportunity to see the geometry while never being more than a quick vector
operation away from any component expression we might need (e.g., through the
operation of the dot product).
Throughout the book, we employ direct vector notation, as outlined in this chap-
ter, with vector addition done through the head-to-tail rule, and vector multiplication
with the dot, cross, or tensor product as the context demands. The unit orthogonal
base vectors .{e1 , e2 , e3 }, along with an origin .O defined for each problem will
serve as the Newtonian inertial reference frame. Time derivatives will be indicated
interchangeably with the Leibniz notation .du/dt and with Newton’s notation where
a time derivative is indicated by a dot above the variable, e.g., .u̇(t). Derivatives
will sometimes be denoted with Lagrange’s notation wherein a prime indicates
differentiation with respect to the argument of the function, e.g., .f ' (x).
While the discipline of direct vector notation may seem heavy at first, it will
pay huge dividends as we move to more complex problems with nontrivial three-
dimensional geometries. Focus first on learning the legal vector operations. If you
are computing by hand, make sure that you distinguish vectors symbolically. One
popular approach is to put an arrow or tilde above the symbol to make it a vector,
e.g.,

v ←→ −
.

v or ṽ

Throughout the book, scalars will be denoted in italic font, vectors and tensors (or
matrices) in bold font, and computer code variables and functions in typewriter
font.

1.11 Problems

1.1 Consider vectors u = 3e1 − 2e2 and v = 2e1 + 5e2 . Compute the sum of the
two vectors, the difference u−v, the lengths of the two vectors, the dot product u·v,
and the cross product u × v. Find the angle between the two vectors.

@seismicisolation
@seismicisolation
1.11 Problems 25

1.2 Consider the vector n(ϕ) = cos ϕ e1 + sin ϕ e2 . Prove that the length of the
vector is one for any value of ϕ. Find a vector that is perpendicular to n.
1.3 Consider the vector n(t) = cos θ (t) e1 + sin θ (t) e2 , where θ (t) is a scalar
function of time t. Compute the time derivative of n and show that the resulting
vector is perpendicular to n.
1.4 Consider the two vectors

n(t) = cos θ (t) e1 + sin θ (t) e2 ,


. m(t) = − sin θ (t) e1 + cos θ (t) e2

where θ (t) is a scalar function of time t. Compute the cross product between the
two vectors, i.e., n × m. Compute the cross product m × n.
1.5 Consider the vector n(ϕ) = cos ϕ e1 + sin ϕ e2 . Evaluate the integral
| π
. n(ϕ) dϕ
0

1.6 Consider the vectors u(t) = 3t 2 e1 + 2t e2 and v(t) = t e1 + 2 e2(. Find ) the
derivative with respect to t of the dot product of the two vectors, i.e., d u · v /dt.
Find
( the) derivative with respect to t of the cross product of the two vectors, i.e.,
d u × v /dt. Do the calculation first by carrying out the products and then taking
the derivative. Then, repeat the calculation by showing that the product rule works
for dot and cross products, i.e.,

d( ) d( )
. u · v = u̇ · v + u · v̇, u × v = u̇ × v + u × v̇
dt dt

1.7 Consider the vectors u = 3 e1 −2 e2 +5 e3 and v = e1 +2 e2 +e3 . Find the part


of u that lies in the plane perpendicular to v. Find the part of u that is perpendicular
to the plane.
1.8 Find unit vectors that point in the directions of u = 3 e1 − 2 e2 + 5 e3 and
v = e1 + 2 e2 + e3 .
1.9 Points O, A, and B are the vertices of a triangle (the gray shaded region). The
coordinates of O are (0, 0), the coordinates of A are (3, 2), and the coordinates of B
are (1, 4). The vector u goes from O to A. The vector v goes from O to B. Compute
the area of the gray shaded triangle as the area of the rectangle minus the areas of
the three right triangles that are not in the shaded region. Then show that the area of
the shaded triangle is 12 ||u × v||, i.e., half of the length of the cross product of the
two vectors.

@seismicisolation
@seismicisolation
26 1 Vectors

1.10 Consider three vectors

u = 3 e1 − 2 e2 + 5 e3
. v = e1 + 2 e2 + e3
w = e2 − 2e3
( )
Compute the triple scalar product u × v · w.(Show by ) explicit computation that the
result is the same as the triple scalar product w × u · v.
( )
1.11 Prove that Eq. 1.27 is true, i.e., that UV = v ⊗ u − v · u I, where u is the axial
vector associated with tensor U and v is the axial vector associated with tensor V.

@seismicisolation
@seismicisolation
Chapter 2
Particle Mechanics

To start our exploration of dynamics, we first consider the dynamics of particles.


A particle is a body with mass assumed to be concentrated at a single point. The
mass of the particle is a physical property that measures its resistance to translation
when subjected to force. The broad aim of solving a particle dynamics problem is
to determine the path of motion of the particle, along with any constraint forces
that may be present, in accord with Newton’s laws of motion.1 In this chapter, we
will establish the mathematical framework for formulating differential equations of
motion for systems subject to Newton’s laws. Beyond establishing the mathematical
notation needed, we outline a general process for setting up particle dynamics
problems that apply across a broad range of situations of interest in engineering.
We will seek analytical solutions to problems where possible, but we also establish
a unified approach to numerical computations that will serve us throughout the
book. While there are many applications for which particle dynamics is an adequate
model, one of the most important goals of this chapter is to set up a system that will
allow us to take the important step to rigid body dynamics in subsequent chapters.
One of the simplest problems in particle dynamics is projectile motion, wherein
the particle moves through space without constraint under the action of gravity.
However, most of the interesting problems in dynamics involve motion with con-
straint (e.g., a bead moving along a wire). In this chapter, we develop an approach
to particle dynamics that directly addresses constrained motion. We accomplish that
goal by writing a mathematical expression for the position vector of the particle that
respects the constraints on the motion. Then, velocity and acceleration are simply
time derivatives of position. The equations of motion come out naturally when we
relate the derived acceleration to the net applied force through Newton’s second law.
This approach puts the conceptualization of the geometry of motion at the center

1 Sir Isaac Newton (1642–1727), an English mathematician and physicist who articulated laws
of force and motion, including a theory of gravitation, is the father of Newtonian mechanics. He
developed the calculus to aid the explication of his theories.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2025 27


K. D. Hjelmstad, Engineering Dynamics,
https://doi.org/10.1007/978-3-031-56376-8_2
@seismicisolation
@seismicisolation
28 2 Particle Mechanics

of the process of establishing the equations of motion as we establish an inertial


frame of reference, identify a suitable set of time-dependent variables, and satisfy
the constraints on the motion.
This chapter also develops the mechanics of particles through the lens of energy
methods, defining power, work, and kinetic energy in service of stating the principle
of conservation of energy, which holds if the work done by the forces can be derived
from a potential energy function. We show the connection between energy principles
and equations of motion based on Newton’s second law. Energy methods provide a
powerful tool for certain kinds of problems and a useful way to verify equations of
motion derived by other means.
Finally, we will introduce numerical computation as a first resort in computing
solutions to the equations of motion. In all but a few special cases, the equations
of dynamics are nonlinear differential equations for which classical solutions are
not available. By introducing numerical integration, we can solve any problem we
can formulate, and with a code that executes the algorithms, we can explore the
solutions in great detail.2

2.1 Newton’s Laws of Motion

Isaac Newton, in his Philosophiae Naturalis Principia Mathematica, which is


generally known by the shortened name Principia, first published in 1686, laid out
his three laws of motion:3

Newton’s Laws of Motion


1. A body continues in its state of rest, or of uniform motion in a right line,
unless it is compelled to change that state by forces impressed upon it.
2. The change in motion is proportional to the motive force impressed and is
made in the direction of the right line in which that force is impressed.
3. To every action there is always opposed an equal reaction, i.e., the mutual
actions of two bodies upon each other are always equal and directed to
contrary parts.

As Newton lays out his three laws, the term body refers to what we call a
particle. In the Principia, he alludes to the laws applying to a part of a system

2 Sections 2.2–5 are expanded versions of Sections 1.1–4 of Hjelmstad, K.D. (2022). Fundamentals

of Structural Dynamics: Theory and Computation. Springer, Cham.


3 Sir Isaac Newton (Translated by A. Motte and revised by F. Cajori). Principia: Vol. 1 The Motion

of Bodies. University of California Press, Berkeley. 1962.

@seismicisolation
@seismicisolation
2.2 Kinematics of Particles 29

acted upon by other parts of the system (what we will later call a typical particle).
In applications, Newton eventually addresses bodies the size of planets. Ultimately,
Newton’s laws govern particles, as defined in the next section. Leonard Euler (circa
1765) formalized the notion of a rigid body as being a collection of particles. Some
authors treat Euler’s laws of motion for rigid bodies as being parallel to Newton’s
laws. In this book, we adopt the strategy of deriving the equations of motion of a
rigid body as a collection of particles that obey the rigidity constraint. This strategy,
which we call the typical particle construction, is used throughout the book.
Newton described the mechanics of particles without the advantage of vectors,
which did not appear for another two centuries. However, it is clear that the three
laws concern vectors because of the references to direction and a description in
Principia of the parallelogram law for adding forces. The second law is the familiar
.F = ma, suggesting that what Newton meant by “motion” was the velocity vector,

and a “change in motion” was the acceleration. The third law refers to an “action”
even though the term “force” had been used in the first two laws. We interpret the
term “action” to be synonymous with force and recognize that Newton’s third law
is, in essence, the origin of the concept of the free body diagram, wherein if a part
of a system is removed, the part removed is replaced by the action it causes on the
part that remains.
One might wonder why the first law is needed, given the second law. As we will
see, the acceleration (change in motion) of the second law is the rate of change of
velocity, which is the rate of change of position. In absence of force, the acceleration
is zero, which is consistent with uniform motion in what Newton called a “right
line.” Hence, Newton’s second law is a differential equation, whose solution requires
initial conditions. The solution to a differential equation is not uniquely determined
without initial conditions. In dynamics, the differential equation is of second order,
requiring specification of both the initial position and the initial velocity. Thus, we
might view the first law as being about initial conditions.
This chapter aims to wrap a mathematical context around Newton’s laws for
particles using the tools of vector calculus. The modern notation greatly simplifies
and streamlines the derivation and solution of the equations of dynamics. If you
doubt it, take a look at Newton’s Principia. Return to Chap. 1, when needed, to
refine or advance your understanding of vectors.

2.2 Kinematics of Particles

Kinematics is the study of motion apart from its cause. A particle can be represented
as a point in space whose location can be described by a position vector .x(t),
as shown in Fig. 2.1. The position is measured relative to a fixed but arbitrary
point .O called the origin. The origin in conjunction with the standard base vectors
.{e1 , e2 , e3 } establishes an inertial reference frame, which is required for Newton’s

laws to be valid. The time t is measured relative to some arbitrary beginning, which

@seismicisolation
@seismicisolation
30 2 Particle Mechanics

v (t ) x(t t ) x(t )
vo

a(t )
x(t ) x(t ) Path of
Path of
xo motion x(t t) motion

(a) (b)

Fig. 2.1 Kinematics. (a) The state of the motion of a particle is characterized by the position .x(t),
velocity .v(t), and acceleration .a(t). The particle has initial position .xo and initial velocity .vo . Note
that the velocity vector is tangent to the path of motion. (b) Difference in position vectors at two
different times

we will take as .t = 0. At any point in time, the state of motion is characterized by


position, velocity, and acceleration, as illustrated in Fig. 2.1a.
The velocity .v(t) is the rate at which position .x(t) changes with respect to time.
The velocity vector is tangent to the path of motion. To prove this assertion, consider
the difference in position of a particle at times t and .t + Δt, as shown in Fig. 2.1b.
Dividing this difference by .Δt and taking the limit as .Δt approaches zero gives the
velocity

x(t + Δt) − x(t) dx


v(t) = lim
. = (2.1)
Δt→0 Δt dt

As the time increment gets smaller, the secant vector .x(t + Δt) − x(t) gets closer
to the tangent to the path and becomes tangent in the limit. The scalar magnitude of
the velocity vector is often called the speed, which we represent as

v(t) = ||v(t)|| =
. v(t) · v(t)

The acceleration .a(t) is the rate of change of velocity

v(t + Δt) − v(t) dv


a(t) = lim
. = (2.2)
Δt→0 Δt dt

Acceleration is also a vector, and its magnitude and direction influence where the
particle will go next. In general, the position, velocity, and acceleration vectors do
not point in the same direction, but in special cases such alignment is possible (e.g.,
when the motion is constrained to be along a straight line). The position, velocity,
and acceleration together comprise the kinematic state of the particle.
It is possible to continue to differentiate the position vector ad infinitum.
Derivatives beyond the second do not play a role in Newtonian mechanics but might
have interest for other reasons not related to the evolution of the motion. The third
derivative of position is often referred to as jerk and the fourth derivative as jounce.
These quantities are useful, for example, in characterizing human perception of
motion.

@seismicisolation
@seismicisolation
2.2 Kinematics of Particles 31

For the path of motion to be uniquely specified, we must know both the initial
position .x(0) = xo and the initial velocity .v(0) = vo , i.e., the position and velocity
at time .t = 0, or some equivalent information, like the position and velocity at other
times in the motion, not necessarily coincident.
Differential Relationships Velocity is the rate of change of position. Acceleration
is the rate of change of velocity and is, therefore, the second derivative of position:

v(t) = ẋ(t),
. a(t) = v̇(t) = ẍ(t)

Observe that these are differential relationships. That means they relate instanta-
neous quantities (i.e., quantities that change with time have certain values at certain
times, but hold that value only for an instant). This sort of relationship exists in
stark contrast to quantities that are related by algebraic equations, wherein the
relationships (even if nonlinear) hold independent of time. Differential relationships
evolve with time. Newton and Leibniz invented the calculus precisely to deal with
these kinds of relationships.
It is important to remember that position, velocity, and acceleration are not
independent. It is also important to remember that the solution of differential
equations is quite different from solving algebraic equations (although we will often
do a lot of algebra in pursuit of such solutions).

Example 2.1 Consider a particle constrained to move along a wire formed in


the shape of a spiral with radius r and lift h per cycle, as shown in Fig. 2.2.
Find mathematical expressions for the position, velocity, and acceleration
vectors.

e3
x3
e2
x2 m(t ) n(t )
e1

e2 r
x(t ) (t )
x2 e1 x1
h

x1

Fig. 2.2 Example. Particle constrained to move along a spiral wire of radius r and lift h
per cycle. The angle .θ(t) parameterizes the motion

(continued)

@seismicisolation
@seismicisolation
32 2 Particle Mechanics

Example 2.1 (continued)


The time-dependent variable that characterizes the motion is .θ (t), mea-
sured from the .x1 axis. To aid the computation, let us define the unit vectors
normal and tangent to the circle projected on the .x1 −x2 plane, as shown in
Fig. 2.2. To wit,

n(t) = cos θ (t) e1 + sin θ (t) e2


.
m(t) = − sin θ (t) e1 + cos θ (t) e2

To see how these vectors are constructed, consider Fig. 2.3. Each vector lies
along the hypotenuse of a right triangle with angle .θ . The lengths of the sides
of the triangles are .cos θ and .sin θ . By the head-to-tail rule, these values are
the components of the unit vectors relative to the base vectors .{e1 , e2 }. The
vectors .n and .m are perpendicular to each other because their dot product is
equal to zero. Differentiate these vectors with respect to time to show that

.ṅ(t) = θ̇ (t)m(t), ṁ(t) = −θ̇ (t)n(t)

These relationships are an artifact of the geometry of the circle. We will see
them frequently as we solve problems with circular geometry.
Using these definitions, the position vector for the particle can be described
as

x(t) = rn(t) + b θ (t) e3


.

where .b = h/2π is a constant defined in terms of the lift h. Observe that when
θ = 2π the vertical component of the position vector is h. When .θ = 4π the
.

vertical component is 2h, and so on. Hence, as .θ (t) increases, the vertical
height does too, in a way that has the particle always on the spiral wire.
In essence, we have built the constraint of motion directly into the position
vector.

Fig. 2.3 Unit vectors. The sin


unit vectors .n(t) and .m(t) are
defined in terms of the angle m n
.θ(t) and the base vectors
cos
.{e1 , e2 } e2 1 1
sin
e1
cos

(continued)

@seismicisolation
@seismicisolation
2.2 Kinematics of Particles 33

Example 2.1 (continued)


The velocity is the first derivative of position

ẋ(t) = r ṅ(t) + b θ̇ (t) e3


. ( ) (2.3)
= rm(t) + b e3 θ̇(t)

where we have noted that .ṅ = θ̇ m. We can compute the acceleration by taking
the time derivative of the velocity. Using the product rule, we get
( )
ẍ(t) = rm(t) + b e3 θ̈(t) + r ṁ(t)θ̇(t)
. ( ) (2.4)
= rm(t) + b e3 θ̈(t) − rn(t)θ̇ 2 (t)

The position vector is constrained to be on the wire. Therefore, the velocity


and acceleration vectors respect the constraint. In particular, the velocity
vector is tangent to the spiral, because the path of motion of the particle is
the spiral. It is important to note that while we do not know the function .θ (t),
we can introduce it as the time-dependent variable that describes the motion
of the particle. The expression for .θ (t) will be determined from the equations
of motion, once formulated.

Integral Relationships The position, velocity, and acceleration of a particle are


also related to each other through integral relationships. Roughly speaking, position
is the integral of velocity and velocity is the integral of acceleration. Formally, we
can write
| t
v(t) = vo + a(τ ) dτ
0
. | t
(2.5)
x(t) = xo + v(τ ) dτ
0

where .τ is a dummy variable of integration representing time. The initial position


xo and initial velocity .vo appear as the constants of integration. Evaluating these
.

expressions at time .t = 0 confirms this choice (the integral of any function from
zero to zero is zero). These relationships are illustrated graphically in Fig. 2.4.
The expression for velocity can be substituted into the equation for position to
provide an integral relationship directly between position and acceleration. To wit,
| t( | τ )
x(t) = xo +
. vo + a(η) dη dτ
0 0

@seismicisolation
@seismicisolation
34 2 Particle Mechanics

Fig. 2.4 Graphical x(t )


interpretation. The integrals
x(tb ) x(ta )
that relate position, velocity,
and acceleration of the
particle can be imagined as
areas under the curve. The
v (t )
change in velocity is the area v (tb ) v(ta )
under the acceleration curve;
the change in position is the a(t )
area under the velocity curve

ta tb t

where .η is also a dummy variable representing time. The double integral can be
integrated by parts to give the equivalent form
| t
x(t) = xo + vo t +
. (t − τ ) a(τ ) dτ (2.6)
0

Note that the variable of integration is .τ and the t that appears in the integrand is
held constant during integration. Observe that in the absence of acceleration, the
position changes linearly in time in accord with the initial velocity, as expected.
The derivation of Eq. 2.6 relies on applying integration by parts to the double
integral
| t| τ
. a(η) dη dτ
0 0

To facilitate the computation, define the function


| τ
g(τ ) =
. a(η) dη
0

and observe that .g' (τ ) = a(τ ) by the Leibniz integral rule. Now, compute the
following derivative

d ( )
. τ g(τ ) = g(τ ) + τ g' (τ )

and integrate this equation from 0 to t. To wit,
| | |
t d ( ) t t
. τ g(τ ) dτ = g(τ ) dτ + τ g' (τ ) dτ
0 dτ 0 0

@seismicisolation
@seismicisolation
2.2 Kinematics of Particles 35

The term on the left side is an integral of an exact differential that evaluates to .t g(t),
after substituting the limits of integration. Substituting the definitions of .g(τ ) and
'
.g (τ ), we can express this equation as

| t | t| τ | t
t
. a(τ ) dτ = a(η) dη dτ + τ a(τ ) dτ
0 0 0 0

where we have used .τ for the dummy variable of integration on the left side. The
first term on the right side is the original double integral. Solving for this double
integral gives
| t| |
τ t ( )
. a(η) dη dτ = t − τ a(τ ) dτ
0 0 0

which is what we set out to prove.

Example 2.2 Consider a particle that starts from rest and experiences an
acceleration in the form .a(t) = 12 t 2 e1 , where .e1 is the unit base vector. Find
the position and velocity.
The particle starts from rest. Thus, .vo = 0. The location of the origin is
arbitrary and can be taken so that .xo = 0. The position can be computed from
Eq. 2.6 as
| t ( ) | |t
x(t) =
. (t − τ ) 12 τ 2 e1 dτ = 12 13 tτ 3 − 14 τ 4 e1 = t 4 e1
0 0

Note the importance of distinguishing between the real time t and the dummy
variable of integration .τ in the process.
We can also approach this problem by computing the velocity first from
Eq. 2.5(a) as
| t( ) | |t
v(t) =
. 12τ 2 e1 dτ = 12 13 τ 3 e1 = 4t 3 e1
0 0

and subsequently computing the position from Eq. 2.5(b) as


| t( ) | |t
. x(t) = 4τ 3 e1 dτ = 4 14 τ 4 e1 = t 4 e1
0 0

which is, of course, the same result found previously. The final expression can
be easily verified by differentiating twice to get the acceleration from position.

@seismicisolation
@seismicisolation
36 2 Particle Mechanics

2.3 Kinetics of Particles

While kinematics is the study of motion apart from the cause of the motion, kinetics
relates the cause to the effect. Newton posited that force causes motion, and it does
so by affecting the acceleration of the particle. Hence, Newton’s second law is

F(t) = ma(t)
. (2.7)

where .F(t) is the net force acting on the particle, m is the mass of the particle, and
.a(t) is the acceleration of the particle. The net force on a particle can be the resultant
of several forces acting individually and can be caused by various phenomena,
including force at a distance (e.g., gravity) and surface traction (e.g., contact with a
solid object or fluid).
If the net force is a known function of time, then we can simply substitute
.a(t) = F(t)/m in Eq. 2.5 or 2.6 and integrate to find the velocity and position. An

example of when this is possible is projectile motion, where the net force acting
on the particle is only the force of gravity, which is constant. In problems with
constraints (e.g., a bead moving along a wire), the net force is not known a priori
because the reaction force associated with the constraint is unknown. In such a case,
the equations of kinetics and kinematics must be used together to find both the
motion and the force of constraint.

Example 2.3 Consider a projectile of mass m moving without air resistance


under the force of gravity, as shown in Fig. 2.5. The initial conditions are
.x(0) = xo and .ẋ(0) = vo . Derive the equations of motion and solve them.

The geometry of motion is shown in Fig. 2.5a. The origin .O and the
unit base vectors .{e1 , e2 , e3 } establish the frame of reference. The position
vector .x(t) goes from the origin to the particle. Since there are no constraints,
the position vector itself is the time-dependent variable for the problem.4
Therefore, the velocity is .ẋ(t) and the acceleration is .ẍ(t). The free body

Fig. 2.5 Projectile motion. (a) m (b)


Particle of mass m moving
under the force of gravity. (a) x(t )
Kinematic picture. (b) Free e2 mg e 2
body diagram e1

(continued)

4 The position vector .x(t) is actually three time-dependent variables, as each component .x1 (t),
.x2 (t), and .x3 (t) evolves independently in time. What that implies is that there are three degrees of
freedom—the three components of the vector .x(t).

@seismicisolation
@seismicisolation
2.3 Kinetics of Particles 37

Example 2.3 (continued)


diagram is shown in Fig. 2.5b. The only force acting is the weight of the
particle mg in the negative .e2 direction, where g is the acceleration due to
gravity.
Newton’s second law, Eq. 2.7, can be written as

−mge2 = mẍ(t)
.

We can divide out the mass m to show that the acceleration is constant and
equal to .−ge2 . This differential equation is separable and can be integrated as
follows:

ẍ(t) = −ge2
. ẋ(t) = −gte2 + c1
x(t) = − 21 gt 2 e2 + c1 t + c2

where .c1 and .c2 are the constants of integration. Substituting the initial
condition on position gives

x(0) = − 21 g(0)2 e2 + c1 (0) + c2 = xo


.

Thus, .c2 = xo . Substituting the initial condition on velocity gives

. ẋ(0) = −g(0)e2 + c1 = vo

from which .c1 = vo . Thus, the complete solution of the projectile motion
problem is

x(t) = xo + vo t − 12 gt 2 e2
.

which is a description of the path of motion.

There are a few things worth noting in this example. The differential equation
is readily solved because the acceleration is constant. That feature will be rare in
our study of dynamics. The acceleration .ẍ(t) is simply the second derivative of .x(t).
That is true no matter what forces act on the system. We can relate position, velocity,
and acceleration to each other through the unknown function .x(t) before setting
net force equal to mass time acceleration. Equation 2.7 establishes the differential
equation of motion. In this case, we could use Eq. 2.6 directly, since there are no
constraints and the acceleration is a known function of time.

@seismicisolation
@seismicisolation
38 2 Particle Mechanics

If we assert that the motion is confined to be in the .e1 −e2 plane, then the motion
is constrained, i.e., .x3 (t) = 0, implying that there must be a constraint force acting
in the .e3 direction. That force, call it .N(t)e3 , is an unknown function of time. It
represents a third unknown, in addition to the two components of motion in the
plane, and we must solve for it. The free body diagram must include the force .N(t)e3
and the equation of motion would be

−mge2 + N(t)e3 = mẍ(t)


.

If we dot the equation with .e3 and note from the constraint that .ẍ3 = 0, then we
find that .N(t) = 0, which makes sense because there is no reason for the particle
to deviate from the plane and thus no force is required to keep it in the plane. In
general, we cannot assume a value for the force of constraint. We must solve for it.
Notice that there are three unknowns in this problem either way.
The initial conditions are essential to determine the constants of integration
and thus to find a unique solution to the problem. Observe that the constants of
integration .c1 and .c2 are vectors. We could get three scalar differential equations by
dotting the equation of motion successively with .e1 , .e2 , and .e3 . Each equation would
then develop scalar constants of integration. The two scalar constants of integration
from the three scalar differential equations are the three components of the vector
constants of integration from the vector differential equation.
The example illustrates an important feature of the process of formulating the
equation of motion. The position vector .x(t) is first postulated in the geometry
sketch as an unknown function of time. The acceleration is found by differentia-
tion. The acceleration is then related to applied forces through Newton’s second
law, resulting in a differential equation. The solution of the differential equation
determines the function .x(t) identified in the geometry sketch.
Impulse-Momentum Force is an instantaneous quantity that can change with time.
Impulse is the aggregate effect of a force acting over time. If the mass m is constant,
we can write Newton’s second law in the form
d( )
F(t) =
. mv(t) (2.8)
dt

The product of mass and velocity, .mv(t), is called the momentum of the particle.
Hence, another way of describing Newton’s second law is that force is equal to the
rate of change of momentum. For this reason, we often refer to the equations of
motion implied by Newton’s second law as balance of momentum.
To find the total impulse between times .ta and .tb , multiply Eq. 2.8 through by dt
and integrate from time .ta to time .tb to get
| |
tb tb ( )
. F(t) dt = d mv = mv(tb ) − mv(ta ) (2.9)
ta ta

@seismicisolation
@seismicisolation
2.4 Power, Work, and Energy 39

Fig. 2.6 Impulse is the area F(t ) impulse


under the force versus time
curve. It represents the action
of a force over time

ta tb t

As illustrated in Fig. 2.6, the integral of the force between the times .ta and .tb is
the impulse. It is, roughly speaking, the area under the force versus time curve—
roughly, because force is a vector and the geometric notion of area under the
curve applies only to scalar functions of scalar variables. We refer to the difference
.mv(tb ) − mv(ta ) as the change in momentum. Hence, impulse is equal to change

in momentum. This result comes directly from integrating Newton’s second law.
Therefore, it is true for any particle acted upon by any net force.
The impulse-momentum relationship is particularly useful in impact problems,
where the contact force acts over a very short period of time. During that short
time, the position changes very little. For a rigid body, impact occurs over an
infinitesimally short amount of time, causing an instantaneous change in velocity
with no change in position.

2.4 Power, Work, and Energy

Newton provided a framework for modeling force and motion through the lens of
balance of momentum. We can get another view of mechanics by considering the
concepts of power, work, and energy. In this section, we will define those terms and
show how they relate to the Newtonian balance of momentum concept. In particular,
we show that conservation of energy is the first integral of the equations of motion
.F = ma.

Kinetic Energy of a Particle Kinetic energy is the energy of motion. As such, it


depends on the velocity .v of the particle, not on its acceleration .a. We use the symbol
T for kinetic energy and define it as one half the mass times the velocity dotted with
itself:
( )
T = 12 m v · v = 12 mv 2
. (2.10)

where v is the magnitude of the velocity or speed. Kinetic energy is a scalar quantity
with no associated direction. At a given time, a particle simply possesses kinetic
energy. It is a measure of the kinematic state of the particle. Observe that by virtue
of the definition, the smallest kinetic energy a particle can possess is zero, which is
the case when the particle is at rest.

@seismicisolation
@seismicisolation
40 2 Particle Mechanics

Power and Work of a Force Define the power of a force to be the dot product of
the force and velocity at the point of application of the force. To wit,

P (t) = F(t) · v(t)


. (2.11)

One interesting and important feature of this definition is that a force has no power if
it acts in a direction perpendicular to the velocity vector. This situation could occur
if the force is one of constraint, e.g., a normal force associated with a roller support
or a body sliding without friction on a surface. A force also has no power if the
velocity is zero, which is generally the case for a reaction force.
Work is the integral of the power over some period of time. From that perspective,
then, power is the rate at which a force does work, and work is the accumulation over
time of the power of a force. The definition of work of a force between times .ta and
.tb is

| tb | tb
b
.Wa = P (t) dt = F(t) · v(t) dt (2.12)
ta ta

Power and work are simply definitions. We still need to show how they are useful in
mechanics.
Power and Kinetic Energy The relationship between power and kinetic energy
can be derived from Newton’s second law. First, write power in the form
( dv )
F·v= m
. ·v (2.13)
dt
where we have simply substituted Newton’s second law. Now, let us compute the
rate of change of kinetic energy to see what happens. By the product rule for
differentiation, we can write the time rate of change of kinetic energy T as

dT d (1 ) ( dv dv ) ( dv )
. = m v · v = 1
m v· + ·v = m ·v
dt dt 2 2 dt dt dt
where we have noted that the dot product of vectors is commutative. The last
expression is exactly the same as the right side of Eq. 2.13. Thus,

dT
F·v=
. (2.14)
dt
In other words, power is the rate of change of kinetic energy. One might view this
result as the reason to define power and kinetic energy in the first place. It is the
route to making the definitions of power and work useful in mechanics.
Work and Kinetic Energy To compute the work of a force, multiply Eq. 2.14
through by dt and integrate from .ta to .tb . Equation 2.12 then gives

@seismicisolation
@seismicisolation
2.4 Power, Work, and Energy 41

| tb ( |
) tb
b
.Wa = F · v dt = dT = T (tb ) − T (ta ) (2.15)
ta ta

Therefore, the work done by the force .F in moving between state a and state
b is equal to the difference in kinetic energy between those two states. Work is
what causes kinetic energy to change. If work is positive, then the kinetic energy
increases. If work is negative, then the kinetic energy decreases.
In some circumstances, the work of a force can be computed without direct
reference to time. The force can sometimes be expressed as .F(x(t)) = F(x). In other
words, we can express the force as purely a function of position. In such a case, we
can use a change of variable and let .v dt = dx. Then,
| xb
.Wab = F(x) · dx (2.16)
xa

If the force is constant during the motion, it can be moved out of the integral. Now,
dx is an exact differential, and the integral can be evaluated as
.

| |
xb xb ( )
. F · dx = F · dx = F · xb − xa
xa xa

That is, the work is the force dotted with the change in position .xb − xa , which is
the distance the force moves. Thus, work is equal to force times distance if the force
is constant throughout the motion.
The form of Eq. 2.16 does not exactly illuminate how one might do that
computation in the presence of constraints, but it is generally clear what to do in
a particular problem, as the following example shows.

Example 2.4 Consider the situation shown in Fig. 2.7, where a block moves
up an inclined plane under the action of a force .f (t), resisted by gravity
and friction. The coefficient of friction is .μ. The angle of the incline is .ϕ,
measured from horizontal. Compute the work done by the friction force in
going from state a to state b.
The constant unit vectors .p and .q are oriented in the direction of the plane
and perpendicular to it. These vectors can be expressed mathematically as

p = cos ϕ e1 + sin ϕ e2
.
q = − sin ϕ e1 + cos ϕ e2

The motion up the plane is described as .x(t) = z(t)p, where .z(t) is a scalar
function of time. By differentiation, the velocity is .ẋ(t) = ż(t)p and the
acceleration is .ẍ(t) = z̈(t)p. Balance of linear momentum gives
(continued)

@seismicisolation
@seismicisolation
42 2 Particle Mechanics

Example 2.4 (continued)

e2 mg e 2
e1 q
f (t ) p p fp

z (t ) p
Np Nq

Fig. 2.7 Example. A block of mass m slides on a plane with coefficient of friction .μ
under a force .f (t) directed up the plane. The kinematic picture is on the left. The free body
diagram is on the right

. − mge2 + N(t)q − μN(t)p + f (t)p = mz̈(t)p

The friction force on the free body diagram points in the direction .−p,
implying that the velocity is in the .p direction (i.e., the block is moving up
the plane, so .ż > 0 at the time we are considering). Dot this equation with .q
to find that the normal force .N = mg e2 · q is constant. Because .e2 and .q are
unit vectors, .e2 · q = cos ϕ.
Consider the computation of the work done by the friction force:
| tb | zb
.Wab = (−μNp) · (ż(t) p) dt = −μN dz
ta za

where .za and .zb are the values of .z(t) of the block at times .ta and .tb ,
respectively. The change of variable in this case is .dz = ż dt, which implies
.v dt = ż p dt. Thus, .dx = p dz. Of course, the dot product of .p with itself is

one. The integration process reduces to the integral of a scalar function. The
work done by the friction force is
( )
Wab = −μmg cos ϕ zb − za
.

The work is negative because the force is in the opposite direction of the
velocity. Thus, the friction force removes kinetic energy from the system,
slowing the block down.

Potential Energy Certain forces have the special property that the work done by
the force does not depend upon the path of the motion and can be characterized by
a potential energy function .U (x(t)), such that

@seismicisolation
@seismicisolation
2.4 Power, Work, and Energy 43

dU
F·v=−
.
dt

We can think of the potential energy U as being associated with a certain force .F
acting on the system. Some forces have potential energy functions, others do not.
Now, compute the work done by the force between state a and state b as
| tb ( |
) xb
b
.Wa = F · v dt = − dU = U (xa ) − U (xb )
ta xa

Observe that if the work done by the force is positive, then the potential energy
decreases—the amount of potential energy possessed by the force at state b is less
than it was at state a. This is simply a result of how we have defined the potential
energy, but it puts us in a position to have balance of momentum be consistent with
conservation of energy, wherein loss of potential energy coincides with a gain of
kinetic energy and vice versa.
A potential energy function .U (x) exists only for certain types of forces, which we
refer to as conservative forces. The conditions for the existence of .U (x) are evident
from the chain rule of differentiation. To wit,

dU ∂U dx ∂U
F·v=−
. =− · =− ·v
dt ∂x dt ∂x
By association, the force is equal to the negative of the gradient of the potential
energy function, i.e.,

∂U
F=−
. (2.17)
∂x
The gradient of U can be computed in components relative to base vectors
{e1 , e2 , e3 } as
.

∂U ∂U ∂U ∂U
. = e1 + e2 + e3
∂x ∂x1 ∂x2 ∂x3

where we have used the notation .U (x) = U (x1 , x2 , x3 ) to represent the scalar
function of the three coordinates that locate the position of the point in space. The
gradient is, essentially, the slope of the energy function. The steeper the slope, the
higher the force.
The Gravity Potential Near the Surface of the Earth The force due to gravity is
associated with a potential energy function and, thus, is a conservative force. The
potential energy function in this case takes the form

U (x) = m x · g + Uo
. (2.18)

@seismicisolation
@seismicisolation
44 2 Particle Mechanics

Fig. 2.8 Gravitational


potential. If we define the
vertical distance as
.h(x) = x · eg as the height x(t ) mg e g h( x)
above datum, we can express eg
the potential energy of the
gravitational force in the
customary form .U = mgh
Datum

where .g = g eg is the constant acceleration of gravity vector with magnitude g and


direction .eg , which is a unit vector pointing in the positive direction associated with
gravity, i.e., the direction associated with increasing potential energy, as shown in
Fig. 2.8. Notice that the constant .Uo is arbitrary, which means that you can select
the location of zero potential energy, a place we refer to as datum, anywhere. Now,

∂U
F=−
. = −m g = −mg eg (2.19)
∂x
which is a constant force acting in the negative direction of gravity (downward in
Fig. 2.8). Note that mg is the weight associated with the mass in the gravitational
field.

Newtonian Gravity The previous example of the gravitational potential is a


special case of Newton’s law of gravitation. The potential energy function for the
gravitational attraction of two masses .m1 and .m2 is

Gm1 m2
U (z) = −
. (2.20)
r(z)

√ constant, .z = x2 − x1 is the vector from the


where G is the universal gravitational
first mass to the second, and .r(z) = z · z is the scalar distance between the masses,
as shown in Fig. 2.9.

Fig. 2.9 Newtonian gravity. x2 m2


Newton hypothesized that the
force of gravity acting
between two masses was
x1 z
proportional to the product of
their masses divided by the m1
square of the distance r
Gm1m2 z
between them F2
r2 r
Gm1m2 z
F1
r2 r

@seismicisolation
@seismicisolation
2.4 Power, Work, and Energy 45

The gradient of the potential energy gives the force of gravity acting on each
mass
∂U ∂U ∂r Gm1 m2 ( z )
F1 = − =− =
∂x1 ∂r ∂x1 r2 r
. (2.21)
∂U ∂U ∂r Gm1 m2 ( z )
F2 = − =− =−
∂x2 ∂r ∂x2 r2 r

where the derivatives of r with respect to .x1 and .x2 are

∂r z ∂r z
. =− , =
∂x1 r ∂x2 r

A good way to execute this computation is to apply the directional derivative to


the equation defining r, as shown in Appendix B. Equations 2.21 tells us that
the magnitude of the force of gravity acting between two masses is inversely
proportional to the square of the distance between them and is directed along the
line that joins them.
It is instructive to compute the work done by the two forces. To wit,
| tb ( )
b
.Wa = F1 · ẋ1 + F2 · ẋ2 dt
ta

Substituting the expressions for .F1 and .F2 from Eq. 2.21, and noting that
ż = ẋ2 − ẋ1 , we can write
.

| ( Gm m ( z )
tb
1 2 Gm1 m2 ( z ) )
Wab = · ẋ1 − · ẋ2 dt
ta r2 r r2 r
| tb
z · ż
. = Gm1 m2 − 3 dt
ta r
I
Gm1 m2 Itb
= I = U (ta ) − U (tb )
r ta

where we have recognized that

d (1) z · ż
. =− 3
dt r r
which can be proven using the directional derivative. Thus, the work done by the
gravitational forces is .Wab = U (ta ) − U (tb ), as was promised. The potential energy
difference between states a and b accounts for all of the work done by the forces
associated with gravity.

@seismicisolation
@seismicisolation
46 2 Particle Mechanics

Example 2.5 Compute the acceleration of gravity near the surface of the
Earth from the Newtonian gravitational potential in Eq. 2.20. The radius of
Earth is r and the mass is .m1 = M. The mass of the object is .m2 = m and the
height above the surface of Earth is h, as shown in Fig. 2.10.
We can identify the acceleration of gravity near the surface of Earth by
equating the force of gravity from Eq. 2.19 to the force of gravity from
Eq. 2.21. Letting the normal direction be .eg , we have

GMm
−mgeg = −
. eg
(r + h)2

If .r ⟫ h, then .1/(r + h)2 ≈ 1/r 2 . Thus, .g = GM/r 2 , where M is the mass


of the Earth and r is the radius of the Earth. The mass of the Earth is
approximately .5.972 ×1024 kg and the radius of the Earth is approximately
6
.6.371×10 m. The gravitational constant is .6.674×10
−11 m3 /kg−s2 . Carry-

ing out the calculation gives the familiar .g = 9.81 m/s .


2

Fig. 2.10 Example.


m eg
Acceleration of gravity for
objects near Earth. The radius h
of Earth is r and the mass is
.m1 = M. The mass of the r
object is .m2 = m and the
height above the surface of M
Earth is h

The Linear Spring One of the common idealizations used in mechanics is the
linear spring shown in Fig. 2.11a. This model asserts that the magnitude of the force
in the spring is equal to a spring modulus k times the change in length of the spring,
i.e., .F = kΔ, and acts in the direction of the axis of the spring.5
We can show that the forces acting on the particles at the ends of the spring can
be derived from the potential energy function

.Us = 21 kΔ2 (2.22)

where .Δ = L − Lo is the change in the length of the spring and .Lo is the length
of the spring when it is unstretched. Let .z = x2 − x1 be the vector from one end of
the spring to the other, as shown in Fig. 2.11b. The current length of the spring,

5 This model, often called Hooke’s Law, was established by Robert Hooke (1635–1703) based

upon experiments on helical springs.

@seismicisolation
@seismicisolation
2.4 Power, Work, and Energy 47

x2 x2
n
x1 x1

z F2 k n

L F1 k n

(a) (b) (c)

Fig. 2.11 Linear spring. A linear spring develops force in proportion to the change in length, with
the force directed along the axis of the spring. (a) Spring with the position vectors .x1 and .x2 of the
two ends of the spring. (b) The vector .z is the difference between the positions of the two ends, and
the unit vector .n = z/L points in the direction of .z. (c) Forces acting on the particles at the ends of
the spring


therefore, is .L = z · z, and the vector .n = z/L is a unit vector pointing in the
direction of .z. The forces acting on the attachment points caused by stretching of the
spring are equal to the negative of the gradient of the potential function with respect
to the position. Thus,

∂Us ∂Us ∂Δ
F1 = − =− = kΔ n
∂x1 ∂Δ ∂x1
. (2.23)
∂Us ∂Us ∂Δ
F2 = − =− = −kΔ n
∂x2 ∂Δ ∂x2

as shown in Fig. 2.11c. The derivative of .Us with respect to .Δ is computed from
Eq. 2.22 to be .∂Us /∂Δ = kΔ. The derivative of .Δ with respect to .x1 and .x2 can be
accomplished by applying the chain rule. To wit,

∂Δ ∂Δ ∂L z ∂Δ ∂Δ ∂L z
. = =− , = = (2.24)
∂x1 ∂L ∂x1 L ∂x2 ∂L ∂x2 L

Again, these relationships can be derived using the directional derivative, as outlined
in Appendix B. First note that the directional derivative of .z = x2 − x1 is

d |( ) ( )|
Dz =
. x2 + εh2 − x1 + εh1 = h2 − h1 (2.25)
dε ε=0

where .h1 and .h2 represent arbitrary variations in .x1 and .x2 , respectively. Now,
noting that .L2 = z · z, we can compute the directional derivative of L as follows:

@seismicisolation
@seismicisolation
48 2 Particle Mechanics

( )
D L2 = Dz · z + z · Dz

. 2L DL = 2z · Dz (2.26)
z ( )
DL = · Dz = n · h2 − h1
L
Coming at the calculation from a different direction, we can note that by the
definition of the directional derivative, we can write

∂L ∂L
DL =
. · h1 + · h2 (2.27)
∂x1 ∂x2

Comparing like terms from both Eqs. 2.26 and 2.27 shows that

∂L ∂L
. = −n, =n (2.28)
∂x1 ∂x2

Throughout this derivation we consider .Δ and L as being functions of either .z or,


equivalently, as functions of the positions .x1 and .x2 , whichever form is needed at
the time.
The magnitude of the spring force is .kΔ and the force acts along the direction of
the axis of the spring, i.e., in the direction of the unit vector .n = z/L. Notice that the
magnitude of the force depends only on the change in length and not on the original
length. In some circumstances it is not necessary to know the original length of the
spring to solve a problem involving a spring, as long as the change in length can be
quantified (e.g., when the direction of the axis of the spring does not change due to
the motion).

Example 2.6 Consider a spring of unstretched length .Lo = 5 that has its left
and right ends displaced as shown in Fig. 2.12. Find the change in length of
the spring.
Taking the origin at the left end of the undeformed spring, we have

x1 = 2e1 + 4e2 ,
. x2 = 9e1 + 6e2

Thus, the vector along the final position of the spring is


( ) ( )
.z = x2 − x1 = 9 − 2 e1 + 6 − 4 e2 = 7e1 + 2e2

and the length is


√ √ √
L=
. z · z = 72 + 22 = 53 = 7.28

Therefore, the change in length is .Δ = L − Lo = 7.28 − 5 = 2.28.


(continued)

@seismicisolation
@seismicisolation
2.4 Power, Work, and Energy 49

Example 2.6 (continued)

Fig. 2.12 Example. A linear


spring with unstretched 2
length .Lo = 5. The left end
moves up 4 and right 2. The 4 6
right end moves up 6 and
right 4. What is the final
length of the spring, L? 4
5

We can verify that the work done by the spring forces in going from state a to
state b is equal to the difference in the potential energy at the two states. Compute
the work done by the two end forces as
| tb ( )
b
.Wa = F1 · ẋ1 + F2 · ẋ2 dt
ta

where .ẋ1 and .ẋ2 are the velocities of the two ends of the spring. Noting that
F1 = kΔ n and .F2 = −kΔ n, we can write this expression as
.

| tb ( )
Wab = kΔ n · ẋ1 − kΔ n · ẋ2 dt
ta
| tb ( )
= −k Δ n · ẋ2 − ẋ1 dt
ta
|
)( z )
.
( tb
= −k L − Lo · ż dt
ta L
| tb (
z · ż )
= −k z · ż − Lo dt
ta L

Since .L2 = z · z, we can show that

d ( 1 2) d( ) z · ż
. L = z · ż, Lo L = L o
dt 2 dt L
and, therefore, that

d (1 2 ) z · ż
.
2 L − L o L + 1 2
2 L o = z · ż − Lo (2.29)
dt L

@seismicisolation
@seismicisolation
50 2 Particle Mechanics

The third term on the left side of this equation is zero because .Lo is constant. It is
included because
( )2
.
1 2
2L − Lo L + 12 L2o = 1
2 L − Lo

Substituting Eq. 2.29 into the expression for work gives


| tb d (1 2 )
Wab = −k
.
2 L − Lo L + 21 L2o dt = U (ta ) − U (tb )
ta dt

if the potential energy function is defined as


( )2
Us = 12 k L − Lo = 21 kΔ2
. (2.30)

The trick to this derivation is to recognize that the power associated with the two
end forces (i.e., the integrand in the work equation) can be written as an exact
differential. Thus, the work integral depends only upon the end states a and b and
not the path taken to get from state a to state b. It is remarkable that the simple
expression for the potential energy of the spring holds for any arbitrary motion
defined by the position vectors .x1 (t) and .x2 (t). It is not restricted to small motions.
It is worth noting that the potential energy of the spring accounts for the work
done by both of the end forces. A spring is an example of what we call a two-force
member, which is a physical element that responds to forces applied at its ends with
the restriction that the magnitude of those two forces is the same and the directions
are equal and opposite. We idealize the spring as having no mass. Therefore, the
spring itself is in quasi-static equilibrium at all times.

Example 2.7 A particle of mass m is attached to a spring and slides along a


smooth (no friction) circular rod of radius 2r, which is held fixed in a vertical
plane, as shown in Fig. 2.13a. The linear spring has spring constant k and has
an undeformed length of r. The spring is hinged at point .B, which is a distance
r directly above the center of the circle. Find the potential energy function for
the spring.
The main challenge in computing the potential energy of the spring is
determining the change in length and expressing it in terms of the time-
dependent variable that characterizes the motion. There are many ways to find
the current length of the spring. Perhaps the simplest is to find the vector .z,
whose norm is the length of the spring. Consider the geometry sketch shown
in Fig. 2.13b. We have taken the origin .O at the center of the circle. The
standard base vectors .e1 and .e2 are shown. To characterize the position vector
.x(t), it is convenient to define the unit vector .n(t) that points from the center

(continued)

@seismicisolation
@seismicisolation
2.4 Power, Work, and Energy 51

Example 2.7 (continued)

m n
m
z
k e2
x
r re 2 (t ) e1

2r

(a) (b)

Fig. 2.13 Example. A linear spring with unstretched length r attached to a pin a distance
r above the center of a circle with radius 2r and attached to a mass that moves along the
circle

of the circle to the mass. This vector can be expressed in terms of the time-
dependent variable .θ (t) as

n(t) = cos θ (t)e1 + sin θ (t)e2


.

The position vector is then

x(t) = 2rn(t)
.

By vector addition, we have

.x = re2 + z → z = x − re2

The square of the length of the vector .z is the dot product of the vector with
itself. To wit,
( ) ( )
L2 = z · z = x − re2 · x − re2
( ) ( )
= 2rn − re2 · 2rn − re2
. = 2rn · 2rn − (2)2rn · re2 + re2 · re2
= 4r 2 − 4r 2 sin θ + r 2
( )
= r 2 5 − 4 sin θ

In the second line we have substituted the expression for .x. In the third line the
dot products were distributed. In the fourth line we recognized that .n · n = 1,
(continued)

@seismicisolation
@seismicisolation
52 2 Particle Mechanics

Example 2.7 (continued)


e2 · e2 = 1, and .n · e2 = sin θ. Thus, the length
.
√ of the spring when the particle
is associated with the angle .θ (t) is .L = r 5 − 4 sin θ and the potential energy
is
( )2 ( √ )2
Us = 21 k L − Lo = 21 k r 5 − 4 sin θ − r
.

where we have recognized that the unstretched length of the spring is .Lo = r
for this system. It is easy to verify that when .θ = 90◦ , the change in length of
the spring is zero, and when .θ = −90◦ , the change in length of the spring is
2r. Observe that the potential energy of the spring is a function of the time-
dependent variable .θ (t) and given constants of the problem, i.e., r and k.

The are many ways to solve geometry problems like finding the length of the
spring in the previous example. All valid approaches will yield the same result.
Using vectors is an elegant and simple way to organize the calculation.

2.5 Conservation of Energy

The connection between power and kinetic energy was a direct outcome of Newton’s
second law. The concept of potential energy of a force was a construction that
allowed the work done by a conservative force to be evaluated as the difference
in potential energy between two states. We can eliminate the work integral between
the two definitions to arrive at what we call an energy principle. Assuming that all
forces on the system can be characterized by a potential energy, we can write
| tb ( )
. F · v dt = U (ta ) − U (tb ) = T (tb ) − T (ta )
ta

where U represents the total potential energy of the forces acting on the particle
(e.g., it could include gravity, springs, and other forces that admit a potential energy
function). Moving the two terms at state a to the left side and the two terms at state
b to the right side, we have

T (ta ) + U (ta ) = T (tb ) + U (tb )


. (2.31)

The sum of kinetic and potential energy at a given state is often called the total
energy. The above equation simply states that in any motion, the total energy is
conserved (again, as long as the forces are conservative). One of the most common
uses of the principle of conservation of energy is what we call the two-state problem,

@seismicisolation
@seismicisolation
2.5 Conservation of Energy 53

wherein the position and velocity are completely known at one state and the position
or velocity is known at another state. The remaining unknown can be computed from
Eq. 2.31, as the following example shows.

Example 2.8 A ball of mass m is dropped from rest at a height h above the
ground. Find the velocity of the ball just before it strikes the ground, assuming
no air resistance.
Since the ball moves straight down, we can characterize the position vector
as .x(t) = z(t)e2 , where .z(t) is the time-dependent variable that characterizes
the height of the ball above the ground at time t. The velocity is .ẋ(t) = ż(t)e2 .
We can compute the kinetic energy T as
( )
T = 21 m ẋ · ẋ = 12 mż2 (t)
.

and the potential energy of the force of gravity .Ug as


( )
Ug = mg x · e2 = mgz(t)
.

The initial conditions are .z(0) = h and .ż(0) = 0. The position is known just
before hitting the ground to be .z(tf ) = 0, where .tf is the time associated with
the ball hitting the ground. Substituting these values into Eq. 2.31 gives

T (0) + Ug (0) = T (tf ) + Ug (tf )


.
0 + mgh = 12 mż2 (tf ) + 0

This equation can be solved to give the velocity prior to impact as



. ż(tf ) = ± 2gh

Conservation of energy uniquely determines the speed at .tf , but it yields two
possible solutions for the velocity. Since .z(t) is positive upward, then up is
also the positive direction for the velocity. It is clear that the ball is moving
downward just before it hits the ground. Therefore, the negative solution is
the appropriate one. The final velocity is

. ẋ(tf ) = − 2gh e2

The concept of conservation of energy can also be used to derive the equations
of motion of a system. Let the total energy be the sum of the kinetic and potential
energy, and let energy be conserved. Then,

E(t) = T (t) + U (t) = constant


. (2.32)

@seismicisolation
@seismicisolation
54 2 Particle Mechanics

Taking the time derivative of Eq. 2.32, we get

dE dT dU
. = + =0
dt dt dt
since the derivative of a constant is zero. Let us work this through using what we
know about kinetic and potential energy. In particular,

dT dU d (1 ) ∂U dx
. + = m v · v + ·
dt dt dt 2 ∂x dt
dv
=m ·v−F·v
dt
( )
= ma − F · v = 0

The velocity .v is not always zero. If it were, that would imply no motion. Therefore,
in order for energy to be conserved at all times, we must have

F = ma
.

Hence, conservation of energy implies Newton’s second law. The derivation above
can be run in the opposite direction, too. Start with .ma − F = 0. Multiply this
equation by the integrating factor .v and integrate with respect to time
| t( ) | t d( )
. ma − F · v dt = T + U dt = E + constant
0 0 dt

Consequently, .E = T + U is called the first integral of the equation of motion (again,


as long as the forces can be derived from a potential energy function, of course).
The equation of motion .F = ma is a second-order differential equation because the
acceleration is the second derivative of position. Kinetic and potential energy are
functions only of velocity and position. Therefore, the equation of conservation of
energy only involves first derivatives of the time-dependent variables. As such, it
is a first-order differential equation. The first integral transforms a second- into a
first-order differential equation.

Example 2.9 Reconsider the particle sliding without friction along the spiral
wire of radius r and lift h per cycle from Example 2.1. If the particle starts
from rest at a height 4h, four complete turns around the spiral from the base,
what will the speed of the particle be when it reaches the base (i.e., when
.θ = 0)? Solve the problem using conservation of energy.

(continued)

@seismicisolation
@seismicisolation
2.5 Conservation of Energy 55

Example 2.9 (continued)


Computation of energy First, let us compute the energy. The kinetic energy
of the particle is, by Eq. 2.10,
( )
T = 12 m ẋ(t) · ẋ(t)
( ) ( )
. = 21 m rm(t) + b e3 θ̇(t) · rm(t) + b e3 θ̇ (t)
( )
= 12 m r 2 + b2 θ̇ 2 (t)

where .b = h/2π . In the first step, we substitute the expression for the velocity
vector from Eq. 2.3. In the second step, we distribute the dot product, noting
that .m · m = 1 and .e3 · e3 = 1 because they are unit vectors. Also, .m · e3 = 0
because the two vectors are orthogonal. The potential energy due to gravity is
( )
Ug = mg x(t) · e3
( )
. = mg rn(t) + b θ (t) e3 · e3
= mg b θ (t)

where mg is the weight of the particle and .b θ (t) is the height above datum at
time t. There is also a normal force of the wire acting on the particle. However,
the normal force is always perpendicular to the velocity vector (which is
tangent to the wire). Hence, the normal force has no power and does no work.

Conservation of energy The initial conditions for the system are .θ (0) = 8π
and .θ̇(0) = 0. Let us call the time when the particle reaches the base .tf .
We know that .θ (tf ) = 0. We do not know .θ̇(tf ). Total energy (kinetic plus
potential) is conserved. Therefore, we can write

T (0) + Ug (0) = T (tf ) + Ug (tf )


( ) ( )
0 + mg b 8π = 21 m r 2 + b2 θ̇ 2 (tf ) + 0
.
/
16π bg
θ̇(tf ) = ± 2
r + b2

There are two possible solutions, one positive and one negative. We have
defined .θ (t) to be positive in a counterclockwise direction. If we let the
particle go from a height, it will move downward. Therefore, the angular
velocity .θ̇ (t) will be negative for the entire motion. Hence, the minus sign
is the appropriate solution for this case.
Finally, we can compute the speed .v = ||v|| at the final time using the
velocity vector from Eq. 2.3. To wit,
(continued)

@seismicisolation
@seismicisolation
56 2 Particle Mechanics

Example 2.9 (continued)


/
( ) ( ) 16π bg
. ẋ(tf ) = rm(t) + b e3 θ̇ (tf ) = − rm(t) + b e3
r 2 + b2

The speed is the norm of the velocity vector, which is the square root of the
vector dotted with itself, i.e.,

v 2 = ẋ(tf ) · ẋ(tf )
/ /
( ) 16π bg ( ) 16π bg
= − rm(t) + b e3 · − rm(t) + b e3
.
r 2 + b2 r 2 + b2
( ) 16π bg
= r 2 + b2 2 = 16π bg = 8hg
r + b2

since√ .h = 2π b. Thus, the speed when the particle reaches the base is
v = 8hg. It is always a good idea to check the units on the result. The
.

acceleration of gravity has units of .𝓁/s 2 and h has units of length (.𝓁).
Therefore, the square root of hg has units of .𝓁/s, which is appropriate for
speed.

What About Time? The preceding example shows the use of conservation of
energy in what we call a two-state problem where the position and velocity are
completely known at one state (in this case at .t = 0) and either the position or the
velocity is known at the other state (in this case .tf ). Conservation of energy is a
scalar equation, so it provides a way to compute the one remaining unknown state
variable.
In the example, we referred to the time .tf , but conservation of energy does not
provide a way to compute it. If we want to determine the amount of time it takes for
the particle to get to the base, i.e., .tf , then we would need to integrate the differential
equations of motion to get the state variables as functions of time, and not just
snapshots at particular times.
There are two ways to get the equations of motion. Let us first take a look at
using conservation of energy to find the governing equations.

Example 2.10 Reconsider the particle sliding without friction along the
spiral wire of radius r and lift h per cycle from Example 2.1. Find the
equations of motion using conservation of energy.
(continued)

@seismicisolation
@seismicisolation
2.5 Conservation of Energy 57

Example 2.10 (continued)


In order to determine the equations of motion of the system, we need to
apply conservation of energy between some known state and the state at some
arbitrary time t. We can take the known state to be the initial state .t = 0.
Writing conservation of total energy then takes the form

T (t) + Ug (t) = T (0) + Ug (0) = constant


.

Because the total energy is constant, the derivative should be equal to zero. To
wit,

d| |
. T (t) + Ug (t) = 0
dt
Substituting the expressions that we derived previously for kinetic and
potential energy gives

d| | d |1 ( 2 ) |
T (t) + Ug (t) = 2 m r + b2 θ̇ 2 (t) + mgb θ (t)
dt dt
( )
. = 21 m r 2 + b2 2θ̇ (t)θ̈(t) + mgb θ̇ (t)
{ ( ) }
= m r 2 + b2 θ̈ (t) + mgb θ̇(t) = 0

To compute the derivative of .θ̇ 2 (t), we applied the chain rule. To wit,

d( 2 ) d( )
. θ̇ (t) = 2θ̇ (t) θ̇(t) = 2θ̇ (t)θ̈(t)
dt dt

To take the last step in the derivation, we observed that the term .θ̇ (t) is
common to both terms and could therefore be factored out. The resulting
expression must be zero for all time in order for conservation of energy to
hold. We know that .θ̇ (t) is not zero all the time. It may be every once in a
while, but if it is zero all the time, then there is no motion. The only way,
then, that the equation can hold is if the entire expression in curly brackets is,
itself, zero. Setting this term to zero gives
( )
m r 2 + b2 θ̈(t) + mgb = 0
.

which is the differential equation of motion. We can solve this equation by


classical methods, but we will defer that to the next example.

@seismicisolation
@seismicisolation
58 2 Particle Mechanics

Conservation of energy is, thus, a powerful way to derive the equations of motion
of a system. We will find this approach has some limitations that we will address in
Chap. 6.
The other way to get the equations of motion of the system is by the Newtonian
approach of .F = ma. Let us take a look at the particle sliding down a spiral wire
from the Newtonian perspective of balance of momentum. In this next example, we
will derive the equations of motion and then solve them to show how to compute .tf ,
the time at which the particle arrives at the bottom of the spiral.

Example 2.11 Reconsider the particle sliding without friction along the
spiral wire of radius r and lift h per cycle from Example 2.1. Find the
equations of motion using balance of linear momentum.
The free body diagram of the particle at time t is shown in Fig. 2.14. The
two forces are the weight and the normal force .N(t) caused by the wire acting
on the particle. The dotted line just shows where the wire was before it was
removed to make a free body diagram of the particle alone.
The figure shows the position vector .x(t) in gray. It is important to
recognize that the free body diagram must be associated with the same time
used for the position vector, which was then differentiated to get velocity
and acceleration. It does not make sense to say the net force at one time is
equal to mass times acceleration at another time. The position vector is not
a force. None of the motion state variables belong on a free body diagram,
but if included they should be distinguished, so as not to confuse them with
forces. The first clue that position, velocity, and acceleration do not belong on
the free body diagram is that none of them have units of force. The free body
diagram is to establish the left side of the balance of momentum equation. The
kinematics show up on the right side (i.e., .ma).

Balance of momentum Balance of linear momentum of the particle gives



F = m ẍ(t)
. (( ) )
−mge3 + N(t) = m rm(t) + b e3 θ̈(t) − rn(t)θ̇ 2 (t)

Fig. 2.14 Example. Free N(t )


body diagram of a particle
sliding without friction on a
spiral wire (see Fig. 2.2). The
x3
x(t ) mge3
force .N(t) is normal to the
wire x2

x1

(continued)

@seismicisolation
@seismicisolation
2.5 Conservation of Energy 59

Example 2.11 (continued)


where .N(t) is the normal force of the wire acting on the particle and the
acceleration of the particle is obtained from Eq. 2.4. Both the normal force
.N(t) and the angle .θ (t) are unknown functions of time. The solution strategy

will be to try to eliminate .N(t) from the equation of motion to get a differential
equation purely in terms of .θ (t). Upon solving for .θ (t), we can substitute back
into the equation above to solve for .N(t), if needed.
We know that the force .N(t) is normal to the wire at all times (that is why
we call it a normal force). We also know that the velocity vector is tangent
to the wire, which is the prescribed path of motion. Hence, we can take the
dot product of both sides of the equation with the vector .rm + be3 , which is
in the same direction as the velocity vector, just without the .θ̇ included. This
action will eliminate the force .N from the equation because the dot product of
orthogonal vectors is zero. Thus,
( ) ( ) (( ) ) ( )
. −mg e3 + N · rm + b e3 = m rm + b e3 θ̈ − rn θ̇ 2 · rm + b e3

where we have suppressed the dependence on time for convenience of


notation. Carrying out the dot products, noting the orthogonality of .n, .m, and
.e3 , reduces the equation to

( )
. − mgb = m r 2 + b2 θ̈ (t) (2.33)

which is exactly the same as the equation obtained in the previous example
from conservation of energy.

Solution of differential equation Equation 2.33 implies that the angular


acceleration is constant, i.e.,

−gb
θ̈ (t) =
.
r2+ b2

This is a separable differential equation, which we can integrate to get


( −gb )
θ̇ (t) = t + c1
r 2 + b2
.
( −gb )
θ (t) = 21 2 t 2 + c1 t + c2
r + b2

where .c1 and .c2 are constants of integration. We can use the initial condition
θ̇(0) = 0 in the first equation to get .c1 = 0 and .θ (0) = 8π to get .c2 = 8π.
.

(continued)

@seismicisolation
@seismicisolation
60 2 Particle Mechanics

Example 2.11 (continued)


Compute the final time Using the final condition .θ (tf ) = 0, we can solve for
tf from the second equation
.

/
( −gb ) 16π(r 2 + b2 )
.θ (tf ) =
2 r 2 + b2 tf + 8π = 0 → tf =
1 2
gb

This equation is quadratic in time, so we get two solutions. We know that the
positive solution is the correct one and that the negative solution is spurious
on physical grounds (time cannot be negative in this problem). Substitute .tf
back into the equation for angular velocity to get
/ /
( −gb ) ( −gb ) 16π(r 2 + b2 ) 16π bg
. θ̇ (t ) = tf = 2 =− 2
f
r +b
2 2 r +b 2 gb r + b2

which is exactly the same value we obtained from conservation of energy


in Example 2.9, without the ambiguity on the algebraic sign. Of course, the
speed will come out the same, too. There is no need to redo that computation.
Again, one should always do a unit check to make sure the results make
sense. For the .tf equation, .r 2 + b2 has units of .𝓁2 , g has units of .𝓁/s2 , and b
has units of .𝓁. Thus, the argument of the square root has units of .s2 , which
means that .tf has units of time. The angular velocity .θ̇ (tf ) has the same
argument in the square root, except that it is inverted. Hence, the units of
angular velocity are 1/s, which is actually rad/s. Angles are measured in
radians. A radian is defined as the angle subtended by an arc equal to the
radius of the circle. As such, radians have units of .𝓁/𝓁, what we might call a
“unitless unit.”

These examples, taken together, provide a view of the range of possibilities


in solving particle dynamics problems and how they relate to each other. The
particle on a frictionless wire resulted in a differential equation that was amenable
to classical solution methods. We will find that this rarely happens in dynamics,
especially for rigid bodies (as we shall see in the next chapter). In the next section,
we outline a numerical solution approach.

2.6 Computation: Projectile Motion with Drag

One of the key observations about the equations of motion for dynamics is that
very few actually result in linear differential equations. Consequently, it is important
to look at how to approach numerical computation of the solution to a dynamics

@seismicisolation
@seismicisolation
2.6 Computation: Projectile Motion with Drag 61

vo cv v
mg e3
x(t ) Path of
xo motion

(a) (b)

Fig. 2.15 Projectile with drag. Particle of mass m subjected to gravity and air drag. (a) The
position at time t is .x(t) with initial position and velocity .xo and .vo , respectively. The coefficient c
measures the drag resistance. (b) Free body diagram

problem. Without this ability, the best we can often do is consider snapshots at
certain points in time or use energy methods for problems where all but one of the
unknowns at two states are given and conservation of energy can be used to get
the remaining one. In this section, we look at a general approach to computation in
dynamics through an example of projectile motion with drag.
The kinematic picture and the free body diagram for a particle in projectile
motion with fluid drag is shown in Fig. 2.15. The drag force is modeled as

Fdrag = −cvv
. (2.34)

where .c = 12 ρ CD A is the drag constant (.ρ being the fluid density, .CD the dimen-
sionless drag coefficient that depends on the shape of the projectile, and A the
projected area of the body normal to the direction of the drag force)6 and .v = ||v|| is
the magnitude of velocity vector .v. The magnitude of the drag force is .cv 2 and the
direction of the drag force is tangent to the path of motion and opposing the motion.
Since we know that the velocity vector is tangent to the path of motion, we can use
it to create the direction vector. A unit vector pointing in the direction of the drag
force is .−v/v. Putting these facts together results in the drag force given in Eq. 2.34.
Balance of linear momentum gives the equation of motion:

. − mg e3 − c v(t)v(t) = ma(t) (2.35)

where .v(t) = ẋ(t) and .a(t) = ẍ(t). This is a nonlinear second-order ordinary differ-
ential equation governing the position .x(t) of the particle.

6 For the purposes of dynamics, we treat the body as a particle of mass m, but to make sense of

the drag force we must recognize that the body is not a point mass because a point has no shape
and no projected area. We will show in Chap. 4 that balance of linear momentum for a finite body
is the same as for a particle as long as the reference point on the rigid body is the center of mass.
Hence, our modeling assumptions in this section are valid.

@seismicisolation
@seismicisolation
62 2 Particle Mechanics

To set up the computation, we assert first that we will keep track of the state
{xn , vn , an } for .n = 0, 1, 2, · · · , N , where .tN = tf is the final time for the analysis
.

(we have to stop somewhere and we need to specify that in our code). Second, we
will use the generalized trapezoidal rule, Eq. C.5 in Appendix C, to integrate the
equations of motion in time. To wit,

xn+1 = bn + ζ an+1 ,
. vn+1 = cn + η an+1 (2.36)

where .bn = xn + h vn + β(1−β)h2 an and .cn = vn + βh an are the parts of the new
state (i.e., .n + 1) that can be computed from the old state (n) and the integration
parameters .ζ = (1−β)2 h2 and .η = (1−β)h are values that can be computed from
the specified value of .β, the trapezoidal rule parameter, and the size of the time
step h. Third, we recognize that we know the initial position .x(0) = xo and velocity
.v(0)= vo as given data (we will specify those values in the code). We must compute

the initial acceleration from the equation of motion:


( )
a0 = − mg e3 + cvo vo /m
.

where .vo = ||vo ||. Now we have the complete initial state .{x0 , v0 , a0 } needed to start
the computation.
Since the equation of motion is nonlinear, we will need to solve it with
Newton’s method at each time step. First, put the equation into residual form (see
Appendix A). Let .z = an+1 be the unknown acceleration at the new time step. The
converged value of .z will be the new acceleration that we seek. Define the residual
function

g(z) = mz + c vn+1 (z)vn+1 (z) + mg e3


. (2.37)

If we can find a value of .z such that .g(z) = 0, then that value of acceleration satisfies
the equation of motion at the new time step. We have indicated that the velocity at
step .n + 1 is a function of the new acceleration .z. Of course, the function is given
by the generalized trapezoidal rule in Eq. 2.36, i.e., .vn+1 (z) = cn + η z. We can view
the solution process as guess and check with values of .z, adjusting the guesses until
we get .g(z) < tol, where tol is a specified small number that expresses what we
mean by the solution being good enough. Newton’s method provides a strategy for
making good guesses.
To implement Newton’s method, we need to compute the tangent .A = ∇g of the
residual (see Appendix A). We will use the directional derivative (see Appendix B)
to carry out the computation. The directional derivative of a function .g(z) in the
direction .h can be computed as

d | |
Dg(z) · h =
. g(z + εh) (2.38)
dε ε=0

@seismicisolation
@seismicisolation
2.6 Computation: Projectile Motion with Drag 63

In essence, all we need to do is augment .z by .εh and then take the ordinary derivative
of the resulting expression with respect to .ε. As shown in Appendix B, the result will
give .Dg · h = Ah. Hence, we will need to factor out .h to get the final result for the
tangent matrix .A.
The directional derivative obeys the product and chain rules of differentiation.
Suppressing the subscript .n + 1 on .v temporarily, we can write
( )
D(g) = mD(z) + c D(v) v + v D(v)
. (2.39)

where the shorthand notation .D(•) means the directional derivative of .(•), and
we have noted that the derivative of the constant gravitational force is zero. The
directional derivative of .z is the easiest to compute. To wit,

d | |
D(z) =
. z + εh =h
dε ε=0

The directional derivative of the velocity vector is also simple. Using the generalized
trapezoidal rule formula for .vn+1 , we can compute

d | ( )|
D(v) =
. cn + η z + εh = ηh
dε ε=0

The directional derivative of the speed is a bit more complicated. Noting that the
square of the speed is .v 2 = v · v, we can use the chain rule and product rule to
compute
( ) ( )
D v2 = D v · v
2v D(v) = D(v) · v + v · D(v)
.
= 2 v · D(v)
= 2 v · ηh

Dividing through by 2v gives the final result


v·h
D(v) = η
.
v
Combining these results, the directional derivative of .g has the form
( v·h )
D(g) = mh + c η
. v+vηh
v
Finally, we can factor out the .h by noting that .h = Ih, where .I is the identity matrix,
and that .v · h = vT h in matrix notation. Therefore, the tangent matrix for Newton’s
method for this problem is
( )
A = m + η c v I + η c v nnT
. (2.40)

@seismicisolation
@seismicisolation
64 2 Particle Mechanics

with .n = v/v being a unit vector in the direction of the velocity vector .v. In the
Newton iteration, the value of .v in the tangent must be the current best guess for
.vn+1 . The code that carries out the computation is given as follows:

Code 2.1 MATLAB code for Newton’s method applied to particle projectile motion with drag
resistance
%. Projectile Motion with Fluid Drag
clear; clc;

%. Input problem data


gravity = 9.81; % Acceleration of gravity
e3 = [0; 0; 1]; % Unit vector in direction of gravity
mass = 2.0; % Mass of particle
c = 0.02; % Drag coeff = 0.5*rho*Cd*A
tf = 6; % Final analysis time

%. Initial conditions
xo = [ 0.0; 0.0; 10.0]; % Inital position
vo = [ 10.0 ; 0.0; 30.0]; % Initial velocity

%. Numerical analysis parameters


h = 0.02; % Analysis time step
beta = 0.5; % Trapezoidal rule parameter
eta = (1-beta)*h; % Time integration parameter
zeta = eta^2; % Time integration parameter
nSteps = ceil(tf/h); % Number of time steps
tol = 1.e-8; % Newton iteration tolerance
MaxIt = 10; % Max. allowable Newton iterations

%. Set up Hist to save results


Hist.T = zeros(nSteps,1); % Time
Hist.X = zeros(nSteps,3); % Position
Hist.V = zeros(nSteps,3); % Velocity

%. Initialize position, velocity and acceleration


t = 0;
xold = xo;
vold = vo;
aold = -(mass*gravity*e3 + c*norm(vo)*vo)/mass;

%. Compute motion by numerical integration


for i=1:nSteps

%.... Store values for plotting


Hist.T(i) = t; % Time
Hist.X(i,:) = xold'; % Position
Hist.V(i,:) = vold'; % Velocity

%.... Compute values for the next time step


t = t + h; err = 1; its = 0;
bn = xold + h*vold + beta*(1-beta)*h^2*aold;
cn = vold + beta*h*aold ;
anew = aold;

%.... Newton iteration to compute the new acceleration


while (err > tol) && (its < MaxIt)
its = its + 1;
vnew = cn + eta*anew;
v = norm(vnew);
n = vnew/v;
g = mass*(anew + gravity*e3) + c*v*vnew;
A = (mass + c*v*eta)*eye(3) + c*v*eta*(n*n');
anew = anew - A\g;
err = norm(g);

@seismicisolation
@seismicisolation
2.6 Computation: Projectile Motion with Drag 65

end

%.... Final update of velocity and position by trapezoidal rule


vnew = cn + eta*anew;
xnew = bn + zeta*anew;

%.... Put 'new' into 'old' slot to get ready for next step
aold = anew;
vold = vnew;
xold = xnew;

end

ParticleDragFigs(Hist,mass,gravity,c,i)

There are a few program notes worth mentioning. First, we use the following
association

xn → xold xn+1 → xnew


. vn → vold vn+1 → vnew
an → aold an+1 → anew

We only need to keep the current step n to compute the next step .n + 1, and we deal
with that using the old and new designations. At the end of the time-stepping loop,
we put the new values into the old locations to get ready for the next time step. That
means we have written over the old results each time. In order to have information
available for later plotting, we store any variables of interest in the “struct” named
Hist. In this code we have Hist.T for time, Hist.X for position, and Hist.V
for velocity. Additional elements can be easily added to a “struct” in MATLAB as
needed for graphical output of response quantities of interest. For example, we could
also store the acceleration at each step.
Most of the code is self-explanatory through the comments. The key part of the
code that is special for this problem is the computation of the initial acceleration
and the residual and tangent in the Newton loop. Those come from the equations of
motion for this particular system. This code is, therefore, a good template for a wide
range of dynamics problems, including rigid body dynamics, and we will reuse it
frequently to set up our computations.
Finally, note that the last line is a call to ParticleDragFigs. That function
does the task of taking the data stored in Hist and producing plots, the details of
which are not included here.
Code Verification It is essential to verify the code. Code verification means
proving that the code actually produces the results it was designed to produce.7 In
other words, does the code compute the correct solution to the problem of projectile
motion with drag? The best way to verify a code is to show that it produces the

7 Code verification is related to but not the same as code validation. Validation proves that the

mathematical model matches physically observed results. Verification proves that the code faith-
fully represents the mathematical model. Validation requires physical measurement. Verification
does not.

@seismicisolation
@seismicisolation
66 2 Particle Mechanics

same result as some known analytical solution. In general, dynamics problems are
nonlinear, so analytical solutions will be few and far between. However, there might
be some special cases that are amenable to classical solution. If special cases are
used, then multiple verification cases are needed because the special cases might be
blind to certain types of coding errors. For example, if a value of a quantity is zero,
it can multiply an erroneous term and still get zero, which will appear to be correct.
It is also a good idea to avoid setting physical parameter values equal to one because
dividing by one gives the same result as multiplying by one.
One classical solution available to us is projectile motion without drag. The code
should be able to solve that problem. The classical solution for .c = 0 is

. x(t) = xo + vo t − 12 gt 2 e3

One good strategy would be to implement this equation directly in the code and store
the result in Hist alongside the numerical solution. Then, in the plotting function,
just plot the classical solution right on top of the numerical solution. If the two are
the same, that verifies the code. If the time step h is too large, then you might see
some differences due to numerical errors. In that case, just cut h in half and run
the code again. The smaller time step will give smaller errors, and eventually, the
strategy of reducing the time step will cure any differences due to numerical errors.
A second code verification case available to us is terminal velocity. We know
that with drag resistance, a particle moving straight down will eventually achieve a
constant velocity. What happens is that the drag force exactly balances the force of
gravity. The motion has to be straight down to get the two force vectors to align.
The condition of constant velocity implies zero acceleration. Take Eq. 2.35 and set
.a = 0 and .v = −vt e3 . Take the dot product of the resulting equation with .e3 to give

. − mg + c vt2 = 0

where .vt stands for terminal velocity (which is not a function of time because it is
constant). We can solve this equation to give
/
mg
vt =
. (2.41)
c

We can compute the terminal velocity for specific input values of m, g, and c. The
values are in the caption of Fig. 2.16. We can also run the code and plot v vs. t, as
shown in Fig. 2.16. The exact value of terminal velocity is

vt =
. (2)(9.81)/(0.1) = 14.01 m/s

which is exactly the same as the asymptotic value on the plot in the figure. Hence,
the code passes the terminal velocity verification case.

@seismicisolation
@seismicisolation
2.6 Computation: Projectile Motion with Drag 67

Fig. 2.16 Projectile terminal


velocity. Speed .v(t) vs. time
t for a particle of mass
.m = 2 kg with drag coefficient
.c = 0.1 kg/m dropped
vertically from rest at a height
of 100 m

There is no perfect way to verify a given code, but some verification approaches
are stronger than others. The gold standard is to show that the code reproduces
the exact solution to the problem. In dynamics, the equations of motion are often
nonlinear, and it is not possible to find an exact classical solution to the differential
equation. However, sometimes it is possible to find an exact solution to a restricted
version of the problem. Projectile motion is a case in point. While the solution for
the terminal velocity is a strong verification, it is even better to have a complete
solution for the velocity and position as a function of time.
Again, let us assume that the particle is moving straight down with velocity .v(t)
and acceleration .v̇(t). The equation of motion reduces to

mv̇ = −cv 2 + mg
.

This equation happens to be a separable differential equation. Divide through by m


and arrange terms to give

dv c( )
. = − v 2 − vt2
dt m

where .vt = mg/c is the terminal velocity found previously. Dividing through by
the term in parentheses, multiplying both sides by dt, and integrating gives
| |
dv c
. = − dt
v − vt2
2 m

which can be evaluated to give

1 (v) c
. − tanh−1 = − t + constant
vt vt m

Simplifying this equation, and assuming that the initial velocity is zero (which
makes the constant of integration zero), gives an expression for the downward
velocity

@seismicisolation
@seismicisolation
68 2 Particle Mechanics

Fig. 2.17 Projectile motion code verification. Downward position .x(t) and speed .v(t) vs. time t
for a particle of mass .m = 2 kg with drag coefficient .c = 0.1 kg/m dropped vertically from rest at
a height of 0 m. The wide gray solid line is the numerical solution. The dotted line is the classical
solution. Positive values of x and v are downward

( gt )
v(t) = vt tanh
. (2.42)
vt

Observe that as .t → ∞, .v(t) → vt because the hyperbolic tangent function is


asymptotic to one. In other words, the velocity approaches the terminal velocity
asymptotically.
The speed is the rate of change of vertical position, i.e., .dx/dt = v, which also
results in a separable differential equation. Because .v(t) is positive downward, .x(t)
is also positive downward. Integrating and assuming that the initial position is zero
gives

vt2 | ( gt )|
x(t) =
. ln cosh (2.43)
g vt

where .ln(•) is the natural log of .(•).


These classical solutions can be compared with the numerical solution as a
means of code verification. The comparison between the numerical solution and
the classical solution from Eqs. 2.42 and 2.43 is shown in Fig. 2.17. The physical
parameters are the same as in the previous terminal velocity calculation in Fig. 2.16.
The solid gray line is the numerical solution from the code and the dotted line is the
classical solution. Figure 2.17 shows that the numerical solution is identical to the
exact classical solution.
The classical solution also provides a way to determine if the time step is small
enough in the code to give an accurate solution.
Exploration Once the code is verified, it can be used to explore questions related to
the underlying theory. For example, it is well known that the optimal angle to launch
a projectile without drag to get the greatest horizontal travel distance is .π/4 rad
(.45◦ ). How does drag affect the optimal angle of launch?

@seismicisolation
@seismicisolation
2.6 Computation: Projectile Motion with Drag 69

1.2

1.0
0.8

Fig. 2.18 Optimal projectile range without drag. Trajectory of motion for a particle of mass
.m = 2 kg, initial speed .vo = 100 m/s with drag coefficient .c = 0. Each curve shows the result for an
initial angle .α π/4, with .α = 0.8, 1.0, and 1.2

Before studying the effect of drag on optimal range, it is a good idea to verify
the optimal angle without drag. This task can be accomplished by running the code
with initial conditions .xo = 0 and initial velocity

.vo = [ vo cos θ ; 0 ; vo sin θ ]

with .θ = α π/4. In each case we can plot the trajectory and note the maximum
horizontal distance for a given value of .vo . The value .α = 1 should give the largest
value of the range. Set .α equal to 0.8 and 1.2 to show that they both have a range
smaller than .α equal to 1.0. The range is simply the x value of position when the y
value returns zero. The plots shown in Fig. 2.18 confirm the classical result.
The projectile trajectory for different initial angles with the same muzzle velocity
of .vo = 100 m/s with a drag coefficient of .c = 0.02 kg/m is shown in Fig. 2.19. The
parameter varied is the initial angle, expressed as a fraction .α of .π/4. The heavy line
is for an angle of .π/4, which is the optimal angle without drag. It is clear that the two
shallower angles achieve a greater range than the case with .α = 1.0. These results
were obtained by running the Code 2.1 with different inputs for initial velocity. A
little experimentation shows that the optimal angle for this system is .θ = 0.1775π
(.α = 0.71), or about .32◦ . This result is true, of course, only for one value of the drag
constant c. Deeper study might include finding the optimal angle for many different
values of c and then showing the result on a plot of .θopt vs. c.
There are many practical issues that could be studied with the code. For example,
there is a significant variation in air density due to temperature and elevation at
different Major League baseball stadiums, affecting the likelihood that a player will
hit more home runs at one stadium than another. Over the years, there has been a
fair amount of interest in the variation of .CD across baseballs. Studies have shown
that small changes in .CD can have significant effects on the trajectory range.

@seismicisolation
@seismicisolation
70 2 Particle Mechanics

0.8
0.9
1.0
1.1
1.2

Fig. 2.19 Effect of drag on optimal projectile range. Trajectory of motion for a particle of mass
.m = 2 kg, initial speed .vo = 100 m/s with drag coefficient .c = 0.02 kg/m. Each curve shows the
result for an initial angle .α π/4, with .α = 0.8, 0.9, 1.0, 1.1, and 1.2

2.7 Summary

In this chapter, we have established the fundamental ideas of dynamics through


application to particles. While a particle is a fictional point mass, it affords the
simplest formulation of the mathematical statement of Newton’s laws of dynamics.
There are many practical problems that can be idealized as particles, and we use
those to explore how to set up and solve the equations of motion. We considered
both the direct application of Newton’s second law and conservation of energy to
establish equations of motion. We found that in most cases, the equations that govern
the motion of a particle are nonlinear. Therefore, to establish a reliable approach to
solving the differential equations of dynamics, we introduced numerical integration.
We will use all the ideas laid out in this chapter to get to the more advanced concepts
in the remaining chapters of the book.

2.8 Problems

2.1 The slider A of mass m = 0.1 kg moves with negligible friction in the slot of the
vertical plate of length L = 1.2 m. The plate has a constant acceleration of 0.6g to
the left, where g is the acceleration of gravity. The slider starts at rest at the bottom
of the slot. Calculate the normal force, N(t), exerted by the side of the slot on the
slider during the motion. Find the magnitude of acceleration, a, of the slider. Find
how long, tf , it takes for the slider to reach the top of the slot.

@seismicisolation
@seismicisolation
2.8 Problems 71

0.6 g
30

2.2 A ball of mass m is attached to a string of fixed length L, which is attached


to a pin at O. The mass of the string is negligible, and it cannot stretch. The ball
is moving in a circular orbit of radius r and height h around the vertical axis at a
constant speed vo . Find the values of h, r, and the tension force T in the string in
terms of m, L, g, and vo . Specialize the results for the case where vo2 /gL = 4.

L
h
m
r

2.3 A block of total weight w2 slides on an incline of angle ϕ = 35◦ with coefficient
of friction μ = 0.3. The block is pulled by a cable attached through a frictionless,
weightless pulley to a hanging weight w1 = 1.3w2 . If the system is released from
rest, find the distance d that the block travels to achieve a speed of vf = 3.0 m/sec
and the time tf that it takes to get there.

w2

w1

2.4 A pair of blocks with total mass m (half on each side) has a pin connecting the
two sides. The pin slides without friction in the slotted arm, and the blocks slide
without friction on the horizontal surface. The arm is forced to rotate about the pin
at point O with a constant angular velocity θ̇ = ωo . Determine the magnitude of the
force F that the arm exerts on the pin and the normal force N of the surface acting
on the blocks at the instant that the angle θ = π/3.

@seismicisolation
@seismicisolation
72 2 Particle Mechanics

(t )

h
1
2
m 1
2
m
m

2.5 A small block, A, of weight w slides without friction on a cylindrical surface


with radius R. The block is released from rest when θ = 0 (with a very small
perturbation to get the motion going). Find the contact force N between the block
and the surface in terms of θ . Find the angular acceleration α of the block when
θ = 45◦ . Also, find the angle θd where the block begins to leave the surface.

2.6 The slotted arm is pivoted at O and revolves counterclockwise with a constant
angular velocity ωo about the eccentrically mounted circular cam, which is fixed
and does not rotate. Determine the expression for the speed v and magnitude of
the acceleration a of the pin A for the position θ = π/2. The pin has a negligible
diameter, and the spring assures that the pin is always in contact with the cam.

b
e

2.7 Block A has mass 4m and block B has mass m. The coefficient of friction
between all surfaces of contact is μ = 0.2 (i.e., between blocks A and B and between
block A and the surface). The incline is a 1 (rise) on 2 (run) slope. The cable does
not change length and is horizontal between the two frictionless pulleys. A constant
force is applied in the horizontal direction as shown. Find the value of F required
to make the acceleration of block A equal to 2g. Find the tension T in the cable for
that condition.

@seismicisolation
@seismicisolation
2.8 Problems 73

2.8 The slider of mass m fits loosely in the smooth slot in the arm OA that rotates
counterclockwise in a vertical plane at a constant angular velocity ω about the hinge
at point O. The slider is connected to a string that feeds through the end without
resistance. The string has length L and is anchored at point B, which is a distance
L from O. The string does not stretch. Find the value of the angular velocity ω that
would just cause the tension in the string to go to zero at θ = 30◦ .

L
m

2.9 Compute the distance s which the sliding block travels up the incline from the
point where its velocity is vo to the point where its velocity is half that value. The
coefficient of friction between the incline and the block is μ = 0.3. The angle of the
incline is ϕ = 15◦ .

s
1
2
vo
vo

2.10 A small package of mass m is discharged from a conveyor belt as shown. The
conveyor belt moves at a constant angular velocity ω. The coefficient of friction
between package and conveyor belt is μ. Knowing that the package begins to
leave the conveyor when θf = π/8, determine the angular velocity ωf and angular
acceleration αf of the package on the conveyor at that instant. Determine the force
N exerted by the belt on the package as it moves from point A along the circular
portion of the path of radius R. Express the results in terms of μ, m, R, and the
acceleration of gravity g.

@seismicisolation
@seismicisolation
74 2 Particle Mechanics

2.11 Consider two cases: (a) two blocks, one of weight 3w and the other of weight
4w, attached by an inextensible cable (i.e., it cannot change length) and slung over
two pulleys. (b) One block of weight 3w with a force F = 4w acting on the right
end of the cable. Determine the magnitude a of the vertical acceleration of the left
block for each of the two cases. Neglect friction and the mass of the pulleys.

(a) (b)

3w 3w F 4w
4w

2.12 The slider of mass m slides with negligible friction on the fixed circular guide
of radius r. The mass is pulled by a cable that is slung over a frictionless pulley at
C, which is a distance r/4 from point B. The magnitude of the force is F and the
force acts at an angle of 30◦ relative to vertical. Determine the speed v of the slider
as it reaches B if it starts from rest at point A and the constant force in the cable is
equal to three times the weight of the mass (i.e., F = 3mg).

1
4
r
m

30 r
F

2.13 A slider of mass m moves along the smooth (frictionless) fixed circular guide
of radius R centered at O. The spring, which is anchored a distance R/3 to the left
of the center of the circle, has an unstretched length of R. The slider is released from
rest at A (with just enough of a nudge to get the slider moving off of point A, but

@seismicisolation
@seismicisolation
2.8 Problems 75

very nearly zero). Determine the speed v at B using energy methods and find the
value of the normal force acting on the slider as it passes through point B.

k
R

1
3
R

2.14 A ball of mass m is fired up the smooth vertical circular track using a spring
plunger system that has negligible mass. The plunger mechanism prevents the spring
from extending beyond the point where the circular guide begins. At that point the
spring remains compressed by an amount R/4 (i.e., the spring would extend past the
end by that amount if it could). Determine how far the spring must be pulled back
(i.e., the distance s) so the ball will just begin to leave the track when it reaches the
point at an angle of π/4 relative to horizontal, as shown in the sketch. The physical
parameters are related by kR = 20mg.

1
4

R
s s
k

2.15 A collar of mass m is attached to two springs that have an unstretched length
of b and slides without friction on a rod. The springs have a stiffness of k and
2k as shown. The block is pulled by a stiff cable (i.e., it does not change length),
which passes over a frictionless roller. The cable has a constant horizontal force F
applied at the right end. If the block starts from rest in the position shown, determine
the speed v of the block when it reaches a distance b/2 from point C. Use energy
methods to solve the problem.

@seismicisolation
@seismicisolation
76 2 Particle Mechanics

F
b
m

k 2k

b b

2.16 Consider the system from Problem 2.5. Use energy methods to solve the
problem. Use conservation of energy to find the equation of motion. Find the speed
v of the block when θ = 45◦ .
2.17 The block of mass m is released from rest at point A at height h = 2R. The
block slides down a smooth, straight ramp that makes an angle ϕ = 30◦ with the
horizontal. At B the block moves onto a smooth circular arc of radius R, centered at
C. Find the value of the angle θ at which the magnitude of the contact force between
the block and the surface becomes exactly equal to one-half the weight of the block.
Determine the angular velocity ω and angular acceleration α of the block at that
instant.

h
R

2.18 A collar of mass m is attached to a spring of modulus k with unstretched length


R, which is anchored at point D. The mass starts from rest at the position A shown
and slides along a smooth (frictionless) wire oriented in a vertical plane. Determine
the speed v of the collar as it passes through points B and C, and the force N that
the wire exerts on the mass at the instant it reaches point C. Express the results in
terms of m, R, k, and the acceleration of gravity g.

k
m R

R R

@seismicisolation
@seismicisolation
2.8 Problems 77

2.19 The collar A has mass m and slides with negligible friction on the fixed
vertical shaft. When the collar is released from rest at the bottom position shown,
it moves up the shaft under the action of the constant force F applied to the cable.
The force is four times the weight of the collar (i.e., F = 4mg). The pulley at P is
at distance a from the shaft and height 2a from the initial position of center of the
collar, which is also the level of the bottom of the spring. The distance from the
center of the collar to the top is a/3. Calculate the stiffness k which the spring must
have to bring the collar to rest when the center of the collar reaches the level of the
pulley. Express the result in terms of a, m, and the acceleration of gravity g.

2a
1
3
a

2.20 A block of mass m starts from rest a distance 2h from a point directly under
the pulley at B, which is at height h. The coefficient of friction between the block
and the surface is μ. A constant force of T pulls on the cable. Assume that the
pulley has negligible friction and inertia. Find the expression for the acceleration
and velocity of the block. Evaluate the velocity vf and acceleration af of the block
as it passes through the point that is a distance h from the starting position, assuming
that T = 0.5mg and μ = 0.2.

h T
m

2h

2.21 A bead of mass m is released from rest at A and slides down and around the
fixed smooth wire. The straight part has length 5r and the radius of the circular part
is r. Determine the magnitude N of the force between the wire and the bead as it
passes point B.

@seismicisolation
@seismicisolation
78 2 Particle Mechanics

5r

45

2.22 Computation. Develop the equations of motion for a ball of mass m attached
to a cable of stiffness k that is anchored at the origin O. The cable has unstretched
length Lo and will break if the tension in the cable exceeds Tf ail . The cable exerts
a force if its current length is greater than Lo but goes slack if the distance from the
origin to the ball is less than Lo . Include the force of gravity but ignore fluid drag
effects. Set up the problem in residual and tangent form to prepare to use Newton’s
method in the numerical solution. Write a code to solve the problem numerically.
Use Code 2.1 as a template to solve the current problem.

z
y
x
k

2.23 Computation. Modify Code 2.1 to include the effect of wind on the particle.
In this case, the direction of the fluid resistance force is not necessarily tangent to
the path of motion. The total effect of fluid drag is associated with the sum of the
relative fluid velocity caused by the motion of the particle and the ambient fluid
velocity caused by the wind. Assume that the wind is steady with constant velocity
vwind , which must be specified as a physical input in the code.
2.24 Computation. Develop the equations of motion for two bodies, one of mass
m1 and the other of mass m2 , influencing each other through Newton’s law of
gravitation. The equal and opposite forces that each body exerts on the other are
given by Eq. 2.21. Show that the residual and tangent for this problem have the form
| | | |
m1 a1 − F m1 I + ζ B −ζ B
.g = , A=
m2 a2 + F −ζ B m2 I + ζ B

where a1 and a2 are the accelerations of the respective masses and ζ is the parameter
from the generalized trapezoidal rule. The vector F and the matrix B in these
equations are given by

@seismicisolation
@seismicisolation
2.8 Problems 79

Gm1 m2 Gm1 m2 | |
F=
. n, B= I − 3 nnT
r2 r3
G is the universal gravitation constant, z = x2 − x1 , r = ||z||, and n = z/r. Write a
code to carry out the numerical computations. Use Code 2.1 as a template to solve
the current problem. Use the code to study the nature of a planet orbiting the sun.
What initial conditions are required to keep the larger body from drifting with time?

m1
z

x1 m2
x2

2.25 Computation. Extend the code for Problem 2.24 to solve the n body problem,
wherein n bodies exert the force of Newtonian gravity on each other. Formulate
the equations of motion and solve them numerically with the code. Consider, in
particular, the three-body problem. What is the most likely eventual outcome for
this system for any set of initial conditions? Can you find stable solutions (i.e., a
solution that is periodic)?

@seismicisolation
@seismicisolation
Chapter 3
Rigid Body Motion in a Plane

Leonhard Euler1 extended Newton’s laws of motion to rigid bodies of finite size.
A rigid body is a collection of particles distributed over a spatial domain and
constrained in a way that the distance between any two particles remains constant
even as the system moves. The equations of dynamics for finite-sized bodies are
important to practical engineering applications because all bodies of interest are
finite in size. The equations of motion for a rigid body can be built by recognizing
that the body is an assembly of particles that individually obey Newton’s laws. In
this chapter, we employ a typical particle construction to derive equations of motion
for practical rigid body problems. In particular, we show that if we write balance of
momentum for each particle and sum the resulting equations, all the internal forces
cancel out to give equations of motion for the overall body. We also use the typical
particle construction to compute the energy of a rigid body. This chapter focuses on
rigid bodies in planar motion.
While rotation is immaterial to particles, it is important to the motion of rigid
bodies. Each particle in a rigid body experiences a different acceleration when
rotating, due to its position in the body. Thus, the distribution of mass affects the
motion of a rigid body. As it did for particles, the total mass provides a measure
of resistance to translation. Resistance to rotation comes up as a new piece of the
dynamics puzzle for finite-sized bodies. The mass moment of inertia will appear
naturally from the typical particle construction as the measure of reluctance of a
body to rotate. Euler’s laws of motion account for the spatially distributed mass. In
this chapter, we show how those equations can be derived from Newton’s laws for
particles.
The dynamic analysis of rigid bodies introduces two new features that we did
not encounter in particle dynamics. First, we need to sum up the contributions of the

1 Leonhard Euler (1707–1783) was a Swiss mathematician who first generalized Newton’s laws to
rigid bodies of finite dimensions. Euler was a prolific mathematician, and his fingerprints are all
over the math that goes along with mechanics.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2025 81


K. D. Hjelmstad, Engineering Dynamics,
https://doi.org/10.1007/978-3-031-56376-8_3
@seismicisolation
@seismicisolation
82 3 Rigid Body Motion in a Plane

particles that comprise the body. The summation manifests as an integral over the
spatial region occupied by the body. Second, we need to balance angular momentum
to establish an equation of motion that governs rotation of the body. While it is
possible to write balance of angular momentum for a particle, it does not bring new
information beyond what is already resident in balance of linear momentum. For
rigid bodies, balance of angular momentum provides an equation that is independent
from balance of linear momentum.
We will start with rather general statements of balance of linear and angular
momentum and then illustrate the process of deriving them through examples
involving bodies having mass distributed along a line and bodies with mass
distributed over an area. These examples will allow us to carry out the specific
mathematical steps of integration over the domain of the body and thereby shed
light on those operations. We will generalize the ideas introduced in this chapter
subsequently in Chap. 4 for planar motion and Chap. 5 for general motion in three
dimensions.2

3.1 Balance of Linear Momentum

Consider a body .B of mass density .ρ with boundary .∂B, as shown in Fig. 3.1. The
body is subjected to body force .b in .B and traction .t applied on .∂B. Let us isolate
a small region .Be of the body with boundary .∂Be . Balance of linear momentum for
this typical particle is, according to Newton’s second law,
| | |
. te dA + be dV = ρe ẍe dV (3.1)
∂ Be Be Be

te
e
e
r
be

x
t
b

Fig. 3.1 A rigid body with a typical particle .Be with traction .te and body force .be . The position
of the particle is given by the position vector .x relative to the origin .O. For balance of angular
momentum, we sum moments about the point .C . The moment arm is the vector .r

2 Parts of this chapter are reused from Section 1.5 of Hjelmstad, K.D. (2022). Fundamentals of

Structural Dynamics: Theory and Computation. Springer, Cham.

@seismicisolation
@seismicisolation
3.1 Balance of Linear Momentum 83

where .be , .te , and .ρe are the body force, surface traction, and density, respectively,
associated with particle e. The integrals are over the surface .∂Be and domain .Be of
the particle, as indicated.
To better understand Eq. 3.1, note that in the infinitesimal limit, the region of
the typical particle shrinks to zero. As we approach the limit, the integrands in this
equation are essentially constant—there is no room for variation in such a small
region. Thus, the equation reduces to

te Ae + be Ve = ρe Ve ẍe
.

The left side is simply the sum of forces, i.e., the net force. Specifically, surface
traction is force per unit area, and it is multiplied by the surface area of the particle.
Body force is force per unit volume, and it is multiplied by the volume of the
particle. The density multiplied by the volume is the total mass of the particle.
Thus, Eq. 3.1 is simply .F = ma for the typical particle. The integrals over the particle
region are included to allow us to get to the infinitesimal limit gracefully, as we shall
see in the derivations that follow.
Each particle in the body responds according to its own version of Eq. 3.1. We
can add up these equations for all particles that comprise the body to get an equation
of motion for the entire body. First, note that
⎲| |
. te dA = t dA
e ∂ Be ∂B

In other words, the sum of the integrals of traction over the surfaces of the particles
that make up the body is equal to the integral of the traction acting on the exterior
surface of the body. The proof goes as follows. Each point on the surface of a particle
has a traction. At locations where two particles meet, those particles have equal and
opposite traction forces that act at the same point in space, by Newton’s third law.
When added, these traction forces cancel out pairwise. The only surfaces that do not
have a canceling partner are those surfaces on the exterior boundary of the body.
The volume integrals over the particles simply add up to volume integrals over
the entire body. To wit,
⎲| | ⎲| |
. be dV = b dV , ρe ẍe dV = ρ ẍ dV
e Be B e Be B

With these observations, the sum of Eq. 3.1 over all particles in the body yields
| | |
. t dA + b dV = ρ ẍ dV (3.2)
∂B B B

@seismicisolation
@seismicisolation
84 3 Rigid Body Motion in a Plane

This equation is known as balance of linear momentum for the rigid body. It is
straightforward to add effects of point loads3 to the left side of the equation. The
main source of body force in most of our problems will be the self-weight of the
body. In some problems, that will be the only force acting.

3.2 Balance of Angular Momentum

For a particle, balance of angular momentum does not give new information beyond
balance of linear momentum. For finite-sized bodies it does. Let us first compute
the balance of angular momentum of the particle .Be relative to point .C, as shown in
Fig. 3.1. To wit,
| | |
( ) ( ) ( )
. re × te dA + re × be dV = re × ρe ẍe dV (3.3)
∂ Be Be Be

where .re is the moment arm for particle e. Observe that in the limit, as the volume
of .Be goes to zero, Eq. 3.3 reduces to
(| | | )
re ×
. te dA + be dV − ρe ẍe dV =0
∂ Be Be Be

because all the moment arm vectors .re reduce to the same vector. The quantity in
parentheses is zero due to balance of linear momentum.
For a rigid body, we can sum Eq. 3.3 over all particles in the body and note that
the integrals over the internal boundaries of the particles cancel out for the same
reason as previously noted. The integrals over the volume of the particles add up,
and the resulting equation is
| | |
( ) ( ) ( )
. r × t dA + r × b dV = r × ρ ẍ dV (3.4)
∂B B B

This equation is known as balance of angular momentum. Again, it is straightfor-


ward to include the moment caused by applied point loads to the left side of the
equation. Now, we cannot take the moment arm .r out of the integrals because each
particle has a different .r. Hence, the moment arm is a function of the variables
of integration. We will see how this works through the illustrations in subsequent
sections.

3 Point loads, or concentrated forces, do not exist in nature but are a very useful idealization

for modeling distributed forces that act over a small region. The main motivation for using
concentrated forces is to simplify some of the calculations that arise in mechanics. The rigid body
assumption is consistent with the inclusion of concentrated forces, whereas those forces would cut
through a real material.

@seismicisolation
@seismicisolation
3.2 Balance of Angular Momentum 85

Balance of linear and angular momentum, Eqs. 3.2 and 3.4, respectively, consti-
tutes a complete set of equations of motion for the rigid body. In two dimensions,
it takes exactly three time-dependent parameters to characterize the motion of a
rigid body: two components of translation and one component of rotation. In three
dimensions, it takes six: three components of translation and three components of
rotation. We have exactly the right number of equations of balance of momentum
to determine the evolution of those parameters. The reason it is advantageous to
consider the entire body is because of the assumption of rigidity. While we can
find internal resultants by taking an appropriate free body diagram of a portion of
the body, we cannot determine the state of internal stress because of the rigidity
constraint. Hence, elucidating the overall motion of the body is the primary goal of
rigid body dynamics.
Integration is a Sum Throughout the next few chapters, we indicate integrals over
the domain of the physical region of the body as
|
. (•) dV (3.5)
B

where the integrand .(•) is any quantity that we want to add up. The notation of
Eq. 3.5 is only meant to indicate the process of summing the contributions of the
particles that make up the region. For example, the total mass of a body is the sum
of the masses of the individual particles. This notation is not an indication of how
we will set up and execute those integrals. This approach allows us to discuss ideas
that are true for all physical bodies without being specific about the details of one
particular body.
An integral is a sum. It is important to be able to think about the concept of
summing things up without worrying about specific techniques of integration that
might be used to carry out the task.4 Consider, for example, the region shown in
Fig. 3.2. The area of the shaded region can be computed by adding up the number
of squares covered and multiplying that number by the area of one square. That
approach does not require a technique of integration but still represents a sum. The
approach leaves us with the quandary of what to do about squares that are not
whole, but that is an issue of accuracy, not technique. To resolve it, we might try
a background with a finer grid of squares. We might need to sum a quantity other
than just the area. For example, each point has a distance from the lower left corner
of the grid. To carry out the sum, we could evaluate the distance from that point to
the center of each square. Then we could sum those values multiplied by the area of
the square. We are still just carrying out a sum.

4 By techniques of integration we mean knowledge like the integral of 2x is .x 2 or the integral

of .cos x is .sin x. We also mean ideas like u-substitution, integration by parts, partial fractions,
and other methods of finding antiderivatives that are commonly introduced in a course on integral
calculus. Perhaps most importantly, we mean establishing limits of integration for definite integrals.

@seismicisolation
@seismicisolation
86 3 Rigid Body Motion in a Plane

Fig. 3.2 Integration over the


domain. Integrals over the
domain are sums. In
derivations, we distinguish
between the concept of
summing quantities and the
act of summing using
techniques of integration

What calculus does is take this process to the limit. When we get to that limit,
we need a strategy to help us deal with the infinite number of little squares of
infinitesimal size. That is where techniques of integration come into play. We want
to be able to talk about the process of summing without the entanglements of how
we will carry out the calculation (until we actually must do that calculation). Hence,
when you see an integral symbol with a subscript .B, just read it as “we are going to
add stuff up over this region.” In the specific applications, we will make decisions
on how to do the integrals.
Integrals over physical regions are typically set up as single, double, or triple
integrals, for lines, areas, and volumes, respectively. In this chapter, we will
sometimes express the element of integration along a line as ds rather than dV .
What that implies is that some quantity in the integrand (e.g., the mass density)
has been reckoned per unit length rather than per unit volume. Similarly, for planar
regions we will express the element of integration as dA, implying that the integrand
has been reckoned per unit area rather than per unit volume. When we integrate over
an area, we might need to choose between rectangular Cartesian coordinates, where
.dA = ds dr, and polar coordinates, where .dA = r dr dϕ. When we integrate over

a volume with dV , we use the mass density, which we denote with the symbol .ρ.
When we integrate over the length of a bar with ds, we use the mass per unit length
.ρ̄, which is density multiplied by the area of the cross section of the bar. For planar

regions we use mass per unit area .ρ̂, which is density multiplied by the thickness.
In any case, we always sum the contributions of all the particles in the body.

3.3 Energy of a Rigid Body

The kinetic and potential energies of a rigid body are simply the sum of the kinetic
and potential energies of the particles that comprise the body. Hence, the kinetic
energy is
|
( )
T =
.
1
2ρ ẋ · ẋ dV (3.6)
B

where .ẋ is the velocity vector of the typical particle. The potential energy due to
gravity (which is an example of a body force) is

@seismicisolation
@seismicisolation
3.4 Bodies with Mass Distributed Along a Line 87

|
( )
Ug =
. ρ x · g dV (3.7)
B

where .g is the acceleration of gravity, with magnitude g (e.g., .9.81 m/s2 ) and
direction pointing away from the source of gravity. In practice, we will write the
gravity vector as .g = g e2 if, for example, the direction of gravity is .e2 . The quantity
.ρg is the weight per unit volume of the material comprising the body.

Conservation of energy works the same for a rigid body as it does for a particle.
In general, the kinetic and potential energies of a rigid body depend upon the time-
dependent variables that describe the motion (i.e., the variables from which we
construct the position vector of the typical particle).

3.4 Bodies with Mass Distributed Along a Line

To cement the ideas of rigid body mechanics, let us first consider slender bodies
that can be idealized as having their mass distributed along a line. This special case
will allow us to introduce the notion of spatial distribution of mass with a small
investment in the calculus needed to analyze bodies with finite size. Perhaps the
best way to see how the process of formulating equations of motion goes is through
a particular example. In this section we go through the details of the derivation of the
equations of motion using the typical particle construction. Through this example
you will see how the kinematic constraints are represented and how the domain
integrals are executed.
Consider the sliding rod problem shown in Fig. 3.3a. The rod has length L, mass
per unit length .ρ̄ (density times area), and starts from rest at an initial angle of .ϕo
measured from the horizontal. The coefficient of friction between the rod and the
surface is .μ. Our task is to find the equations of motion governing this system.

e2 m n
e1
e
L s e
s n(t ) e

g e 2 ds
o (t ) Ne1
z (t ) e1
Ne 2
(a) (b) (c) (d)

Fig. 3.3 Sliding rod problem. (a) A rod of length L with mass per unit length of .ρ̄ starts from
rest at an angle .ϕo and falls under its own weight on a surface with a coefficient of friction .μ. (b)
Identification of the typical particle. (c) Description of motion of the typical particle. (d) Free body
diagram showing the forces acting on the system

@seismicisolation
@seismicisolation
88 3 Rigid Body Motion in a Plane

3.4.1 The Typical Particle Approach

Our view of rigid bodies is built on the notion that they comprise a collection of
particles, each one governed by Newton’s laws. The typical particle construction
will manifest in two basic places. First, when we describe the kinematics of motion,
we will describe the position of a typical particle. The mathematical expression that
results will represent any particle in the system. If a single mathematical expression
cannot represent the position of all particles in the system, then we will break the
system into pieces with a separate typical particle defined in each region. Second,
we will represent the distributed forces acting on the system as forces applied to a
typical particle. For most applications, the distributed force will be due to the self-
weight of the body. In those cases, the typical particle identified in the free body
diagram will be the same one used to define the kinematics (because it is the same
particle). When we execute balance of linear and angular momentum, we will sum
forces and moments. The typical particle construction will allow us to set that up as
an integral over the domain of the body.
The first step is to identify a typical particle. In essence, we need an approach that
allows us to distinguish one particle from all others. Figure 3.3b shows the typical
particle .Be and distinguishes it by its distance s from the lower end of the bar. This
approach allows us to identify any particle by giving its s value. For example, the
particle located at the lower end of the bar is identified as .s = 0. The one at the
top end is .s = L. A particle one-fifth of the way from the bottom is .s = 0.2L. The
beauty of this particle naming convention is that it acknowledges the continuous
nature of the problem (i.e., there are an infinite number of particles, and they are
located continuously along the length of the bar). That will also set us up to use
calculus to deal with the task of adding up the contributions of the particles.
The second step is to write an expression for the position vector of the typical
particle. To achieve this goal, we will identify an origin .O and a reference
frame .{e1 , e2 , e3 }. The position vector is simply a vector from the origin to the
typical particle. At this stage we also identify the time-dependent parameters that
govern the motion. The independent parameters needed to describe the motion are
called degrees of freedom. The number of time-dependent parameters required to
characterize the motion is equal to the number of degrees of freedom of the system.
In general, we try to satisfy as many of the kinematic constraints as possible when
defining the position vector.
The third step is to draw a free body diagram of the system, including the forces
associated with the typical particle on the diagram. The state of motion of the free
body diagram must be the same as the one used to define the position vector because
we will assert balance of momentum using this diagram and the equations of motion
will marry the forces from the free body diagram with the accelerations implied by
the position vector. Figure 3.3c and d represents the same instant in time because it
does not make sense to say that the net force at one time is equal to the mass times
acceleration at some other time. The geometry sketch must always correspond to
the free body diagram.

@seismicisolation
@seismicisolation
3.4 Bodies with Mass Distributed Along a Line 89

Finally, we write balance of momentum or compute energy of the system. This


step involves integration over the domain of the body. The independent variable
associated with the typical particle then serves as the variable of integration. In the
following sections, we follow these steps for the example problem of Fig. 3.3.

3.4.2 Kinematics

To set up the kinematics of the problem, we will write a position vector for a typical
particle and compute the velocity and acceleration of that particle by differentiation.
This section outlines the steps.
The goal of kinematics is to write a mathematical expression for the position
vector of the typical particle. There are several concepts that are central to
accomplishing this goal. First, we need to capture the system at a general time
t. Second, we need to set up an inertial frame so that Newton’s laws are valid.
Third, we need to introduce a coordinate reference frame for describing vector
components. Fourth, we need to identify a set of time-dependent variables capable
of completely describing the motion of the system. Along the way we will introduce
unit vectors to help with the description.
Figure 3.3c shows the geometry of the bar at time t.5 The origin is located on
the surface at .O and the distance to the lower end of the bar is characterized by the
time-dependent variable .z(t). The angle that the rod makes with the horizontal is
characterized by the time-dependent variable .θ (t). These two quantities completely
determine the motion (because of the rigid body assumption). As such, this body
has two degrees of freedom—it is possible for .z(t) to change without .θ (t) changing
and vice versa. We call .z(t) and .θ (t) the motion variables of the problem. These
quantities are not the only choices. The selection of .z(t) implies that the reference
point on the body for translational motion is the bottom end of the bar. Any point
on the bar can be selected as the reference point (but only one, and you have to stick
with the choice). Similarly, the rotation could be measured relative to vertical (or
any other fixed line in space). Selecting motion variables is part art and part science.
The goal is to make the kinematic description and the subsequent math as clear and
simple as possible.
The unit base vectors .e1 and .e2 provide a coordinate system for the inertial
reference frame. In essence, these vectors embody our intuitive knowledge of the
world in which the problem lives (e.g., what direction constitutes “up” for the
purposes of defining the direction of gravity forces). The unit vectors .n(t) and
.m(t) are introduced to support the analysis of the system. The direction .n(t)

5 We often refer to this figure as the geometry sketch or kinematic picture. It is one of the two

key diagrams associated with every dynamics problem. The free body diagram is the other one.
The geometry sketch is crucial to making headway with a problem and should be viewed as a
quantitative sketch—i.e., one that requires accuracy and clear elucidation.

@seismicisolation
@seismicisolation
90 3 Rigid Body Motion in a Plane

simply describes the direction of the axis of the bar at any time. The vector .m(t)
is perpendicular to the axis of the bar. Both of these vectors depend upon time
because they depend upon the angle .θ (t). However, they do not constitute additional
time-dependent variables—they are derived from the basic set of time-dependent
variables. In fact, it might be more precise to write, for example, .n(θ (t)) to show
the functional relationship, which will be helpful when it comes time to take time
derivatives (the chain rule of differentiation applies). The “helper” vectors like .n(t)
and .m(t) must always be described in terms of the unit base vectors, as we will
show subsequently, to tie them back to the inertial frame.
In dynamics, the value of the time-dependent variables must be defined by initial
conditions. For the current problem, the initial conditions are:

.z(0) = 0, ż(0) = 0, θ (0) = ϕo , θ̇(0) = 0 (3.8)

The choice .z(0) = 0 is arbitrary, as we can select any point to be the origin. This
specific choice means that the origin is the point directly under the lower end of
the bar at time .t = 0. It is useful in the geometry sketch to show the origin some
distance away from the system so the time-dependent variables can be clearly seen
in the sketch. If we establish initial conditions on the motion variables, then all other
kinematic quantities (e.g., the “helper” vectors or the position and velocity vectors)
will inherit the appropriate initial values.
The position vector is a vector from the origin .O to the typical particle, as
shown in Fig. 3.4, which is a more detailed version of Fig. 3.3c. In general, this
vector is most conveniently described through vector addition of components that
naturally describe the system in motion. Motion of the reference point for translation
is straightforward because we have already defined the unit vector .e1 . The vector
component that goes from the origin to the bottom end of the bar is .z(t)e1 . That
vector depends upon time, but through that description, we have guaranteed that the
bottom end of the bar will always be on the horizontal plane (a kinematic constraint).
For any value of the function .z(t), the reference point will be on the horizontal
surface.
The second component of the position vector can make use of the particle naming
system (i.e., the spatial variable s) if we use the vector .n(t) that points along the
axis of the bar. The vector .sn(t) then goes from the bottom of the bar to the typical
particle. A certain value of s always refers to the same particle, independent of

Fig. 3.4 Position vector. The


e2 m n
position vector .x(s, t) of the
typical particle is created by e1
vector addition using
components defined in the
x( s, t ) e
geometry sketch. For the
example problem of Fig. 3.3, s n(t )
the two components are
.z(t)e1 and .sn(t) z (t ) e1

@seismicisolation
@seismicisolation
3.4 Bodies with Mass Distributed Along a Line 91

translation and rotation of the bar. The unit vectors .n and .m can be expressed in
terms of the angle .θ (t) as

n(t) = cos θ (t)e1 + sin θ (t)e2


. (3.9)
m(t) = − sin θ (t)e1 + cos θ (t)e2

These definitions guarantee that .n(t) always points along the axis of the bar, no
matter what value the variable .θ (t) takes on.
With these definitions, we can describe the position of the typical particle as

x(s, t) = z(t)e1 + s n(t)


. (3.10)

Observe that the position vector is a function of both the spatial variable s and time
t. This is important because it is the position of the typical particle and, therefore,
can represent any particle in the system. The position vector is built from the time-
dependent variables .z(t) and .θ (t). The end goal is to derive equations of motion that
will allow us to find the functions .z(t) and .θ (t). Once they are known, then we can
locate any particle in the system at any time.
The velocity and acceleration of the typical particle can be determined by
differentiation of the position vector. This step is a straightforward application of
differential calculus. To wit,

ẋ(s, t) = ż(t)e1 + s θ̇ (t)m(t)


. ( ) (3.11)
ẍ(s, t) = z̈(t)e1 + s θ̈ (t)m(t) − θ̇ 2 (t)n(t)

To see how these expressions came about, it is worth taking a close look at the time
derivatives of the vectors .n(t) and .m(t), which can be accomplished with the chain
rule for differentiation of Eq. 3.9. For example, the derivative of .n is

dn(t) d ( ) dθ
= cos θ e1 + sin θe2
. dt dθ dt
( )
= − sin θe1 + cos θe2 θ̇ = θ̇m

The term in parentheses on the second line is simply the expression for the unit
vector .m(t) from Eq. 3.9. Thus, we can write .ṅ = θ̇m. Following a similar derivation
for .m(t), we find that .ṁ = −θ̇ n. These results, in conjunction with the product
rule for differentiation, allow us to compute velocity and acceleration directly from
the position vector in terms of derivatives of the (as yet unknown) time-dependent
variables.
We do not know the explicit expressions for .z(t) or .θ (t), but we call their time
derivatives .ż(t) and .θ̇ (t). This is how differential equations are born. In a sense, .ż(t)
and .θ̇(t) are just two more functions that we do not know. What we do know is that
they are related to .z(t) and .θ (t) through differentiation. Ultimately, we will derive

@seismicisolation
@seismicisolation
92 3 Rigid Body Motion in a Plane

differential equations that relate the functions and their derivatives. That will put us
in the position to solve for these functions.
It should be evident that the key to formulating the kinematics is the position
vector. In this task we build in many, if not all, of the constraints of the problem,
including the rigidity constraint itself, which manifests in the fact that the position
of the particle located a distance s from the bottom of the bar remains that same
distance throughout the motion. In this example, the bottom of the bar is constrained
to move along a horizontal surface. That constraint is satisfied by using .z(t)e1
to build the position vector. The reference point (the bottom end of the bar) can
only move in the .e1 direction. We will find that some constraints (e.g., the no-slip
condition in a rolling wheel) cannot be built into the position vector and must be
enforced by other means.

3.4.3 Kinetics

Each particle in the system obeys Newton’s laws. We can use that fact to create
what are called Euler’s laws of motion for a rigid body. The key to this derivation is
shown in Fig. 3.5, which shows free body diagrams of two adjacent particles in the
bar, .Bi−1 and .Bi .
Both particles have length .Δs. The body force associated with each particle is
.bΔs, where .b is the applied force per unit length (e.g., for the example at hand,

.b = −ρ̄ge2 ). The traction forces at the top and bottom of each particle are created

by the equal and opposite actions of the adjacent particles, as required by Newton’s
third law. Hence, the force at the top of .Bi−1 is .fi and the force at the bottom of .Bi
is .−fi .6 The equation of motion for particle .Bi is

Fig. 3.5 Cancellation of the si 1 fi 1


fluxes in the bar problem. We
can establish the equation of i
motion for each particle and si
then add all the equations fi b( i , t ) s
together. The internal forces
all cancel out si fi
i 1
si 1
b( i 1 ,t) s
fi 1

6 We show the resultant force, e.g., .fi , so it is reasonable to ask about internal moment, which must
be present. If you replace the resultant force with distributed traction forces at each point on the
cross section and apply the same argument, then you can see that all of the traction forces cancel
for the same reason illustrated here. The distributed traction forces would account for the internal
moment.

@seismicisolation
@seismicisolation
3.4 Bodies with Mass Distributed Along a Line 93

. − fi + fi+1 + b(ξi , t)Δs = ρ̄Δs ẍ(ξi , t)

where .ξi indicates a value of s somewhere between .si and .si+1 (i.e., somewhere
in the domain of the particle) and .ρ̄ is the mass per unit length (density multiplied
by the area of the cross section of the bar). We can write all the balance of linear
momentum equations of the particles individually. To wit,

−f1 + f2 + b(ξ1 , t)Δs = ρ̄Δs ẍ(ξ1 , t)


−f2 + f3 + b(ξ2 , t)Δs = ρ̄Δs ẍ(ξ2 , t)

.
−f3 + f4 + b(ξ3 , t)Δs = ρ̄Δs ẍ(ξ3 , t)
..
.
−fn + fn+1 + b(ξn , t)Δs = ρ̄Δs ẍ(ξn , t)

where n is the number of particles. As the size of each particle shrinks (i.e., as
.Δs → 0), the number of particles increases (i.e., .n → ∞). If we add up all the
equations, it is evident that the internal forces cancel out. For example, the force
.f2 in the first equation cancels the force .−f2 in the second equation. If we identify

.F0 = −f1 and .FL = fn+1 , then the sum of the equations gives


n ⎲
n
F0 + FL +
. b(ξi , t)Δs = ρ̄Δs ẍ(ξi , t)
i=1 i=1

The forces .F0 and .FL are the applied forces that have no adjacent particle to cancel
them. In the limit as .n → ∞, these equations become
| L | L
F0 (t) + FL (t) +
. b(s, t) ds = ρ̄ ẍ(s, t) ds (3.12)
0 0

This is the equation of balance of linear momentum for the bar. Observe that it is a
single vector equation that governs the motion of the entire bar. The contributions
of all the particles are represented through the summation process, which becomes
an integral in the limit. Each particle contributes its own force and acceleration.
The end forces .F0 and .FL could be either applied loads or reaction forces,
depending on the specific problem. For the example problem at hand, the reaction
force is .F0 = μN e1 + Ne2 , as shown in the free body diagram of the system,
Fig. 3.3d. There is no applied force at the top end of the bar, so .FL = 0 for this
particular problem. Notice that the free body diagram shows the reaction forces at

@seismicisolation
@seismicisolation
94 3 Rigid Body Motion in a Plane

the left end and the weight associated with the typical particle.7 The friction force
is assumed to be acting to the right because we anticipate that the bar will slide to
the left. We will need to verify this assumption once the solution is obtained. If it is
not correct, then we can change the assumption and revise the problem solution.
Balance of linear momentum for our example problem has the form
| L | L
μN(t)e1 + N(t)e2 −
. ρ̄g e2 ds = ρ̄ ẍ(s, t) ds (3.13)
0 0

We can substitute the expression for the acceleration of the typical particle from
Eq. 3.11 and carry out the integration with respect to s. For the body force on the
left side of the equation, we get
| L | L
. ρ̄g e2 ds = ρ̄g e2 ds = ρ̄gL e2
0 0

The right side of the equation can be processed as


| | (
L L ( ))
ρ̄ ẍ(s, t) ds = ρ̄ z̈(t)e1 + s θ̈ (t)m(t) − θ̇ 2 (t)n(t) ds
0 0
| |
L ( ) L
.
= ρ̄ z̈(t)e1 ds + ρ̄ θ̈ (t)m(t) − θ̇ 2 (t)n(t) s ds
0 0
( )
= ρ̄Lz̈(t) e1 + 12 ρ̄L2 θ̈ (t)m(t) − θ̇ 2 (t)n(t)

It is important to observe that the integrals are with respect to s and any quantity that
is constant or depends only on t can be pulled out of the integral. The two resulting
integrals are very simple. The resulting equation of motion is
( )
μN e1 + N e2 − ρ̄gLe2 = ρ̄Lz̈ e1 + 21 ρ̄L2 θ̈ m − θ̇ 2 n
. (3.14)

where we have suppressed the dependence on time of .N(t), .z(t), and .θ (t) (and
anything built from them) for clarity of the long equation. This equation is the
mathematical statement of balance of linear momentum.
It is worth noting that Eq. 3.14 is a vector equation, which means that it functions
algebraically as two scalar equations (one for each component of the vectors). It
is a good example of why we do not go immediately to .(x, y) components in our
derivations. It is not always evident what algebraic steps will be needed to make
headway with solving the system. It is always possible to dot the equation in any

7 Every particle has weight (and mass), but we show only the typical particle to keep the free body

diagram clean. It is also a good way to see what the moment arm is for the forces and accelerations
associated with the typical particle.

@seismicisolation
@seismicisolation
3.4 Bodies with Mass Distributed Along a Line 95

direction, which is equivalent to projecting the equations along that direction. For
example, if we wanted to solve for the angular acceleration .θ̈ and eliminate .θ̇ 2 , we
could dot the equation with .m.
We can balance angular momentum relative to the lower end of the rod. In this
case, the two reaction forces have no moment arm, and the moment arm to the
typical particle is .r = sn. Hence, balance of angular momentum has the form
| L( |
) L( )
. sn(t) ×−ρ̄g e2 ds = sn(t) × ρ̄ ẍ(s, t) ds (3.15)
0 0

We can evaluate the integral on the right side of Eq. 3.15 as follows:
| | (
L( ) L ( ))
sn(t) × ρ̄ ẍ(s, t) ds = sn × ρ̄ z̈e1 + s θ̈ m − θ̇ 2 n ds
0 0
| |
( ) L L
.
= ρ̄ z̈ n × e1 s ds + ρ̄ θ̈ e3 s 2 ds
0 0

= − 12 ρ̄L2 z̈ sin θ e3 + 31 ρ̄L3 θ̈e3

where we have noted that .n × e1 = − sin θ e3 , .n × m = e3 , and .n × n = 0. Again,


the integrals with respect to s turn out to be very simple. Carrying out a similar
calculation on the left side of the equation, the final equation of motion is

. − 12 ρ̄gL2 cos θ e3 = − 21 ρ̄L2 z̈ sin θ e3 + 31 ρ̄L3 θ̈ e3 (3.16)

This equation is the mathematical statement of balance of angular momentum.


Now, we can dot Eq. 3.14 with .e1 and .e2 and Eq. 3.16 with .e3 to get a system of
differential equations:
( )
μN − ρ̄Lz̈ + 12 ρ̄L2 θ̈ sin θ + θ̇ 2 cos θ = 0
( )
. N − 12 ρ̄L2 θ̈ cos θ − θ̇ 2 sin θ = ρ̄gL (3.17)

− 12 ρ̄L2 z̈ sin θ + 13 ρ̄L3 θ̈ = − 21 ρ̄gL2 cos θ

Observe that there are three equations and three unknowns .N(t), .z(t), and .θ (t).
Notice, also, that only the motion variables have time derivatives. The force variable
.N (t) can be eliminated algebraically to form two differential equations involving

only .z(t) and .θ (t). Equations in Eq. 3.17 are nonlinear differential equations, which
is the most common outcome for rigid body dynamics. There are no known classical
methods to solve most of these equations, but they are easily solved numerically. We
can, however, ask questions about certain snapshot states, as the following example
shows.

@seismicisolation
@seismicisolation
96 3 Rigid Body Motion in a Plane

Example 3.1 Find the initial linear acceleration, angular acceleration, and
normal force of a bar sliding on a smooth surface (i.e., .μ = 0) starting at rest
from an initial angle .ϕo = π/3 rad from horizontal. Note that the equations of
motion are given in Eq. 3.17.
Since the bar starts at rest, .θ̇ (0) = 0 and .θ (0) = π/3. We can solve for
the initial normal force, linear acceleration, and angular acceleration by
specializing the equations to .t = 0. Let us denote

No = N(0),
. z̈o = z̈(0), θ̈o = θ̈(0)

and observe that .cos(π/3) = 1/2 and .sin(π/3) = 3/2. The equations of
motion reduce to

−ρ̄Lz̈o + 3 2
4 ρ̄L θ̈o =0
. No − 41 ρ̄L2 θ̈o = ρ̄gL

− 3 2
4 ρ̄L z̈o + 13 ρ̄L3 θ̈o = − 14 ρ̄gL2

which is a linear system of three equations in three unknowns. These


equations can be solved algebraically to find the initial accelerations and
normal force:
√ g
. z̈o = − 3 7 3 g, θ̈o = − 12
7 , No = 47 ρ̄gL
L
Recall from Fig. 3.3 that .z(t) is positive to the right and .θ (t) is positive in
the counterclockwise direction. Hence, it makes intuitive sense that both the
linear and angular accelerations are initially negative. The bar will slide to the
left and rotate in a clockwise direction. It is interesting to note that the normal
force is only .4/7 of the total weight of the bar, which is .ρ̄gL (mass per unit
length times length times the acceleration of gravity). The normal force is
positive, confirming that the end of the bar is in contact with the surface.

3.4.4 Problems with Circular Geometry

Circular geometries are among the most important geometries for rigid bodies. The
wheel was one of the first simple machines invented by humans. For problems
with circular geometry, we will formulate the problem in a way that allows us take
advantage of polar coordinates to carry out the integration over the domain of the
body.

@seismicisolation
@seismicisolation
3.4 Bodies with Mass Distributed Along a Line 97

e2
e1 m n

r rn g e2 r d
(t )
z (t ) e1

R
(a ) (b) (c)

Fig. 3.6 Unbalanced hoop problem. (a) Circular hoop of radius r with mass per unit length of .ρ̄
from .B to .D on top and negligible mass for the rest of the circle. (b) Geometry sketch showing
components of the position vector. (c) Free body diagram

To illustrate what is at stake, we will consider the problem of the unbalanced


hoop rolling without slipping on a flat surface, as shown in Fig. 3.6. The hoop has
center .C, radius r, and mass per unit length of .ρ̄ over half the perimeter (from .B
to .D) and negligible mass over the remaining half but adequate rigidity to roll as a
complete circle. Figure 3.6a defines the location of the typical particle .A with polar
coordinates (.r, ϕ). Since the radius r is constant, the spatial variable is .ϕ (analogous
to s in the straight bar of the previous example). The value .ϕ = 0 refers to point .D
and the value .ϕ = π refers to point .B, independent of the state of rotation of the
hoop.
Kinematics Figure 3.6b shows the geometry sketch of the hoop at some arbitrary
time t, identifying the origin .O, the base vectors .{e1 , e2 }, and the time-dependent
variables .z(t) and .θ (t). This sketch also shows the vectors .n and .m, which can be
expressed as

n(ϕ, t) = cos(θ (t) + ϕ)e1 + sin(θ (t) + ϕ)e2


. (3.18)
m(ϕ, t) = − sin(θ (t) + ϕ)e1 + cos(θ (t) + ϕ)e2

These vectors are functions of both .ϕ and t because the total angle from horizontal
to the line defined by .n is .θ (t) + ϕ. The angle .θ (t) measures the rotation of the
hoop (every point on the hoop feels the same rotation), while the angle .ϕ measures
the location of the typical particle .A relative to point .D. The former is a time-
dependent variable, the latter is an independent spatial variable and the one we will
use for integration over the domain of the body when the time comes. Take the time
derivative of .n and .m to show that

. ṅ = θ̇ m, ṁ = −θ̇ n

The position vector can be expressed as

@seismicisolation
@seismicisolation
98 3 Rigid Body Motion in a Plane

x(ϕ, t) = z(t)e1 + r n(ϕ, t)


. (3.19)

There is a choice we made for characterizing the geometry that deserves explana-
tion. First, we took the origin .O to be a distance r above the surface. As the hoop
rolls, the center of the circle always remains a distance r above the surface. Selecting
the origin to also be at that level allows us to track the motion of the center of the
hoop with the vector .z(t)e1 , which builds in the constraint that the hoop always
remains on the surface. This strategy will be useful for most problems with circular
geometry.
The time derivative of position is velocity, and the time derivative of velocity is
acceleration. To wit,

ẋ(ϕ, t) = ż(t)e1 + r θ̇ (t)m(ϕ, t)


. ( ) (3.20)
ẍ(ϕ, t) = z̈(t)e1 + r θ̈ (t)m(ϕ, t) − θ̇ 2 (t)n(ϕ, t)

where we have used the product rule and chain rule along with the relationships for
the derivatives of .n and .m.
The No-slip Condition Now that we have an expression for the velocity of the
typical particle, we need to address the constraint implied by the problem statement
that the hoop rolls without slipping. What that means is that there is friction between
the hoop and the surface, and, further, the coefficient of friction is large enough that
slip between the two surfaces is prevented. In other words, the hoop has plenty of
traction on the surface. In reality, we would need to assess the coefficient of friction
and at the end of the problem verify that slipping did not occur. But for this problem,
let us just stipulate that no slipping occurs (and thus there is no need to specify the
value of .μ).
The no-slip condition is a constraint that we cannot build into the position vector
because it is a condition on the velocity of the hoop at the point in contact with the
horizontal surface. As the hoop rolls, the physical point on the hoop that is in contact
changes with time. What we know is that the velocity of the point in contact is zero
because the surface has zero velocity, and if the hoop at that point has a velocity
other than zero, then there would be relative motion (i.e., slipping).
The point in contact is not the typical particle but rather a specific particle. That
said, the equation for the velocity of the typical particle can always be specialized
to any particle in the system. To determine the velocity at that point, what we need
is the value of the vector .m(ϕ, t). Looking at the sketch, and pulling the .n and .m
vectors back to that point, it is evident that .m = e1 at that point. Hence, the velocity
of the point in contact, from Eq. 3.20, is

ẋ(P, t) = ż(t)e1 + r θ̇ (t)e1 = 0


.

where we have used the notation .x(P, t) to mean the point .P, since we have not
actually computed the value of .ϕ for that point. The point .P is the location where
.θ (t) + ϕ = 3π/2. Plugging this value back into Eq. 3.18 verifies that .m = e1 at .P.

@seismicisolation
@seismicisolation
3.4 Bodies with Mass Distributed Along a Line 99

This also proves that the actual particle in contact with the surface changes with
time. The particle in contact only has zero velocity for an instant before it moves
out of contact.
Since the velocity at .P must be zero for all time, it must be true that

.ż(t) + r θ̇ (t) = 0 → ż(t) = −r θ̇ (t)

What this means is that the variable .z(t) is not independent of the variable .θ (t). In
a problem with rolling without slipping, the translation of the center of the circle
depends upon the rotation. This constraint is a velocity constraint and can only be
implemented once the expression for the velocity is known. While it was convenient
to use .z(t) to create the position vector, we must now eliminate it in favor of the
single time-dependent variable .θ (t). Observe that we can integrate .ż(t) = −r θ̇(t)
to get

z(t) = −r θ (t) + zo
.

where .zo is the constant of integration. If we select the origin .O to be immediately


under the center of the circle at time .t = 0, then .zo = 0. The location of the origin is
arbitrary, so we can make this choice without loss of generality. It is also true that
.z̈(t) = −r θ̈(t). Now, we can revise the position, velocity, and acceleration to reflect

the constraint. Doing so gives


( )
x(ϕ, t) = r n(ϕ, t) − θ (t)e1
( )
. ẋ(ϕ, t) = r θ̇ (t) m(ϕ, t) − e1 (3.21)
( )
ẍ(ϕ, t) = r θ̈ (t) m(ϕ, t) − e1 − r θ̇ 2 (t)n(ϕ, t)

These are the final equations for the state variables in terms of the unknown rotation
θ (t).
.

The ramifications of the no-slip condition on the velocity field are shown in
Fig. 3.7, where the velocity vector is plotted on the hoop at eight points equally
spaced along the hoop. The velocity vectors are computed using Eq. 3.21 for
negative .θ̇ , i.e., clockwise rotation. Of course, the velocity is zero at point .P. The
points on the left side of the hoop have upward components of velocity and the
points on the right have downward components. All points have a positive horizontal

Fig. 3.7 Hoop velocity field.


The velocity vectors at certain
locations on the hoop,
according to Eq. 3.21b for
clockwise rotation (i.e.,
negative .θ̇)

@seismicisolation
@seismicisolation
100 3 Rigid Body Motion in a Plane

Fig. 3.8 Hoop path of motion. The path of motion for certain locations on a hoop of radius .r = 1,
according to Eq. 3.21(a) for a clockwise rotation

component, reflecting the net forward motion of the hoop. The point with the highest
velocity is the one directly above the point of contact. The center of the hoop has a
horizontal velocity equal to half the value of the top point.
To get a better understanding of the motion of the hoop, consider Fig. 3.8. The
path of motion is plotted for eight points (the same points as Fig. 3.7) along a hoop
of radius .r = 1 for a clockwise rotation. The open circles indicate the locations of
the points at the start and the closed circles indicate the location of those same
points at the end. The heavy line is for the point that starts at .x = 1 and .y = 0.
The hoop experiences two complete rotations. Therefore, the points end at the same
relative orientation that they started, translated to the right by a distance equal to
.4π r = 12.57. Observe that the path of motion for each point is a cycloid with a cusp

at the location where the point touches the surface.


The velocity vectors are tangent to the path of motion for each point. The vectors
shown in Fig. 3.7 are tangent to the paths at the start. It is interesting to note that
the tangent to the path of motion is discontinuous at point of contact. The velocity
vector is not discontinuous because its magnitude goes to zero at .P. The change
in direction of the tangent to the path of motion is what makes the velocity vectors
point up on the left and down on the right. These observations about the motion hold
for any circular geometry where there is rolling without slipping because they are
purely kinematic facts. Next, we look at kinetics.
Balance of Momentum Figure 3.6c is the free body diagram of the hoop, showing
the weight force associated with the typical particle and the reaction force where
the hoop touches the ground. Balance of linear momentum will result in an equation
for the reaction force .R(t). Let’s skip that and get right to balance of angular
momentum, which will yield an equation for the rotation angle .θ (t). Balance of
angular momentum relative to point .P gives
| |
π( ) ( ) π ( )
. r n + e2 × −ρ̄g e2 r dϕ = r n + e2 × ρ̄ ẍ(ϕ, t) r dϕ
0 0
(
because the vector from .P to .A is .r n + e2 ). Observe that in polar coordinates, the
element of integration along the line is .ds = r dϕ. The integrals look a bit scary, but

@seismicisolation
@seismicisolation
3.4 Bodies with Mass Distributed Along a Line 101

take note of what does not depend upon the variable of integration: .ρ̄, g, .e1 , .θ , and
r. In fact, the only integrals that we will need to compute are
| π | π
. sin(θ + ϕ) dϕ = 2 cos θ, cos(θ + ϕ) dϕ = −2 sin θ
0 0

which use the facts that .cos(θ + π ) = − cos θ and .sin(θ + π ) = − sin θ , respec-
tively. Our strategy will be to carry out the cross products first, and then do the
integration over the domain of the body.
The left side of the equation can be evaluated as
| | π
π( ) ( )
r n + e2 × −ρ̄g e2 r dϕ = −ρ̄gr 2
n × e2 dϕ
0 0
| π
.
= −ρ̄gr 2 cos(θ + ϕ) e3 dϕ
0

= 2ρ̄gr 2 sin θ e3

where we first observe that any vector crossed with itself is zero and then compute
n × e2 by just returning to the definition of .n in terms of the base vectors and
.

distributing the product. Ultimately, we only need to compute cross products of


the unit base vectors.
To evaluate the right side of the equation, we must first substitute the acceleration
from Eq. 3.21. Thus, the integrand becomes
( ) ( ) ( ( ) )
r n + e2 × ρ̄ ẍ(ϕ, t) = r n + e2 × ρ̄ r θ̈ m − e1 − r θ̇ 2 n
{ ( ) ( ) ( ) }
. = ρ̄r 2 θ̈ n + e2 × m − e1 − θ̇ 2 n + e2 × n
{ ( ) }
= ρ̄r 2 θ̈ 2 + 2 sin(θ + ϕ) + θ̇ 2 cos(θ + ϕ) e3

Again, to get the cross products, which obey the distributive law of multiplication,
one only needs to return to the definitions of .n and .m from Eq. 3.18. Another way to
look at the cross products between unit vectors is that they are equal to the sine of the
angle between them times a unit vector perpendicular to both. The angle between .e2
and .m is .θ + ϕ, as is the angle between vectors .e1 and .n. The angle between vectors
.e2 and .n is . π − (θ + ϕ). The angles between the vectors can generally be gleaned
1
2
directly from the geometry sketch, in this case Fig. 3.6b. Sometimes is it helpful to
draw a separate sketch with all the unit vectors brought to a common point. The
algebraic sign on the resulting vector is determined by the right-hand rule. Even
though .n and .m depend upon both .ϕ and .θ (t), .n × m = e3 does not depend on either
variable. One of the benefits of using direct notation is that simplifications pop up
when you might not expect them to.

@seismicisolation
@seismicisolation
102 3 Rigid Body Motion in a Plane

Carrying out the integration for the right side of balance of angular momentum
from 0 to .π gives
| π( ) | ( ) |
. r n + e2 × ρ̄ ẍ(ϕ, t) r dϕ = 2ρ̄r 3 θ̈ π + 2 cos θ − θ̇ 2 sin θ e3
0

Setting the left side of the balance of angular momentum equation equal to the right
side, dividing out .2ρ̄r 2 , and taking the dot product of both sides with .e3 give
| ( ) |
g sin θ = r θ̈ π + 2 cos θ − θ̇ 2 sin θ
.

Balance of angular momentum gives a differential equation governing the evolution


of .θ (t). The equation is quite nonlinear, so we cannot expect to solve it with classical
methods. However, it is amenable to numerical solution. Before we do that, let us
take a different path to get the equation of motion using conservation of energy.
Conservation of Energy We can also find the equation of motion using conservation
of energy. To accomplish this goal, we must first compute the kinetic and potential
energy of the hoop. The kinetic energy and the potential energy due to gravity are
| π ( )
T = 1
2 ρ̄ ẋ(ϕ, t) · ẋ(ϕ, t) r dϕ
0
. | π ( )
Ug = ρ̄g x(ϕ, t) · e2 r dϕ
0

Substituting the expression for velocity from Eq. 3.21, we can compute the kinetic
energy as follows:
| π ( )
T = 1
2 ρ̄ r θ̇ (m − e1 ) · r θ̇ (m − e1 ) r dϕ
0
| π
= 12 ρ̄r 3 θ̇ 2 (m − e1 ) · (m − e1 ) dϕ
0
.
| π( )
= ρ̄r 3 θ̇ 2 1 + sin(θ + ϕ) dϕ
0
( )
= ρ̄r 3 θ̇ π + 2 cos θ
2

Similarly, the potential energy associated with gravity can be computed as


| π ( )
Ug = ρ̄g r (n −θ e1 ) · e2 r dϕ
0
| π
.
= ρ̄gr 2
sin(θ + ϕ) dϕ
0

= 2ρ̄gr 2 cos θ

@seismicisolation
@seismicisolation
3.4 Bodies with Mass Distributed Along a Line 103

Conservation of energy means that .T + Ug = constant. Therefore, the time deriva-


tive of the total energy must be zero. To wit,

d( ) d | 3 2( ) |
T + Ug = ρ̄r θ̇ π + 2 cos θ + 2ρ̄gr 2 cos θ
dt dt
| ( ) |
. = ρ̄r 3 2θ̇ θ̈ π + 2 cos θ − 2θ̇ 2 sin θ θ̇ − 2ρ̄gr 2 sin θ θ̇
{ | ( ) | }
= 2ρ̄r 2 r θ̈ π + 2 cos θ − θ̇ 2 sin θ − g sin θ θ̇ = 0

This equation must be true for all time. We know that .θ̇ (t) will not be zero all the
time. If that were the case, then the system would not be in motion. Hence, the term
in curly brackets itself must be zero. To wit,
| ( ) |
r θ̈ π + 2 cos θ − θ̇ 2 sin θ − g sin θ = 0
.

which is exactly the same equation we got from balance of angular momentum.
This example shows many of the features associated with deriving equations of
motion for a rigid body with mass distributed along a line. We encountered the no-
slip condition, we integrated over the domain of the body using polar coordinates,
and we derived equations of motion both by balance of momentum and conservation
of energy. If we need the reaction force .R, then we must do balance of linear
momentum. We cannot get the reaction force from conservation of energy because
it has no power and does no work—the power is zero because the velocity at the
point of action of the force is zero.
Solution by Numerical Integration The equation of motion of the unbalanced hoop
is nonlinear and, hence, not amenable to classical solution techniques. We can solve
the problem by numerical integration (see Appendix C to refresh the details). To set
up the computation, first make the associations

xn ← θ (tn ),
. vn ← θ̇ (tn ), an ← θ̈ (tn )

Let .α be the angular acceleration we seek at step .n + 1. Thus, when converged,


α → an+1 . The generalized trapezoidal rule allows us to express the new angle and
.

angular velocity in terms of the new angular acceleration. To wit,

xn+1 (α) = bn + ζ α
. vn+1 (α) = cn + η α

where .bn = xn + hvn + β(1−β)h2 an is the part of the angle at step .n + 1 that can
be computed from the state at step n and .cn = vn + βhan is the part of the angular
velocity that can be computed from state n. Recall that the integration parameters
are .η = (1−β)h and .ζ = η2 . Let us introduce the residual function
| | | |
G(α) = r π + 2 cos(xn+1 (α)) α − g + rvn+1
.
2
(α) sin(xn+1 (α))

@seismicisolation
@seismicisolation
104 3 Rigid Body Motion in a Plane

such that if .G(α) = 0, then the equations of motion are satisfied at step .n + 1. The
tangent for Newton’s method is simply the derivative of the residual with respect to
.α. Thus,

∂G | |
A= = r π + 2 cos(xn+1 ) − 2ζ r sin(xn+1 )α
. ∂α
| | | |
− η 2rvn+1 sin(xn+1 ) − ζ g + rvn+1
2
cos(xn+1 )

Code 3.1 implements these equations in the standard time-stepping framework.

Code 3.1 MATLAB code for numerical solution of the unbalanced hoop problem using general-
ized trapezoidal rule and Newton’s method

clear; clc;

%. Input problem data


gravity = 9.81; % Acceleration of gravity
r = 3.0; % Radius of hoop
xo = 0.4; % Initial angle
vo = 0.15; % Initial angular velocity
tf = 30.0; % Duration of analysis

%. Numerical analysis parameters


h = 0.05; % Time increment
beta = 0.5; % GTR parameter
eta = (1-beta)*h; % GTR parameter
zeta = eta^2; % GTR parameter
nSteps = ceil(tf/h); % Number of steps
tol = 1.e-8; % Tolerance on Newton iteration
itmax = 10; % Maximum Newton iterations
Hist = zeros(nSteps,3); % Storage for plotting

%. Initialize angle, angular velocity, and angular acceleration


t = 0;
xold = xo;
vold = vo;
aold = (gravity+r*vo^2)*sin(xo)/(r*(pi+2*cos(xo)));

%. Compute motion by numerical integration


for i=1:nSteps

%... Write the values out to Hist for plotting


Hist(i,:) = [t,xold,vold];

%... Compute the values for the next time step


t = t + h; its = 0; err = 1;
bn = xold + h*vold + beta*(1-beta)*h^2*aold;
cn = vold + beta*h*aold;
anew = aold;

%... Newton iteration to find new angular acceleration


while (err > tol) && (its < itmax)
its = its + 1;
xnew = bn + zeta*anew;
vnew = cn + eta*anew;
cx = cos(xnew); sx = sin(xnew);
G = r*(pi+2*cx)*anew - (gravity+r*vnew^2)*sx;
A = r*(pi+2*cx) - 2*zeta*r*anew*sx - 2*eta*r*vnew*sx ...
- zeta*(r*vnew^2 + gravity)*cx;
anew = anew - G/A;
err = norm(G);
end

@seismicisolation
@seismicisolation
3.4 Bodies with Mass Distributed Along a Line 105

%... Compute generalize trapezoidal rule one more time


xnew = bn + zeta*anew;
vnew = cn + eta*anew;

%... Put new values into old locations to get ready for next step
aold = anew;
vold = vnew;
xold = xnew;

end

PlotHoopFigs(Hist,i,tf)

Most of the code is self-explanatory, given the equations that precede it. Please
refer to Appendix C for more explanation about nomenclature and the derivation
and application of the generalized trapezoidal rule. The main change from one
application to the next is the equation of motion. Thus, the residual and tangent
are appropriate to the present application. The framework of the code is the same as
Code 2.1 in the previous chapter. The function PlotHoopFigs is not presented,
but its role is to create the graphs shown in the following example.

Example 3.2 Consider an unbalanced hoop of radius .r = 3 m with initial


angle .θ (0) = 0.1 rad and initial angular velocity of .θ̇(0) = 0.15 rad/s. Compute
the response as a function of time.
The initial conditions imply that the hoop is rotated counterclockwise
from having the line connecting the two ends of the mass being hori-
zontal. The initial velocity of the center of the hoop can be computed
from .ż(0) = −r θ̇(0) = −0.45 m/s, which means that it is moving in the .−e1
direction.
The response is shown in Fig. 3.9. The chart on the left shows .θ (t) and the
one on the right shows .θ̇ (t). The plot of the angle vs. time shows that the hoop

Fig. 3.9 Unbalanced hoop continuous rolling. A hoop of radius .r = 3 m with initial angle
.θ(0) = 0.1 rad and initial angular velocity of .θ̇(0) = 0.15 rad/s. The acceleration of gravity
is .g = 9.81 m/s2

(continued)

@seismicisolation
@seismicisolation
106 3 Rigid Body Motion in a Plane

Example 3.2 (continued)

Fig. 3.10 Unbalanced hoop oscillation. A hoop of radius .r = 3 with initial angle
.θ(0) = 0.4 rad and initial angular velocity of .θ̇(0) = 0.15 rad/s. The acceleration of gravity
is .g = 9.81 m/s2

is rolling continuously in a single direction. If the mass were uniform and


complete around the entire hoop, then the angular velocity would be constant
and the angle vs. time plot would be linear. The imbalance of the hoop is
clearly evident in both the angle and angular velocity vs. time.
Continuous rolling motion with monotonically increasing .θ (t) requires an
initial energy greater than the maximum potential energy. If .θ (0) = 0, then the
hoop is in a configuration of maximum potential energy. In that position, if the
hoop is given any initial angular velocity, then continuous rolling will ensue
because the additional kinetic energy makes the total energy greater than the
maximum potential energy. However, if the line that joins the two ends of
the segment with mass is not horizontal, then an initial velocity lower than a
critical value will not result in continuous rolling, but rather oscillation.
Figure 3.10 shows the response for an initial angle .θ (0) = 0.4 rad and
initial angular velocity of .θ̇ (0) = 0.15 rad/s. The hoop oscillates between the
initial angle and the angle .2π − θ (0) = 5.883 rad. The angular velocity still
shows the sharp peaks of the previous case, but now alternates between
positive and negative values.

3.5 Bodies with Mass Distributed Over an Area

The main advantage of idealizing a body as having its mass distributed along a line is
that the integrals over the domain of the body in the computations of either balance
of momentum or energy are line integrals—single integrals with one variable of
integration. For two- and three-dimensional bodies, the integration gets a little more

@seismicisolation
@seismicisolation
3.5 Bodies with Mass Distributed Over an Area 107

Fig. 3.11 Cancellation of fluxes. The concept of cancellation of fluxes (internal forces) for a body
with domain represented by a planar region

complex. In this section, we will advance to cases where the body can be idealized
as a two-dimensional region (i.e., an area). We will continue to consider motion in a
plane and the body will have its extent in the plane of motion. This restriction does
not mean that the body must have uniform thickness to qualify. We will consider
.ρ̂ to be mass per unit area, essentially the density times thickness, and we can

accommodate a body with variable thickness by considering .ρ̂ to be a function of


the spatial variables that locate the typical particle.
The cancellation of the fluxes is exactly the same as it was for the rod. Figure 3.11
shows a body divided into eight polygonal regions (the sketch on the left). If each
polygon is taken as a free body diagram, the forces exposed by the cuts all have an
equal and opposite counterpart from another polygon—except for on the external
boundaries, which is where the external loads are applied. In the figure, the equal
and opposite traction forces on the interior surfaces are shown (like the pair that is
circled with a dotted line). The traction forces on the exterior surface are shown as
thicker gray arrows. If we subdivide each of the polygons into smaller polygons,
the interior forces exposed would continue to appear in equal and opposite pairs
with adjoining polygons. In the limit, the polygons are infinitesimal in size and
there are an infinite number of them. However, the internal fluxes all appear in equal
and opposite pairs. We can write balance of linear and angular momentum for each
particle using Newton’s second law. If we sum these equations, then we get the
equations of motion for the overall body. In that process, all the internal fluxes cancel
out. This argument does not depend upon the regions being polygonal, it is just a
visualization device to help make the original picture clear.

3.5.1 Bodies with Rectangular Geometry

We will demonstrate what is at stake though an example of a rectangular block


hinged at one corner, as shown in Fig. 3.12. The rectangle has dimensions a by b

@seismicisolation
@seismicisolation
108 3 Rigid Body Motion in a Plane

e2
e1
r s ˆ g e 2 dA
b x
m (t )
n
a R

(a) (b) (c)

Fig. 3.12 Rotating rectangle. (a) A rectangle of dimensions a by b with uniform mass per unit
area .ρ̂ is hinged at the lower left corner. The rectangle can rotate without interference from the
support. (b) Geometry sketch. (c) Free body diagram

and has a uniform mass per unit area of .ρ̂. Translation of the lower left corner is
prevented by the support hinge.
It takes two independent spatial variables to uniquely identify the location of the
typical particle .A. This is one of the key differences between this class of problems
and problems with mass distributed along a line. We will use r to measure distance
along the side with dimension a and s to measure distance along the side with
dimension b. The motion variable is .θ (t), which is measured from horizontal to
the edge with dimension a. The origin .O is best taken at the hinge because that
point does not translate.
Position, Velocity, and Acceleration The position vector of the typical particle .A
can be written as

.x(r, s, t) = r n(t) + s m(t) (3.22)

where the unit vectors .n(t) and .m(t) are defined in terms of the base vectors and the
motion variable as

n(t) = cos θ (t)e1 + sin θ (t)e2


.
m(t) = − sin θ (t)e1 + cos θ (t)e2

By chain rule, one can show that .ṅ = θ̇ m and .ṁ = −θ̇ n.
Observe that the position vector has three independent variables: the two spatial
variables r and s and time t. The spatial variables do not depend on time. The
velocity and acceleration can be computed from the position vector by direct
differentiation. To wit,
( )
ẋ(r, s, t) = r m(t) − s n(t) θ̇ (t)
. ( ) ( ) (3.23)
ẍ(r, s, t) = r m(t) − s n(t) θ̈ (t) − r n(t) + s m(t) θ̇ 2 (t)

@seismicisolation
@seismicisolation
3.5 Bodies with Mass Distributed Over an Area 109

Balance of Momentum The free body diagram is shown in Fig. 3.12c. It includes
the reaction at the support and the weight of the typical particle .A. Balance of linear
momentum gives
| |
R−
. ρ̂g e2 dA = ρ̂ ẍ(r, s, t) dA
B B

Substituting the expression for the acceleration of the typical particle and imple-
menting the specific limits of integration, we can compute
| b| | b| ((
a a ) ( ) )
R− ρ̂g e2 dr ds = ρ̂ rm − sn θ̈ − rn + sm θ̇ 2 dr ds
. 0 0 0 0
(1 ) ( )
R − ρ̂gab e2 = ρ̂ 2a
2
bm − 21 ab2 n θ̈ − ρ̂ 12 a 2 bn + 12 ab2 m θ̇ 2

Balance of angular momentum, with moments taken relative to the origin, can be
written as
| |
( )
. r × −ρ̂g e2 dA = r × ρ̂ ẍ(r, s, t) dA
B B

where the moment arm is .r = rn + sm, which is also the same as the position vector
in this case. Noting that .n × e2 = cos θ e3 and .m × e2 = − sin θ e3 , the left side of
the equation becomes
| | b|
( ) a( ) ( )
r × −ρ̂g e2 dA = rn + sm × −ρ̂g e2 dr ds
B 0 0
| b| a( )
.
= −ρ̂g r cos θ − s sin θ e3 dr ds
0 0
(1 )
= −ρ̂g 2a
2
b cos θ − 12 ab2 sin θ e3

The right side of the equation becomes


| | b| a( ) ( )
r × ρ̂ ẍ(r, s, t) dA = rn + sm × ρ̂ rm − sn θ̈ dr ds
B 0 0
| b| a ( )
.
= ρ̂ r 2 + s 2 dr ds θ̈ e3
0 0
(1 )
= ρ̂ 3a
3
b + 13 ab3 θ̈ e3

There are a few items to unpack here. First, the reason that the second term in the
acceleration from Eq. 3.23 does not appear is because the vector part is exactly the
same as the moment arm .r = rn + sm. Any vector crossed with itself is zero. We

@seismicisolation
@seismicisolation
110 3 Rigid Body Motion in a Plane

have also noted that .n × m = e3 and .m × n = −e3 . Setting the left and right sides
equal to each other gives the final equation of balance of angular momentum:
(1 ) ( )
−ρ̂g
.
2a
2
b cos θ − 21 ab2 sin θ e3 = ρ̂ 13 a 3 b + 13 ab3 θ̈ e3

One observation we can make is that .m = ρ̂ab is the total mass of the rectangular
block. We can simplify our balance of angular and linear momentum equations
by dotting the balance of angular momentum equation with .e3 and factoring out
common terms to get the final form:
( 2 ) ( )
1
3ma + b2 θ̈ + 12 mg a cos θ − b sin θ = 0
. (( ) ( ) ) (3.24)
R = mg e2 + 12 m am − bn θ̈ − an + bm θ̇ 2

There are several important features of this example that deserve mention. First,
the integration over the domain of the body turned out to be very simple. The
cross products that appear in balance of angular momentum all end up being
cross products of unit vectors and were fairly easy to compute. Balance of angular
momentum turned out to be a differential equation that involved only .θ (t) because
we took moments about the point where the reaction force acts. Balance of linear
momentum yields, in essence, an equation to compute the reaction force .R(t). As a
solution strategy, then, the first equation could be solved for .θ (t) and its derivatives.
Once found, those quantities can be substituted into the second equation to get the
reaction force.
For planar motion problems, we will always have three equations and three
unknowns. Two of the equations come from balance of linear momentum and one
comes from balance of angular momentum. The unknowns, in general, will include
some motion variables, like .θ (t) in this problem, and some reactions, like .R(t) in
this problem, depending on the support conditions. If there is adequate support to
give three reactions, then motion is not possible (that is what you studied in Statics).
If there are no supports, then we have the rigid body version of projectile motion.

3.5.2 Bodies with Circular Geometry

Conceptually, bodies with circular geometry are no different from bodies with rect-
angular geometry. However, it is much more convenient to execute the integration
over the domain of the body in polar coordinates for a circular geometry. In this
section, we will look at a specific example to show how the calculations are laid
out. Specifically, we will consider a uniform disk of radius R rolling on a circular
surface of radius 2R, as shown in Fig. 3.13a. We will assume that the coefficient of
friction is large enough to prevent slipping. The center of the disk is designated as
.C. To aid the visualization of the rotation, let us scribe a line .CH on the disk. That

line is vertical in the reference configuration.

@seismicisolation
@seismicisolation
3.5 Bodies with Mass Distributed Over an Area 111

(t )
e2 (t )
e1
rn n
R rn
m rn
rn
Rp ˆ g dA e 2

(t )
3Rp
R
2R p
q
(a) (b) (c)

Fig. 3.13 Disk rolling on circular surface. (a) A disk of radius R with uniform mass per unit area
rolling on circular surface of radius 2R. Friction is sufficient to prevent slipping. (b) Geometry
.ρ̂
sketch. (c) Free body diagram

Geometry Sketch Figure 3.13b shows the geometry of the motion. The disk has
rolled down the surface by a small amount. The once-vertical line .CH is now
oriented at the angle .θ (t), which is one of the time-dependent motion variables
of the problem. The point of contact between the disk and the surface is .P. The line
from the origin .O through .P to .C has length 3R and is oriented at an angle .α(t),
which is the second time-dependent motion variable.
The no-slip condition will eventually allow us to relate .α(t) to .θ (t), but for the
description of the position vector, we will treat them as independent. Unit vectors .p
and .q point along the line .OPC and perpendicular to it, respectively. These vectors
can be expressed as

p(t) = sin α(t)e1 + cos α(t)e2


.
q(t) = cos α(t)e1 − sin α(t)e2

Observe that .ṗ = α̇q and .q̇ = −α̇p. To see how this goes, just take the time derivative
of the equations above and use the chain rule for differentiation.
The typical particle .A is shown. Its location is described in polar coordinates as
.(r, ϕ), where r is the radial distance from the center of the disk to .A and .ϕ is the

angle measured from line .CH to the line that passes through .A. Unit vectors .n and
.m will help us to locate the typical particle in the position vector. The expressions

for those vectors are


( ) ( )
n(ϕ, t) = sin θ (t) + ϕ e1 + cos θ (t) + ϕ e2
. ( ) ( )
m(ϕ, t) = cos θ (t) + ϕ e1 − sin θ (t) + ϕ e2

Again, we can show that .ṅ = θ̇ m and .ṁ = −θ̇ n. These relationships will be useful
in computing velocity and acceleration of the typical particle.

@seismicisolation
@seismicisolation
112 3 Rigid Body Motion in a Plane

Fig. 3.14 Components of sin


unit vectors. To construct the
components of a unit vector at e2
angle .γ , use the trigonometric
construction shown cos e1
1
cos

sin
1

As a reminder of how the unit vectors are written in terms of the base vectors,
consider Fig. 3.14. The vectors lie along the hypotenuse of a right triangle. Since the
length of the hypotenuse is one, the sides have length .cos γ and .sin γ . For .p and .q,
we can interpret .γ as .α(t). For the vectors .n and .m, we can interpret .γ as .θ (t) + ϕ.

Kinematics With the definitions made in Fig. 3.13b, we can write the position
vector as

x(r, ϕ, t) = 3R p(t) + r n(ϕ, t)


.

The time derivative of position gives the velocity, and the time derivative of velocity
gives acceleration. To wit,

ẋ(r, ϕ, t) = 3R α̇(t)q(t) + r θ̇ (t)m(ϕ, t)


. ( ) ( )
ẍ(r, ϕ, t) = 3R α̈(t)q(t) − α̇ 2 (t)p(t) + r θ̈ (t)m(ϕ, t) − θ̇ 2 (t)n(ϕ, t)

It is important to recognize where the independent variables appear in these


expressions. For example, observe that neither r nor .ϕ appear in any of the terms
associated with 3R. The variable r appears only in one place and the variable .ϕ
appears only in the unit vectors .n and .m. When carrying out the computations,
it is often convenient to suppress the dependence on the independent variables so
the equations can be written more compactly. Make sure you know where your
independent variables are.
No-slip Constraint The constraint associated with the no-slip condition has the
velocity at the point of contact, i.e., point .P, equal to zero. Since we have an
expression for the velocity of the typical particle, we can specialize it to point .P.
First, .P lies on the exterior radius of the disk. Thus, .r = R at .P. The angle at the
point of contact satisfies .θ + ϕ = π + α. It might be simpler to see that if you drag
the .n and .m vectors all the way around so the line through the typical particle
passes through .P, then .n = −p and .m = −q at .P. These facts can be verified by
substituting the angle relationship into the equations for .n and .m.
The velocity at .P is, therefore,

@seismicisolation
@seismicisolation
3.5 Bodies with Mass Distributed Over an Area 113

( )
ẋ(P, t) = 3R α̇(t) − R θ̇ (t) q(t) = 0
.

Since the unit vector .q will never be zero, the only way to satisfy this equation is if

. 3R α̇(t) − R θ̇ (t) = 0 → θ̇ (t) = 3α̇(t)

We can differentiate this result to get .θ̈ (t) = 3α̈(t). We can also integrate it to get
θ (t) = 3α(t) + θo , where .θo is the constant of integration. Because we are tracking
.

line .CH, both .θ and .α are zero at the top. Hence, .θo = 0. We can substitute these
results into the expressions for position, velocity, and acceleration to get the final
form

x(r, ϕ, t) = 3Rp(t) + rn(ϕ, t)


| |
. ẋ(r, ϕ, t) = Rq(t) + rm(ϕ, t) θ̇ (t) (3.25)
| ) | |
ẍ(r, ϕ, t) = Rq(t) + rm(ϕ, t) ]θ̈ (t) − 13 Rp(t) + 3rn(ϕ, t) θ̇ 2 (t)

The angle .α(t) has been eliminated from the kinematic expressions. We could
instead eliminate .θ (t) in favor of .α(t). Either variable is valid to keep, but you
have to make a choice and, once made, stick with it. In some problems (like the
two earlier examples in this chapter, the falling stick and the unbalanced hoop) it
may be algebraically advantageous to keep a rotation variable like .θ (t) rather than
a translation variable like .z(t), due to the presence of the trigonometric functions in
the equations.

Example 3.3 For a disk of radius R rolling on a surface of radius 2R, how
many rotations about its own center does the disk make if the disk travels
completely around the circular surface (under the assumption that the disk
remains in contact with the surface at all times)?
The disk starts at the top with .α(0) = 0 and .θ (0) = 0. Going completely
around the surface implies that .αf = 2π . Therefore, .θf = 6π . The disk makes
three complete revolutions about its own axis as it circles the circular surface
once.

Balance of Momentum To get the equations of motion, we need to balance linear


and angular momentum on the free body diagram shown in Fig. 3.13c. Notice that
the free body diagram must be at exactly the same state as the kinematic picture (it
does not make sense to say that the net force at one time is equal to the mass times
acceleration at another time). Balance of linear momentum implies
| |
. R− ρ̂g e2 dA = ρ̂ ẍ(r, ϕ, t) dA
B B

@seismicisolation
@seismicisolation
114 3 Rigid Body Motion in a Plane

where .B is the domain of the body. Substituting the expression for the acceleration
of the typical particle and carrying out the integrals in polar coordinates gives, for
the left side of the equation,
| | 2π| R
R− ρ̂g e2 dA = R − ρ̂g e2 r dr dϕ
. B 0 0

= R − π R 2 ρ̂g e2

We can recognize the total mass of the disk as .m = π R 2 ρ̂. Hence, the second term
is simply the total weight of the disk, acting in the .−e2 direction. For the right side
of the equation, we get
| | 2π| R (| ) | | )
ρ̂ ẍ(r, ϕ, t) dA = ρ̂ Rq + rm ]θ̈ − 13 Rp + 3rn θ̇ 2 r dr dϕ
B 0 0
( )
.
= π R 2 ρ̂ Rq θ̈ − 13 Rp θ̇ 2
( )
= mR q θ̈ − 1
3 p θ̇ 2

where we have again recognized .m = π R 2 ρ̂ as the total mass of the disk (i.e., mass
per unit area times the area of the circle). Sometimes it is possible to identify some
simplifications. For example, it is easy to show that
| 2π | 2π
. n(ϕ, t) dϕ = 0, m(ϕ, t) dϕ = 0
0 0

The reason this is true is because each component of these vectors with respect to .e1
and .e2 is either .sin(θ + ϕ) or .cos(θ + ϕ). The integration of a sine or cosine function
over a complete cycle of .2π is zero. Thus, the terms with .m and .n integrated to zero.
Setting the left side of balance of linear momentum equation to the right side
gives
( )
. R − mg e2 = mR θ̈ q − 13 θ̇ 2 p

Recall that we originally defined .p and .q in terms of the angle .α(t). We can easily
revise them to be, e.g.,

. p = sin(θ/3)e1 + cos(θ/3)e2

As usual, balance of linear momentum results in an equation for the reaction force
R, which we can evaluate once we find .θ (t) and its derivatives.
.

@seismicisolation
@seismicisolation
3.5 Bodies with Mass Distributed Over an Area 115

Balance of angular momentum about the point of contact between the surface
and the disk implies
| |
( ) ( ) ( )
. Rp + rn × −ρ̂ge2 dA = Rp + rn × ρ̂ ẍ(r, ϕ, t) dA
B B

Recognizing, again, that .n integrates to zero (all the other terms on the left side do
not depend on either r or .ϕ), and .p × e2 = sin(θ/3)e3 , the left side of the equation
evaluates to
| | 2π| R
( ) ( )
Rp + rn × −ρ̂ge2 dA = −ρ̂gR sin(θ/3)e3 r dr dϕ
. B 0 0

= −ρ̂gπ R 3 sin(θ/3)e3

The right side of the equation is a bit more complicated because of the long
expression for the acceleration. However, we can execute several mathematical steps
to reduce it to a much simpler form. Let us look at the integrand:
( ) ( ) (| ) | | )
Rp + rn ×ρ̂ ẍ = Rp + rn ×ρ̂ Rq + rm ]θ̈ − 13 Rp + 3rn θ̇ 2
| ( ) ( ) |
.
= ρ̂ rR n × q + p × m − R 2 + r 2 e3 θ̈
( )
− 13 ρ̂ rR 3 p × n + n × p θ̇ 2

We have noted that .p × q = n × m = −e3 . All the terms with rR have either an .n or
an .m multiplying other terms that do not depend upon the variable of integration.
Hence, those terms all integrate to zero. Thus, the right side reduces to
| | 2π| R
( ) ( )
Rp + rn ×ρ̂ ẍ dA = −ρ̂ R 2 + r 2 e3 θ̈ r dr dϕ
B 0 0
( )
.
= −ρ̂ π R 4 + 12 π R 4 θ̈ e3

= − 32 ρ̂ π R 4 θ̈ e3

Finally, setting the left side of balance of angular momentum equal to the right side,
dividing out .ρ̂π R 3 and dotting the equation with .e3 , we get the equation of motion

g sin(θ/3) = 32 R θ̈
.

which can also be expressed in terms of the angle .α(t) as

g sin α(t) = 92 R α̈(t)


.

@seismicisolation
@seismicisolation
116 3 Rigid Body Motion in a Plane

These equations are very simple, and it is evident that somewhere in this problem
lie some important symmetries—geometries with complete circles often do. Many
terms canceled out due to being a cross product of a vector with itself, and many
integrated to zero due to using polar coordinates relative to the center of the disk.
Conservation of Energy As an interesting counterpoint to the computation using
balance of momentum, let us find the equations of motion using conservation of
energy. First, compute the kinetic energy
| | 2π| R
( ) ( ) ( )
T = 1
2 ρ̂ ẋ · ẋ dA = 1
2 ρ̂ Rq + rm θ̇ · Rq + rm θ̇ r dr dϕ
B 0 0
| 2π| R
. ( 2 )
= 1
2 ρ̂ θ̇
2
R + 2rR q · m + r 2 r dr dϕ
0 0
( )
= 12 ρ̂ θ̇ 2 π R 4 + 12 π R 4 = 34 ρ̂ π R 4 θ̇ 2

The middle term integrates to zero because it has a lone .m with all other terms not
depending on .ϕ. Another way to see it is to recognize that the dot product between
two unit vectors is the cosine of the angle between them. Looking at Fig. 3.15, it is
evident that .q · m = cos(θ + ϕ − α). The integral of a cosine function from 0 to .2π
is zero, even if the angle is shifted by a constant amount (e.g., .θ − α).
The potential energy due to gravity can be computed as
| | 2π| R
( ) ( )
Ug = ρ̂g x · e2 dA = ρ̂g 3Rp + rn · e2 r dr dϕ
. B 0 0

= ρ̂g 3π R 3 cos(θ/3)

Again, the term with .n integrates to zero and .p · e2 = cos α = cos(θ/3). Conserva-
tion of energy means that the time derivative of the total energy .T + Ug is zero
because the total energy is constant and the derivative of a constant is zero. To wit,

Fig. 3.15 Angles between


unit vectors. The dot product
between unit vectors is the p
cosine of the angle between
them. Often, you can find the
angle between vectors with a n
simple sketch. Here,
.q · m = cos(θ + ϕ − α)
q

@seismicisolation
@seismicisolation
3.6 Computation: The Double Pendulum 117

d( ) d |3 |
T + Ug = 4 ρ̂ π R 4 θ̇ 2 + ρ̂g 3π R 3 cos(θ/3)
dt dt
( ) ( )
. = 34 ρ̂ π R 4 2θ̇ θ̈ − ρ̂g 3π R 3 sin(θ/3) 13 θ̇
{ )}
= 3 4
2 ρ̂ π R θ̈ − ρ̂g π R 3 sin(θ/3) θ̇ = 0

The angular velocity .θ̇ (t) cannot be zero all the time. If it were, then the system
would not be moving. Therefore, the term in curly brackets itself must be zero.
Setting that expression equal to zero and dividing out .ρ̂π R 3 gives the equation of
motion:

.
3
2 R θ̈ − g sin(θ/3) = 0

Of course, this equation is exactly the same as the one derived by balance of
momentum. The computations, in this case, were much simpler, in part because
they did not involve the acceleration. Again, conservation of energy will not give an
equation for the reaction .R because that force does no work and, therefore, never
enters the energy calculation.

Example 3.4 For a disk of radius R rolling without slipping on a circular


surface of radius 2R, compute the initial angular acceleration of the disk if it
starts from rest at an initial point .P that is located an arc distance .R/3 down
from the peak of the circular surface.
The initial angle .α(0) = (R/3)/(2R) = 1/6 rad. Therefore, the initial angle
is .θ (0) = 3α(0) = 1/2 rad. The initial angular velocity is .θ̇ (0) = 0 because the
disk starts from rest at that initial angle. We can compute the initial angular
acceleration from the equation of motion. To wit,

.
3
2 R θ̈ (0) = g sin(θ (0)/3) = g sin(1/6)

Solving for the initial acceleration, we get


g g
θ̈ (0) =
.
2
3 sin(1/6) = 0.1106
R R

3.6 Computation: The Double Pendulum

To illustrate the formulation and numerical solution of a rigid body problem with
multiple degrees of freedom, consider the double pendulum shown in Fig. 3.16a.

@seismicisolation
@seismicisolation
118 3 Rigid Body Motion in a Plane

e2
m1 e1 R1
n1
L1 s m2 R2
1
L2 n2
1 g e 2 ds
R2
r
2
2 g e 2 dr
(a ) ( b) (c)

Fig. 3.16 Double pendulum. (a) Problem geometry. Two bars of different lengths and different
masses per unit length, pinned at .O and hinged together at .B. (b) Definition of unit vectors .ni and
.mi and distances to typical particles in each bar. (c) Free body diagrams of the two bars

The bars have lengths .L1 and .L2 with masses per unit length .ρ̄1 and .ρ̄2 , respectively.
The time-dependent variables are .θ1 (t) and .θ2 (t), each measuring the orientation of
the axis of the bar relative to vertical. The top bar is pinned at .O and the bars are
hinged together at .B.
Figure 3.16b shows the locations of the typical particles in each bar. Their loca-
tions are characterized by the independent variables s and r. Since the mathematical
description of the position vector is different in each bar, we will write position
vectors for typical particles in each bar. When it comes time to add up contributions
of the typical particles, we will use the appropriate vector for each region in the
two-bar system. The position, velocity, and acceleration of the typical particles in
bar 1 and bar 2 can be written as

x1 (s, t) = sn1 (t) x2 (r, t) = L1 n1 (t) + rn2 (t)


. ẋ1 (s, t) = s ṅ1 (t) ẋ2 (r, t) = L1 ṅ1 (t) + r ṅ2 (t) (3.26)
ẍ1 (s, t) = s n̈1 (t) ẍ2 (r, t) = L1 n̈1 (t) + r n̈2 (t)

Note that the position vector for the typical particle in bar 2 is constructed by vector
addition to go from .O to .B along bar 1 and then a distance r along bar 2. This
approach assures that the two bars have the same motion at .B, thereby satisfying
one of the key kinematic constraints of the problem. The other constraint of no
motion at .O is satisfied by the expression for the position vector .x1 (s, t) since .s = 0
at that point. The notation for the position, velocity, and acceleration relies on the
definitions of .ni (t) and .mi (t) for each bar, which can be written as

ni (t) = sin θi (t)e1 − cos θi (t)e2


.
mi (t) = cos θi (t)e1 + sin θi (t)e2

relative to the standard fixed base vectors .{e1 , e2 }, shown in Fig. 3.16b. The
derivatives of .ni (t) can be computed as

@seismicisolation
@seismicisolation
3.6 Computation: The Double Pendulum 119

ṅi (t) = θ̇i (t)mi (t)


.
n̈i (t) = θ̈i (t)mi (t) − θ̇i2 (t)ni (t)

which we will substitute as needed. These relationships hold for both bars (i.e.,
i = 1, 2).
.

We will balance angular momentum for both bars and balance linear momentum
for bar 2 to get equations of motion for .θ1 (t) and .θ2 (t). Balance of linear momentum
for bar 2 is needed so we can algebraically eliminate the internal force .R2 present
at hinge .B. Balance of linear momentum for bar 2 gives
| L2( |
) L2
R2 + −ρ̄2 ge2 dr = ρ̄2 ẍ2 dr
0 0
| L2 ( )
.
R2 − ρ̄2 L2 ge2 = ρ̄2 L1 n̈1 + r n̈2 dr
0

R2 − ρ̄2 L2 ge2 = ρ̄2 L1 L2 n̈1 + 12 ρ2 L22 n̈2

We can solve this equation for the reaction force. Denoting the mass of bar i as
mi = ρ̄i Li , the reaction force can be expressed as
.

R2 = m2 ge2 + m2 L1 n̈1 + 12 m2 L2 n̈2


. (3.27)

Balance of angular momentum for bar 2, relative to point .B, can be written as
| |
L2 ( ) L2
rn2 × −ρ̄2 ge2 dr = rn2 × ρ̄2 ẍ2 dr
0 0
|
( ) L2 ( )
− 12 ρ̄2 L22 g n2 × e2 = rn2 × ρ̄2 L1 n̈1 + r n̈2 dr
.
0
( ) ( ) ( )
− 12 ρ̄2 L22 g n2 × e2 = 12 ρ̄2 L1 L22 n2 × n̈1 + 13 ρ̄2 L32 n2 × n̈2

( ) ( ) ( )
− 12 m2 L2 g n2 × e2 = 12 m2 L1 L2 n2 × n̈1 + 13 m2 L22 n2 × n̈2

As all the vectors are in the .e1 −e2 plane, all the cross products are in the .e3 direction.
Hence, we can get a scalar equation by dotting the vector equation with .e3 . The
cyclic nature of the triple scalar product allows us to write
( ) ( )
e3 · n2 × e2 = n2 · e2 × e3 = n2 · e1 = sin θ2
( ) ( )
. e3 · n2 × n̈1 = n̈1 · e3 × n2 = n̈1 · m2
( ) ( )
e3 · n2 × n̈2 = n̈2 · e3 × n2 = n̈2 · m2 = θ̈2

@seismicisolation
@seismicisolation
120 3 Rigid Body Motion in a Plane

Fig. 3.17 Double pendulum


angles. The dot product of
unit vectors is the cosine of m2
the angle between them. The 1
angles between the vectors m1 2 2 1

.n1 , .n2 , .m1 , and .m2 are shown

n2 1
2 2 1
2 1 n1
1

The middle equation can be expanded as


( )
n̈1 · m2 = θ̈1 m1 − θ̇12 n1 · m2 = θ̈1 cos ϕ + θ̇12 sin ϕ
.

where we have defined .ϕ = θ2 − θ1 as a shorthand notation to represent the


difference in angle between the two bars. The dot product between unit vectors
is the cosine of the angle between them. Further,

. cos( 12 π − ϕ) = sin ϕ, cos( 21 π + ϕ) = − sin ϕ

Hence, .m1 · m2 = cos ϕ and .n1 · m2 = − sin ϕ. Figure 3.17 should help to under-
stand the angles between the various unit vectors. Putting all these pieces together,
the equation for balance of angular momentum for bar 2 takes the form
( )
.
1
2 m 2 L1 L2 θ̈1 cos ϕ + θ̇12 sin ϕ + 13 m2 L22 θ̈2 + 21 m2 L2 g sin θ2 = 0 (3.28)

Now, look at the free body diagram for bar 1 in Fig. 3.16. Taking .O as the
reference, balance of angular momentum for bar 1 can be written as
| |
L1 ( ) ( ) L1
sn1 × −ρ̄1 ge2 ds + L1 n1 × −R2 = sn1 × ρ̄1 ẍ1 ds
0 0
|
( ) L1
.
− 12 ρ̄1 L21 g n1 × e2 − L1 n1 × R2 = sn1 × ρ̄1 s n̈1 ds
0
( ) ( )
− 12 ρ̄1 L21 g n1 × e2 − L1 n1 × R2 = 13 ρ̄1 L31 n1 × n̈1

Again, we can get a scalar equation by dotting the vector equation with .e3 . The
cyclic nature of the triple scalar product allows us to write

@seismicisolation
@seismicisolation
3.6 Computation: The Double Pendulum 121

( ) ( )
e3 · n1 × e2 = n1 · e2 × e3 = n1 · e1 = sin θ1
( ) ( )
. e3 · n1 × R2 = R2 · e3 × n1 = R2 · m1
( ) ( )
e3 · n1 × n̈1 = n̈1 · e3 × n1 = n̈1 · m1 = θ̈1

From Eq. 3.27, we can compute


( )
R2 · m1 = m2 g sin θ1 + m2 L1 θ̈1 + 12 m2 L2 θ̈2 cos ϕ − θ̇22 sin ϕ
.

where
( )
n̈2 · m1 = θ̈2 m2 − θ̇22 n2 · m1 = θ̈2 cos ϕ − θ̇22 sin ϕ
.

Combining these results allows us to write the equation of balance of angular


momentum for bar 1 as
(1 ) 2 ( )
3 m1 + m2 L1 θ̈1 + 12 m2 L1 L2 θ̈2 cos ϕ − θ̇22 sin ϕ
.
( ) (3.29)
+ 12 m1 + m2 L1 g sin θ1 = 0

We can express the equations of balance of angular momentum in terms of non-


dimensional ratios of masses and lengths. Dividing both Eqs. 3.28 and 3.29 by
1 2
. m2 L gives the final form of the equations of motion for the double pendulum:
2 2
( ) ( )
λ2 2 + 23 μ θ̈1 + λ cos ϕ θ̈2 − λ sin ϕ θ̇22 + λγ 2 + μ sin θ1 = 0
. (3.30)
λ cos ϕ θ̈1 + 23 θ̈2 + λ sin ϕ θ̇12 + γ sin θ2 = 0

where .μ = m1 /m2 , .λ = L1 /L2 , and .γ = g/L2 . Recall that .ϕ = θ2 − θ1 . The only


quantities with units are the angular velocities, angular accelerations, and .γ (which
has units of .1/s2 ). Each term in the equation has units of .1/s2 , since a radian is a
unitless unit (i.e., length divided by length). These equations are nonlinear. Hence,
we will solve them numerically.
Energy While we do not need energy to advance the numerical solution, it is useful
to compute energy to verify that it is conserved. The kinetic energy can be computed
as

@seismicisolation
@seismicisolation
122 3 Rigid Body Motion in a Plane

| |
L1 ( ) L2 ( )
T = 1
2 ρ̄1 ẋ1 · ẋ1 ds + 1
2 ρ̄2 ẋ2 · ẋ2 dr
0 0
| |
L1 ( ) L2 |( ) ( )|
= 1
2 ρ̄1 s ṅ1 · s ṅ1 ds + 2 ρ̄2 L1 ṅ1 + r ṅ2 · L1 ṅ1 + r ṅ2 dr
1
0 0
.
| |
L1 L2 |( 2 2 |
= 1 2 2
2 ρ̄1 s θ̇1 ds + 2 ρ̄2 L1 θ̇1 + 2 cos ϕL1 r θ̇1 θ̇2
1
+ r 2 θ̇22 dr
0 0
|( ) 2 |
= 1 1
2 ρ̄ L
3 1 1
3
+ ρ̄ L 2
L
2 1 2 1 θ̇ + ρ̄2 cos ϕL L 2
θ̇
1 2 1 2 θ̇ + 1
ρ̄ L
3 2 2 2
3 2
θ̇

Using the definitions for the non-dimensional quantities, the kinetic energy reduces
to
| ( ) 2 |
.T = m2 L2 λ 1 + μ θ̇1 + λ cos ϕ θ̇1 θ̇2 + θ̇2
1 2 2 1 1 2
2 3 3 (3.31)

The potential energy due to gravity can be computed as


| |
L1 ( ) L2 ( )
Ug = ρ̄1 g x1 · e2 ds + ρ̄2 g x2 · e2 dr
0 0
| |
L1 ( ) L2 |( ) )|
.
= ρ̄1 g sn1 · e2 ds + ρ̄2 g L1 n1 + rn2 · e2 dr
0 0
(1 )
=− 2
2 ρ̄1 L1 + ρ̄2 L1 L2 g cos θ1 − 12 ρ̄2 L22 g cos θ2

since .ni · e2 = − cos θi . Using the non-dimensional parameters, this equation can be
expressed in the form
| ( ) |
Ug = − 12 m2 L22 λ 2 + μ cos θ1 + cos θ2 γ
. (3.32)

The equations for kinetic and potential energy of the double pendulum are, of
course, the sum of the . 12 mv 2 and mgh contributions of all the particles that
comprise the system. The final expressions are functions of the time-dependent
variables defined to carry out the derivation of the equations of motion and energy.
Conservation of energy will be a check on our computations of the motion of the
double pendulum.
Solution by Numerical Integration The equations of motion of the double
pendulum are nonlinear and, hence, not amenable to classical solution techniques.
We can solve the problem by numerical integration. To set up the computation, first
make the associations

xn ← θ(tn ),
. vn ← θ̇ (tn ), an ← θ̈ (tn )

@seismicisolation
@seismicisolation
3.6 Computation: The Double Pendulum 123

where .θ = (θ1 , θ2 ) is the matrix containing the rotation angles. Let .α = (α1 , α2 ) be
the angular acceleration we seek at step .n + 1. Thus, when converged, .α → an+1 .
The generalized trapezoidal rule allows us to express the new angle and angular
velocity in terms of the new angular acceleration. To wit,

xn+1 (α) = bn + ζ α
. vn+1 (α) = cn + η α

where .bn = xn + hvn + β(1−β)h2 an is the part of the angle matrix at step .n + 1
that can be computed from the state at step n and .cn = vn + βhan is the part of the
angular velocity matrix that can be computed from state n. Recall that the integration
parameters are .η = (1−β)h and .ζ = η2 . We will iterate on the angular acceleration
and then update the angles and angular velocities with the generalized trapezoidal
rule equations. To set up the Newton iteration, let us introduce the residual function
| | | | | 2 | | |
c1 α1 α2 −θ̇2 (α2 ) c2 sin θ1 (α1 )
g(α) =
. 2 + λ cos ϕ + λ sin ϕ +
3 α2 α1 θ̇12 (α1 ) γ sin θ2 (α2 )
( ) ( )
where .c1 = λ2 2 + 23 μ and .c2 = λγ 2 + μ . Recall that .ϕ = θ2 − θ1 . The equation
.g(α) = 0 is exactly the same as Eq. 3.30. The tangent for Newton’s method is simply

the derivative of the residual with respect to .α. Thus,


| \ | \
∂g c1 λ cos ϕ c2 cos θ1 0
A= = 2

∂α λ cos ϕ 3 0 γ cos θ2
.
| \ | \ | \
α2 −α2 θ̇22 −θ̇22 0 −θ̇2
+ λζ sin ϕ + λζ cos ϕ + 2λη sin ϕ
α1 −α1 −θ̇12 θ̇12 θ̇1 0

The details of the computation are left to the reader. Note that

∂ ( ) ∂ ( )
. cos ϕ = ζ sin ϕ[ 1 −1 ], sin ϕ = ζ cos ϕ[ −1 1 ]
∂α ∂α
since .ϕ = θ2 (α2 ) − θ1 (α1 ). Thus, .∂ϕ/∂α1 = −ζ and .∂ϕ/∂α2 = ζ . To start the com-
putation, we need to evaluate the initial angular accelerations. We can do that using
the equations of motion in conjunction with the initial angles and angular velocities.
The initial angular accelerations are the solution of the system of equations:
| \| | | | | |
c1 λ cos ϕ α1 −θ̇22 c2 sin θ1
.
2
= −λ sin ϕ − (3.33)
λ cos ϕ 3 α2 θ̇12 γ sin θ2

Because we know the initial angles and angular velocities, the right side of the
equation is completely determined, as is the coefficient matrix on the left side. The

@seismicisolation
@seismicisolation
124 3 Rigid Body Motion in a Plane

angular accelerations computed from this equation are consistent with the initial
conditions and the equation of motion.
Implementation in Code Code 3.2 solves the equations of motion for the double
pendulum in the standard time-stepping framework using the generalized trape-
zoidal rule. The energy and the locations of the ends of both bars are also computed
at each time step.

Code 3.2 MATLAB code for numerical solution of the double pendulum problem using general-
ized trapezoidal rule and Newton’s method

clear; clc;

%. Input problem data


gravity = 9.81; % Acceleration of gravity
L1 = 10; % Length of bar 1
L2 = 10; % Length of bar 2
Rho1 = 0.2; % Mass per length of bar 1
Rho2 = 0.2; % Mass per length of bar 2
xo = [pi-0.1; pi-0.3]; % Initial angles
vo = [0.0; 0.0]; % Initial angular velocities
tf = 15.0; % Duration of analysis

%. Compute derived parameters


m1 = Rho1*L1; % Mass of bar 1
m2 = Rho2*L2; % Mass of bar 2
Lambda = L1/L2; % Length ratio
Gamma = gravity/L2; % Gravity per length
Mu = m1/m2; % Mass ratio
c1 = Lambda^2*(2+2*Mu/3); % Equation coefficient
c2 = Lambda*Gamma*(2+Mu); % Equation coefficient
c3 = m2*L2^2/2; % Energy multiplier

%. Numerical analysis parameters


h = 0.01; % Time step size
beta = 0.5; % GTR parameter
eta = (1-beta)*h; % GTR parameter
zeta = eta^2; % GTR parameter
nSteps = ceil(tf/h)+1; % Number of steps
tol = 1.e-8; % Tolerance on Newton iteration
MaxIt = 10; % Maximum Newton iterations

%. Set up storage for later plotting


Hist.T = zeros(nSteps,1); % Time
Hist.X = zeros(nSteps,2); % Angles
Hist.V = zeros(nSteps,2); % Angular velocities
Hist.E = zeros(nSteps,3); % Energy [T,U,E]
Hist.B1 = zeros(nSteps,2); % Tip of bar 1
Hist.B2 = zeros(nSteps,2); % Tip of bar 2
ItHist = [0,0]; % Iteration history

%. Initialize angle, angular velocity, and compute angular acceleration


t = 0;
xold = xo;
vold = vo;
ca = cos(xold(2)-xold(1));
sa = sin(xold(2)-xold(1));
T = [ c1, Lambda*ca; Lambda*ca, 2/3];
r = [-Lambda*sa*vold(2)^2 + c2*sin(xold(1));...
Lambda*sa*vold(1)^2 + Gamma*sin(xold(2))];
aold = -T\r;

%. Compute motion by numerical integration

@seismicisolation
@seismicisolation
3.6 Computation: The Double Pendulum 125

for n=1:nSteps

%... Write the values out to history for plotting


Hist.T(n,:) = t;
Hist.X(n,:) = xold';
Hist.V(n,:) = vold';

%... Compute kinetic, potential, and total energy


x1 = xold(1); x2 = xold(2);
v1 = vold(1); v2 = vold(2);
ca = cos(x2-x1);
T = c3*(c1*v1^2/2 + Lambda*ca*v1*v2 + v2^2/3);
U = c3*(c2*(1-cos(x1)) + Gamma*(1-cos(x2)));
E = T + U;
Hist.E(n,:) = [T,U,E];

%... Compute coordinates of the bar ends


n1 = [sin(x1), -cos(x1)];
n2 = [sin(x2), -cos(x2)];
Hist.B1(n,:) = L1*n1;
Hist.B2(n,:) = L1*n1 + L2*n2;

%... Compute the values for the next time step


t = t + h; its = 0; err = 1;
bn = xold + h*vold + beta*(1-beta)*h^2*aold;
cn = vold + beta*h*aold;
anew = aold;

%... Newton iteration to find new angular acceleration


while (err > tol) && (its < MaxIt)
its = its + 1;
xnew = bn + zeta*anew;
vnew = cn + eta*anew;
a1 = anew(1); a2 = anew(2);
v1 = vnew(1); v2 = vnew(2);
x1 = xnew(1); x2 = xnew(2);
ca = cos(x2-x1);
sa = sin(x2-x1);
T = [ c1, Lambda*ca; Lambda*ca, 2/3];
r = [-Lambda*sa*v2^2 + c2*sin(x1);...
Lambda*sa*v1^2 + Gamma*sin(x2)];
g = T*anew + r;
A1 = zeta*[c2*cos(x1), 0; 0, Gamma*cos(x2)];
A2 = zeta*Lambda*sa*[a2, -a2; a1, -a1];
A3 = zeta*Lambda*ca*[v2, -v2; -v1, v1].^2;
A4 = eta*Lambda*sa*[ 0 -v2; v1, 0]*2;
A = T + A1 + A2 + A3 + A4;
anew = anew - A\g;
err = norm(g);
end % while
ItHist = ItCounter(ItHist,n,its,MaxIt,nSteps);

%... Compute generalized trapezoidal rule one more time


xnew = bn + zeta*anew;
vnew = cn + eta*anew;

%... Put new values into old locations to get ready for next step
aold = anew;
vold = vnew;
xold = xnew;

end

%. Create output
DoublePendulumFigs(Hist,n,tf)

@seismicisolation
@seismicisolation
126 3 Rigid Body Motion in a Plane

The code starts with the specification of the physical parameters, including the
acceleration of gravity, bar lengths, masses per unit length, initial angles, initial
angular velocities, and the duration of the analysis. Subsequently, the physical quan-
tities derived from the input quantities are computed (i.e., the masses, dimensionless
parameters, and the shorthand equation coefficients). Next, the numerical analysis
parameters are specified, including the time step size, the generalized trapezoidal
rule parameters, the number of time steps, and the tolerance and maximum number
of iterations allowed for Newton’s method.
The computed quantities that we want to plot are stored in the “struct” Hist.
These include time, angles, angular velocities, energy, and the locations of the ends
of the two bars. We also store the number of iterations and plot them to verify that
the Newton iterations are going well. One easy way to tell that the tangent matrix is
not consistent with the residual is that the number of iterations will be large. If the
Newton iteration stops because it hits the maximum number of iterations, then the
solution has not converged. The function ItCounter prints an error message to
the command window in that event.
Before starting the loop over time steps, we initialize xold and vold from
the initial angles and angular velocities, respectively. Then we compute the initial
angular accelerations using the equation of motion, Eq. 3.33.
In the loop over time steps, the first task is to store the current values of variables
in Hist, which requires the computation of the energies and the locations of the
bar tips from the current values of the angles and angular velocities. We then
increment time and compute the part of the new angles and angular velocities
that depend only on the previous converged step, i.e., bn and cn. We initialize
the new acceleration to the old value to start the Newton iteration. The Newton
while loop computes the residual and tangent derived previously. The temporary
variables like a1, a2, etc., are used to simplify the subsequent lines of code. This
makes the lines of code shorter and helps to get the equations implemented correctly.
When the solution is converged, the angles and angular velocities are updated one
more time because the last computation before exiting the loop was to compute an
improved angular acceleration. Note that the function ItCounter keeps track of
the iteration statistics and plots them at the end of the analysis. The new values
are then moved to the old locations to get ready for the next time step. Once the
loop over time steps is complete, the output graphs are generated in the function
DoublePendulumFigs. The code for this function is not included here, but the
outcome is evident in the figures presented in the following example.

Example 3.5 Consider the double pendulum with two bars of equal length
L1 = L2 = 10 and equal values of mass per unit length of .ρ̄1 = ρ̄2 = 0.2. The
.

bars start from rest with initial angles of .θ1 (0) = π − 0.1 and .θ2 (0) = π − 0.3.
Use Code 3.2 to compute the response.
(continued)

@seismicisolation
@seismicisolation
3.6 Computation: The Double Pendulum 127

Example 3.5 (continued)

1
L1
1
L2 2

Ug
1

T
2

Fig. 3.18 Double pendulum example. Response of double pendulum with equal lengths
.L1 = L2 = 10 and equal values of mass per unit length of .ρ̄1 = ρ̄2 = 0.2. The bars start from
rest with initial angles of .θ o = [π − 0.1, π − 0.3]. The duration of analysis is 15 seconds.
The time step is .h = 0.01

The response of the double pendulum is shown in Fig. 3.18. The top right
plot shows the evolution of the two angles with time. The bottom right shows
the evolution of the two angular velocities. The quantities associated with bar
1 are shown in gray and the corresponding quantities for bar 2 are shown in
black. It is evident that bar 2 experiences more rotation than bar 1, executing
two full clockwise rotations followed by two full counterclockwise rotations.
In the meantime, bar 1 swings without executing any full rotations. The plot of
the angular velocities indicates fairly abrupt changes in velocity from time to
time. It is common for the double pendulum to exhibit whipping motions that
cause dramatic changes in angular velocity. The motion of a double pendulum
is often chaotic if the initial conditions contain enough total energy to push
the response beyond simple oscillation.
The kinetic, potential, and total energies are plotted in Fig. 3.18 in the lower
left corner. Note that the potential energy has been adjusted so it is equal to
zero when the bars are both hanging straight down. Recall that the potential
energy can always be shifted by a constant, which is tantamount to changing
the location of datum. It is clear that the system starts with a large amount of
(continued)

@seismicisolation
@seismicisolation
128 3 Rigid Body Motion in a Plane

Example 3.5 (continued)


Fig. 3.19 Double pendulum
trajectory. The trajectory of
the ends of the two bars is
shown. The tip of bar 1 is
light gray and the tip of bar 2
is black. The open circle
indicates where the tips of the
bars were at time .t = 0 and
the closed circle is where they
ended up at .tf

potential energy (the bars are nearly upright) and zero kinetic energy (the
system starts from rest). The total energy is constant throughout the motion,
indicating that energy is conserved. This plot verifies the code because we
do not use energy to advance the solution. It is an independent check on
conservation of energy.
The positions of the tips of the two bars are plotted in Fig. 3.19. The gray
line is the tip of bar 1 and the black line is the tip of bar 2. As expected, bar
1 moves in a circle with radius equal to the length of the bar. Bar 2 shows
considerably more interesting behavior. The open circles show where the bar
tips start at .t = 0 and the solid circles show where the bar tips end up. The
path of motion is very sensitive to initial conditions.
The numerical analysis was done with .β = 0.5 and a time step .h = 0.01,
which proved to be small enough to get an accurate solution to the problem.
The location of the end of bar 2 at the end of the analysis, i.e., .tf = 15,
with that time step is .(−10.67, −13.62). Reducing the time step to .h = 0.005
gives the result .(−10.75, −13.62), and .h = 0.001 gives .(−10.78, −13.62).
These results are very close, considering the level of chaos in the motion.
The iteration history for the time step .h = 0.01 is shown in Fig. 3.20. Most
steps took three iterations. In the more demanding parts of the response (e.g.,
when the angular velocities are rapidly changing), it usually took four Newton
iterations. A handful took five. This performance is typical for these types of
problems. Reducing the time step to .h = 0.005 almost eliminated the number
of steps requiring four iterations. For .h = 0.001, no time step took more than
three iterations and many took only two.

(continued)

@seismicisolation
@seismicisolation
3.7 Summary 129

Example 3.5 (continued)

Fig. 3.20 Double pendulum iteration history. The iteration history for Newton’s method at
each time step for .h = 0.01

This section showed how to formulate the equations of motion and compute
the energy for a double pendulum with distributed mass and how to implement
the numerical calculations in a computer code. Once the equations of motion were
obtained, the implementation of the dynamic computations was very similar to other
problems we have done. The code can be used to explore the behavior of the double
pendulum for a wide variety of input values.

3.7 Summary

The purpose of this chapter was to introduce rigid body dynamics as being a direct
extension of Newton’s laws of motion. Viewing rigid bodies as a collection of
particles, each one obeying Newton’s laws, was essentially the path that Euler
walked down in first articulating the equations that govern the dynamics of rigid
bodies of finite size.
The concept of summing over particles is conceptually simple, but the compu-
tations that emerge can sometimes be rather complicated. The examples covered in
this chapter are a testament to that fact. The beauty of the typical particle approach
to deriving equations of motion is that the process is exactly the same for every
problem. One need not remember anything other than .F = ma and .M = r × ma for
the typical particle. The challenge is in creating a good geometry sketch that defines
the time-dependent variables and supports the description of the position vector. The
rest of the kinematics is nothing more than straightforward differential calculus.
In the next chapter, we will look for a general approach to the problem of rigid
bodies translating and rotating in a plane, using the strategies developed in this
chapter. Along the way we will encounter the notions of the center of mass and
the mass moment of inertia, which were implicit in the calculations done in this
chapter.

@seismicisolation
@seismicisolation
130 3 Rigid Body Motion in a Plane

3.8 Problems

3.1 A nonuniform
( )rod of length L has its mass per unit length described by
ρ̄(s) = 23 ρ̄o 1 + s/L , where ρ̄o is a reference value of mass per unit length and s is
distance along the rod measured from the bottom end. The rod slides on the surface
with a coefficient of friction of μ = 0.25. Find the equations of motion, the initial
linear acceleration z̈o of the bottom of the rod, and the initial angular acceleration
αo if the bar starts at rest at angle ϕo = 30◦ .

( s)
L

s
o

3.2 Two bars of length L and mass per unit length ρ̄ are rigidly connected at an
angle ϕ = 60◦ , pinned at A, and supported by a ledge at B. If the support at B
is suddenly removed, determine the equations of motion. Find the initial angular
acceleration α and the initial reaction force RA at A.

3.3 The uniform rod of length L and mass per unit length ρ̄ is being pulled by the
cable that is attached to the rod at point B and passes over the smooth peg at C. The
cable does not change length. The force T is constant and equal to twice the total
weight of the rod (i.e., T = 2ρ̄gL). Determine the equations of motion for the rod.
If the rod has an angular velocity of ωo at the instant the rod passes through the
horizontal position, then find the magnitude of the angular acceleration α and the
reaction force Ro at O.

@seismicisolation
@seismicisolation
3.8 Problems 131

2
3 L

2
3 L
L

3.4 A bar of length L and mass per unit length ρ̄ is subjected to a force P , which
is always applied perpendicular to the end of the bar. The spring of modulus k has
unstretched length h and always remains vertical due to the roller guide at B. The
bar starts from rest at θ = 0. Determine the equations of motion. Find the angular
velocity ωf when the bar passes through the position with θ = 60◦ if the load P is
one quarter of the total weight of the bar and the stiffness of the spring k is twice
the weight per unit length of the bar.

h
k

P
2
3
L

1
3
L

3.5 The uniform slender rod of length L and mass per unit length ρ̄ is released from
rest in the vertical position shown with the small roller at end C resting on the incline
with angle ϕ. The roller has no friction. Derive the equations of motion. Determine
the magnitude ao of the initial linear acceleration at point C.

3.6 A uniform rod of length L and mass per unit length of ρ̄ moves on two
frictionless rollers A and B. Roller A travels in a horizontal guide and roller B
travels in a guide sloped at an angle of ϕ = π/3 from the horizontal. The rod

@seismicisolation
@seismicisolation
132 3 Rigid Body Motion in a Plane

is released from rest at θ = π/4. Find the equations of motion using balance of
momentum. Determine the angular acceleration α of the bar and the normal force
NB at B at the instant when the bar reaches θ = π/6.

3.7 The wheel with uniform mass per unit length of ρ̄ at radius R rolls without
slipping as it is pulled along the horizontal surface by a force P applied at the center
of the wheel. There is a concentrated mass, m, on the rim of the wheel. The resulting
motion has a constant angular velocity ωo . Determine the maximum value of ωo for
which the wheel remains on the surface at all times. Find what the force P (t) must
be to realize the constant angular velocity. The spokes and hub have negligible mass.

m
o
R
P

3.8 Two bars with masses per unit length of 2ρ̄ and ρ̄ (as shown in the sketch) and
lengths L are welded together forming a right angle bent that is hinged and rotates
freely about point O. The bent bar is released from rest at the position shown. Find
the equations of motion. Determine the angular acceleration α of the system, the
reaction R acting on the pin at point O, and the angular velocity ω at the position
where the potential energy is minimum.

1
2
L

2
1
2
L

3.9 The square plate of side length L has a mass per unit area of ρ̂ and is pinned at
A to the smooth collar that has a mass of m. Find the equation of motion, the initial
linear acceleration of the collar z̈o , and angular acceleration αo of the plate when

@seismicisolation
@seismicisolation
3.8 Problems 133

a constant force P is applied to the collar. The plate is originally at rest in static
equilibrium.

L L

3.10 A solid circular disk of radius R and uniform mass per unit area of ρ̂ sits on
a cable that is slung over a pulley and attached to a block of mass m. There is no
slip between the disk and the cable. The cable does not stretch, and the pulley is
frictionless. Calculate the magnitude a of the acceleration of the center C of the disk
when the block is allowed to fall.

3.11 The wheel shown rolls on its hubs of radius R on inclined rails without
slipping. The angle of the incline is γ . The radius of gyration of the wheel and
hub assembly about its center is k = 83 R. Use conservation of energy to establish
the equations of motion. If the hub has a radius R = 0.1 m, the slope is 15◦ , and the
system has a clockwise angular velocity of ωo = 4 rad/sec at time t = 0, calculate its
angular velocity ωf at t = 16 sec.

End view

@seismicisolation
@seismicisolation
134 3 Rigid Body Motion in a Plane

3.12 The uniform disk shown has a mass per unit area of ρ̂. The spring has
a stiffness of k. When anchor point B is in the vertical position, the spring is
unstretched. The system is put into the initial position so that the cable wraps around
the disk by an amount Δo as shown. If the disk is released from rest at that position
and there is adequate friction to avoid slipping between the disk and the surface,
determine the angular velocity ωf when point B reaches the vertical position. Use
conservation of energy to derive the equations of motion.

k
o

2R R

3.13 The corner B of the square plate that has a uniform mass per unit area of ρ̂
is subjected to a constant vertical force of magnitude P . The plate has dimensions
b by b and is released from rest when θ = 0. The rollers ride in frictionless guides.
Find the equations of motion using conservation of energy. Determine the angular
velocity ωf of the plate when θ = π/4 if the force P is twice the weight of the plate.

3.14 A homogeneous disk of radius R and mass per unit area of ρ̂ has a
concentrated mass m on its rim. The disk rolls without slipping as it is pulled up
the slope by a force P (t) applied to a massless hub at the center of the disk and is
directed parallel to the slope. The resulting motion has a constant angular velocity
ωo . Determine the maximum value of ωo for which the disk remains on the surface
at all times.

m P
o

@seismicisolation
@seismicisolation
3.8 Problems 135

3.15 The circular disk of radius R rolls without slipping between the two plates A
(the top plate) and B (the bottom plate), which move parallel to each other but in
opposite directions. Let vA be the constant speed of plate A and vB the speed of plate
B. Find the velocity of the center of the disk and the angular velocity in terms of
the plate speeds. Locate the point of zero velocity (I C, the so-called instantaneous
center of zero velocity) for the disk and determine the magnitude vD of the velocity
at point D for the case where vA is twice vB .

vA
R

vB

3.16 The homogeneous disk of radius 4a has a circular cutout of radius a located a
distance 2a from the center of the disk. The disk rolls without slipping starting from
rest in the position shown. Find the maximum angular velocity ωmax attained by the
disk in terms of the acceleration of gravity g and the length a.

2a
4a

2a

3.17 The uniform rectangular plate of dimension h by 12 h has a mass per unit area
of ρ̂ and slides without friction at points B and C. The plate starts from rest at an
angle of θ = π/3 radians. Find equations for the reaction forces at B and C using
balance of linear momentum. Find the equations of motion governing the evolution
of the angle θ (and its derivatives) using conservation of energy. Determine the value
of the angular velocity ωf when the plate reaches the angle θ = π/6.

1
2
h

(t )

3.18 The solid circular disk of uniform thickness and total weight W is released
from rest on the 60◦ incline. Calculate the angular velocity ωf of the cylinder, the

@seismicisolation
@seismicisolation
136 3 Rigid Body Motion in a Plane

magnitude vf of the velocity of its center C, and the time tf it takes to move a
distance L down the incline. The coefficient of friction is μ = 0.3. (Hint: Assume
that the disk slips as it rolls.)

60

3.19 A solid semi-circular disk of radius R with uniform mass per unit area of ρ̂
is attached to a hinge at point O that allows it to rotate freely. The body is attached
to a spring of modulus k at point D. The spring is attached to a hinge at point B,
which is a distance 2R straight up from point O. The body is released from rest in
the position with θ = 45 degrees, a position for which the spring is unstretched. Find
the equations of motion using conservation of energy. Find the angular velocity ωf
of the semi-circular disk as it passes through the position with the flat side horizontal
for the case where R, k, and the total weight W of the semi-circular disk are such
that kR/W = 0.5.

2R

3.20 The solid uniform semi-circular disk of radius R is released from rest in the
position shown (i.e., with the flat edge vertical). If no slipping occurs between the
disk and the horizontal surface, determine the expression for the angular velocity ω
reached by the disk when its kinetic energy is maximum.

3.21 Two uniform slender bars with mass per unit length of ρ̄ are welded at right
angles to each other at B. If the assembly is released from rest in the position shown,

@seismicisolation
@seismicisolation
3.8 Problems 137

calculate the initial acceleration θ̈(0), the initial force R(0) exerted on the pin at O,
and the internal bending moment MB at B. Neglect friction in the bearing.

3.22 Computation. A pendulum of length L and mass per unit length ρ̄ is driven
up and down an incline that has an angle ϕ relative to horizontal. The prescribed
motion is given by

xo (t) = Ao sin Ωt p
.

where Ao is a prescribed amplitude of the motion, Ω is the prescribed driving


frequency, and p = cos ϕe1 + sin ϕe2 is a unit vector pointing up the incline.
Formulate the equations of motion in terms of the angle of the pendulum relative
to vertical. Put the equations into residual and tangent form to prepare for solving
the equations of motion by Newton’s method. Implement the numerical solution in
a code. Use the code to study the driven pendulum problem.

x o (t )

3.23 Computation. Modify the code developed in Problem 3.22 to drive the end of
the pendulum (point C) in an elliptical motion, i.e., let

xo (t) = Ao cos Ωt e1 + Bo sin Ωt e2


.

where Ao and Bo are the dimensions of the elliptical track, and therefore the
amplitude of motion, and Ω is the driving frequency.

@seismicisolation
@seismicisolation
138 3 Rigid Body Motion in a Plane

Ao

Bo
x o (t )

e2
e1 L

3.24 Computation. Two bars of length L1 and L2 , with masses per unit length of
ρ̄1 and ρ̄2 , respectively, are hinged together at B with the bottom bar pinned at O.
The bars are restrained by rotational springs at O and B that have spring stiffnesses
of k1 and k2 , respectively. Each spring develops moment ki Δθ , where Δθ is the
angle change felt by the spring. The springs are unstretched when the two bars are
in the upright position (i.e., both vertical). The top bar is subjected to a downward
load of magnitude P that is always oriented in the vertical direction. Formulate the
equations of motion in terms of the time-dependent variables θ1 (t) and θ2 (t), which
measure the rotations of the two bars relative to vertical. Use the example of the
double pendulum as a guide. Put the equations into residual and tangent form to
prepare for solving the equations of motion with Newton’s method. Write a code to
solve the equations numerically. Use Code 3.2 as a starting point.

L2
k2
1
L1 e2

k1 e1

Use the code to study the stability of the system under its self-weight and the
tip load P . A system is stable if a small disturbance (e.g., a small initial velocity)
results in a small response. The system is unstable if a small disturbance leads to a
disproportionately large response. Holding the properties of the system fixed, find
the value of the load P that defines the threshold of unstable behavior. Study the
role of the springs in stabilizing of the system.

@seismicisolation
@seismicisolation
Chapter 4
Unifying Concepts for Planar Motion

In the previous chapter, we developed an approach to formulating the equations of


motion for rigid bodies in planar motion using the concept of the typical particle in
conjunction with Newton’s laws of particle mechanics. In particular, we established
that the equations of motion could be obtained by summing the equations over
all particles in the body, noting that the internal forces all cancel out. When we
considered specific problems, we found that as we computed the integrals, certain
terms tended to cancel out and some terms seemed to show up in every calculation.
In this chapter, we will put the choices we made in the previous chapter into a
general context to show how they are related to each other. We will also make some
observations on the selection of the reference point on the body for translation that
lead to a canonical form of the equations of motion and along the way encounter
the concepts of center of mass and mass moment of inertia as fundamental physical
quantities in rigid body dynamics. In short, this chapter will put planar motion of
rigid bodies into a unified context. The chapter is also a bridge to the following
chapter on motion of rigid bodies in three dimensions.

4.1 Kinematics of Planar Motion

A body is in planar motion if its motion can be reduced to translation of a reference


point in a single plane and rotation of the body about a vector normal to that plane.
We will take .e3 to be normal to the plane of motion, allowing us to use base vectors
.e1 and .e2 as the frame of reference to describe motion in the plane.

The setup for describing the kinematics of planar motion of body .B is shown
in Fig. 4.1. We will take point .C to be our reference point on the body for tracking
the translation. The choice of this point is arbitrary. Figure 4.1a shows the reference
point and the typical particle .A. The vector .z describes the position of the typical

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2025 139
K. D. Hjelmstad, Engineering Dynamics,
https://doi.org/10.1007/978-3-031-56376-8_4
@seismicisolation
@seismicisolation
140 4 Unifying Concepts for Planar Motion

x( z , t )
z
x (t ) r (z, t )

(a ) ( b)

Fig. 4.1 General planar motion. (a) Location of typical particle .A in the reference configuration.
(b) The motion of a rigid body in general planar motion can be described by the translation of
reference point .C relative to origin .O, i.e., .xC (t), and an angle of rotation .θ(t). The location of
typical particle .A relative to point .C is .r(z, t)

particle relative to the reference point .C in some position that we call the reference
configuration.
Figure 4.1b shows the origin .O for the inertial reference frame required for
Newton’s laws to be valid. The translation of point .C is tracked by the vector .xC (t),
which is one of the primary time-dependent kinematic variables.1 The rotation .θ (t)
will be the other motion variable. In dynamics, the goal is to find these functions by
eventually solving the differential equations that govern the motion of the system.
The vector from the reference point .C to the typical particle in motion is
designated as .r(z, t), which we will see is simply a rotated version of .z. Since .z is
constant, we can take its components to be the independent spatial variables required
to describe the location of the typical particle. Recall that in the previous chapter we
used .(r, s) or (.r, ϕ) for the spatial variables, depending on the geometry of the body.
With these conventions, the position vector for the typical particle .A can be
described as

x(z, t) = xC (t) + r(z, t)


. (4.1)

To make headway with this equation, we need to unpack the vector .r(z, t).
Figure 4.2a shows the vector .z laid out in a coordinate system with base vectors
.{e1 , e2 }. The vector .z can be expressed in components as

z = z1 e1 + z2 e2
.

For each problem, we will set up a reference frame. Therefore, we can look at the
vector .r(z1 , z2 , t) as being a function of three variables, two being spatial variables

1 Technically, .x (t) is two of the primary motion variables describing the motion of the system
C
because it is a vector with two components. It is, of course, possible to have one (or both) of those
components restrained with a kinematic constraint, in which case the corresponding reaction force
would replace the motion as the unknown.

@seismicisolation
@seismicisolation
4.1 Kinematics of Planar Motion 141

m n
q p

z z2q (t )
z2e 2 rn
z1e1 z1p
e2
e1

(a ) ( b)

Fig. 4.2 Coordinate systems. (a) The standard base vectors provide a coordinate system to
describe the vector .z in the reference configuration. (b) The coordinates also provide a means
to describe the vector .r(z, t) relative to the unit vectors .p(t) and .q(t) that rotate with the body or
relative to the unit vectors .n(ϕ, t) and .m(ϕ, t)

and one being time. This detail will be important when it comes time to integrate
over the spatial domain of the body because we must then set up limits of integration.
As we saw in Chap. 3, certain geometries suggest using a polar coordinate system
.(r, ϕ) to describe the location of the typical particle. In that case, we would write

.r(r, ϕ, t). Note that the radial distance from .C to .A is

/
r=
. z12 + z22

and the angle .ϕ measures the inclination of the line through those two points relative
to the horizontal direction .e1 in the reference configuration. The notation .r(z, t)
obviates the problem of committing to a particular coordinate representation until
we need to engage the task of integrating over the spatial domain.
To track the rotation of the body, imagine that we etch a reference line on
the body, shown in Fig. 4.2a as the solid gray horizontal line in the reference
configuration. The line is selected as horizontal for convenience, but the reference
line can be in any direction (recall, e.g., from the previous chapter for the problem
of the disk rolling on a circular surface, we selected a vertical line as the reference
for the rotation). For a body with rectangular geometry, it is usually convenient to
select the etched reference line to coincide with one of the edges of the rectangle.
For circular geometries the choice is arbitrary, as it is for a body of general shape
like the one illustrated here.
In Fig. 4.2b, we observe that the etched reference line is rotated by the angle
.θ (t), which is measured from the reference orientation of the etched line (horizontal

in this case). The vectors .p(t) and .q(t) are unit vectors that rotate with the body.
Imagine them glued to the etched reference line, with .p pointing along the line and
.q pointing in a direction perpendicular to the line. The direction of .q could be either

in the direction shown or in the opposite direction. In this configuration we have


.p × q = e3 . Because these vectors are not associated with the typical particle, they

are purely functions of t through the angle .θ (t). To wit,

@seismicisolation
@seismicisolation
142 4 Unifying Concepts for Planar Motion

p(t) = cos θ (t) e1 + sin θ (t) e2


. (4.2)
q(t) = − sin θ (t) e1 + cos θ (t) e2

With these vectors defined, the vector .r(z, t) has the form

r(z, t) = z1 p(t) + z2 q(t)


.

which shows that the vector .r has the same components relative to .{p, q} that .z has
relative to .{e1 , e2 }.
Figure 4.2b also defines unit vectors .n(ϕ, t) and .m(ϕ, t) with the former pointing
along line .CA and the latter pointing perpendicular to it. The expressions for these
vectors can be written either as
( ) ( )
n(ϕ, t) = cos θ (t) + ϕ e1 + sin θ (t) + ϕ e2
. ( ) ( ) (4.3)
m(ϕ, t) = − sin θ (t) + ϕ e1 + cos θ (t) + ϕ e2

or, equivalently, as

n(ϕ, t) = cos ϕ p(t) + sin ϕ q(t)


. (4.4)
m(ϕ, t) = − sin ϕ p(t) + cos ϕ q(t)

Figure 4.3 explains why Eq. 4.4 is valid. The components of a vector are simply
the projection of the vector onto the reference axes. The advantage of Eq. 4.4 over
Eq. 4.3 is that the dependence on the independent variable .ϕ is explicit in the latter
and buried inside the sine and cosine function in the former. The equivalence of the
two versions of .n(ϕ, t) and .m(ϕ, t) can also be proved by substituting the angle-sum
trigonometric identities

sin(θ + ϕ) = cos θ sin ϕ + sin θ cos ϕ


.
cos(θ + ϕ) = cos θ cos ϕ − sin θ sin ϕ

sinj n
cos j sin j
m j
j
q cos j

j
p

Fig. 4.3 Relationships between unit vectors. Unit vectors .n(ϕ, t) and .m(ϕ, t) can be expressed
relative to the unit vector .p(t) and .q(t). The length of each vector is 1 because they are all unit
vectors. The side of the right triangles are .cos ϕ and .sin ϕ

@seismicisolation
@seismicisolation
4.1 Kinematics of Planar Motion 143

into Eq. 4.3, collecting the terms that multiply .sin ϕ and .cos ϕ, and identifying .p(t)
and .q(t) from their definitions.
As we saw in each case in the previous chapter, the time derivatives of the
unit vectors follow an important pattern that is useful in computing velocity and
acceleration. In particular, we can show that

ṗ(t) = θ̇ (t)q(t) ṅ(ϕ, t) = θ̇(t)m(ϕ, t)


.
q̇(t) = −θ̇(t)p(t) ṁ(ϕ, t) = −θ̇(t)n(ϕ, t)

To prove these relationships, apply the chain rule of differentiation with respect to
t, noting that the spatial variables do not depend upon time.
Position, Velocity, and Acceleration To simplify the expressions for position,
velocity, and acceleration, let us define the tensors
| | | |
.Λ(t) = p(t) q(t) , Ω(t) = q(t) −p(t) (4.5)

In words, the tensor .Λ(t) has .p(t) and .q(t) as its columns and .Ω(t) has .q(t) and
−p(t) as its columns.2 Written out in components relative to the fixed frame .{e1 , e2 },
.

these two tensors have the matrix representations


| | | |
cos θ (t) − sin θ (t) − sin θ (t) − cos θ (t)
Λ(t) =
. , Ω(t) =
sin θ (t) cos θ (t) cos θ (t) − sin θ (t)

Using the chain rule and product rule, we can show that

Λ̇(t) = θ̇ (t) Ω(t),


. Λ̈(t) = θ̈ (t) Ω(t) − θ̇ 2 (t)Λ(t) (4.6)

where we have noted that .Ω̇(t) = −θ̇ (t)Λ(t).


From a geometric point of view, the action of the tensor .Λ(t) is to rotate a
vector without changing its length. Specifically, .Λ(t)u is a counterclockwise rotation
of the vector .u through the angle .θ (t), as shown in Fig. 4.4. The tensor .Λ(t) is
parameterized by the single scalar function of time .θ (t), which makes sense because
rotation in a plane requires only one angle. The tensor .Ω(t) shows up through the
process of differentiation. The vector .Ω(t)u is a counterclockwise rotation of the
vector .u through the angle .θ (t) + 90 ◦ . The transpose of a rotation tensor is a tensor
that rotates a vector clockwise. For example, .ΛTu is a clockwise rotation of the
vector .u through
( the) angle .θ (t). The vectors .Λu and .Ωu are perpendicular, as are
the vectors .ΛT Ωu and .u. Thus,

2 Technically, we should write .Λ = p ⊗ e1 + q ⊗ e2 and .Ω = q ⊗ e1 − p ⊗ e2 to clarify the role of


the vectors .p and .q in the representation of the tensor and to make sense of operations like .Λz and
.Ωz. See Sect. 1.6 for a refresher on tensor notation.

@seismicisolation
@seismicisolation
144 4 Unifying Concepts for Planar Motion

T
u
u u

u 1
2
u u

Fig. 4.4 Rotation tensors. Action of the rotation tensors .Λ and .Ω on the vector .u, counterclock-
wise rotation by the angle .θ and .θ + 12 π , respectively. The tensor .ΛT rotates a vector clockwise
through the angle .θ

( ) ( )
Λu × Ωu = u × ΛT Ωu = ||u||2 e3 = u · u e3
. (4.7)

where .e3 is perpendicular to the plane containing the vectors. It is worth noting that
both .Λ and .Ω are orthogonal, i.e.,

ΛΛT = I = ΛTΛ,
. ΩΩT = I = ΩTΩ

where .I is the identity tensor. These relationships can be demonstrated by carrying


out the matrix multiplications indicated. Also, since the tensor and its transpose
represent rotation by the same amount in opposite directions, rotating and then
unrotating a vector leaves it in the original position, which is what the identity tensor
operating on a vector does.
Because position is described by a vector and motion involves translation and
rotation, the introduction of .Λ and .Ω will enable us to deal with rotation in a
graceful and general way. With these tensors, we can rewrite the expression for
position of the typical particle, Eq. 4.1, and compute its velocity and acceleration as

x(z, t) = xC (t) + Λ(t)z

. ẋ(z, t) = ẋC (t) + Λ̇(t)z (4.8)

ẍ(z, t) = ẍC (t) + Λ̈(t)z

Substituting Eqs. 4.6, the position, velocity, and acceleration of the typical particle
can be written out as

x(z, t) = xC (t) + Λ(t)z

. ẋ(z, t) = ẋC (t) + θ̇ (t)Ω(t)z (4.9)


| |
ẍ(z, t) = ẍC (t) + θ̈ (t)Ω(t) − θ̇ 2 (t)Λ(t) z

@seismicisolation
@seismicisolation
4.2 Balance of Momentum 145

where, again, .xC (t) is the translation of reference point .C and .θ (t) is the rotation
of the body. Observe the explicit dependence of these expressions on the spatial
variables .z and time t. This feature will play a key role in the subsequent derivations.

4.2 Balance of Momentum

Balance of linear and angular momentum for a solid body in planar motion can be
specialized from Eqs. 3.2 and 3.4 (taking moments about point .C) as
|
F(t) = ρ̂ ẍ(z, t) dA
B
. | (4.10)
| |
MC (t) = r(z, t) × ρ̂ ẍ(z, t) dA
B

where .F(t) is the net applied force, .MC (t) is the net applied moment, .ρ̂ is the mass
per unit area,3 and .r(z, t) is the moment arm to the typical particle for balance of
angular momentum, as shown in Fig. 4.1. This case is important because often there
will be a motion constraint at .C (e.g., a pin or roller support), which makes that point
an ideal reference for balance of angular momentum.
Forces and Moments The free body diagram is shown in Fig. 4.5. The net applied
force and moment relative to .C are, respectively,
⎲ |
F(t) = Fi + b dA
i B
.
⎲ ⎲ | (4.11)
( )
MC (t) = Mi + ri × Fi + r × b dA
i i B

Fig. 4.5 Free body diagram. Mi


Point load .Fi , point moment
.Mi , and body force .b acting
Fi
on the body. Moments of the
forces are taken relative to ri
point .C with moment arm .r to b dA
the body force and .ri to the r
concentrated force .Fi

3 It is possible that the density will vary with position. If that is the case, it should be denoted as
.ρ̂(z).

@seismicisolation
@seismicisolation
146 4 Unifying Concepts for Planar Motion

where .Fi is a concentrated applied force, .Mi is a concentrated applied moment, and
b is a distributed body force acting within the domain. The most common example
.

of body force is the self-weight caused by mass in a gravitational field. Adding the
contribution of a distributed surface traction .t applied on the boundary of the domain
is relatively straightforward.
Computing the net applied force .F(t) is the same computation we do in statics,
except in that context we set the net force equal to zero. In dynamics, we set the
net force equal to mass times acceleration. The specific nature of the applied forces
will change from one application to the next, but the left side of the balance of linear
momentum is always the net force. Similarly, .MC (t) is the net moment of the applied
forces, relative to point .C. The subscript .C is there to remind us that the moments
are taken relative to that point. The net force is not affected by the reference point,
so it has no subscript. Notice that the moment arms, .ri (t) and .r(z, t), in the balance
of momentum equation are functions of time and sometimes position. The free body
diagram is for the state of the body at time t because it must be consistent with our
kinematic description of the motion of the body.
The integrals over .B in the balance of momentum equations are area integrals
(or double integrals in calculus terms). The geometry of the body will dictate how
to execute those integrals (e.g., in rectangular or polar coordinates).

4.2.1 Balance of Linear Momentum

The equation of balance of linear momentum sets the net applied force equal to the
sum of the mass times acceleration of the particles that comprise the body. To wit,
|
F(t) =
. ρ̂ ẍ(z, t) dA
B

where .F(t) is the net applied force. Substituting the expression for acceleration of
the typical particle from Eq. 4.9(c) gives
|
| |
F(t) = ρ̂ ẍC (t) + θ̈ (t)Ω(t)z − θ̇ 2 (t)Λ(t)z dA
B
.
| |
| |
= ẍC (t) ρ̂ dA + θ̈(t)Ω(t) − θ̇ (t)Λ(t) 2
ρ̂ z dA
B B

The terms that are not functions of .z can be taken out of the integral. Two integrals
over the domain of the body remain. Specifically,
| |
m=
. ρ̂ dA, sC = ρ̂ z dA (4.12)
B B

@seismicisolation
@seismicisolation
4.2 Balance of Momentum 147

where m is the total mass of the body and .sC is the first moment of the mass relative
to point .C. With these definitions, balance of linear momentum can be written as
| |
F(t) = m ẍC (t) + θ̈ (t)Ω(t) − θ̇ 2 (t)Λ(t) sC
. (4.13)

This equation is known as Euler’s first law of motion.


Linear Momentum We can define linear momentum formally as mass multiplied
by velocity. As such, it is a vector quantity. For a rigid body, the linear momentum
is the sum of the linear momenta of all the particles that comprise the body. For a
body in planar motion, we can write the linear momentum as
|
P(t) = ρ̂ ẋ(z, t) dA
B
|
( )
. = ρ̂ ẋC (t) + Λ̇(t)z dA
B

= mẋC (t) + θ̇ (t)Ω(t)sC

where we have noted that .Λ̇(t) = θ̇ (t)Ω(t), in addition to the definitions of the total
mass m and the first moment of mass .sC relative to point .C. If we take the time
derivative of the linear momentum, we get

dP
= mẍC (t) + θ̈ (t)Ω sC + θ̇ (t)Ω̇ sC
.
dt
| |
= mẍC (t) + θ̈(t)Ω − θ̇ 2 (t)Λ sC

Comparing the right side of this equation with Eq. 4.13, we can see that it is equal
to the net applied force. Hence, we can write

dP
F(t) =
. (4.14)
dt
In words, the net force is equal to the rate of change of momentum. This form of
Euler’s first law demonstrates more directly why we use the term balance of linear
momentum. Postulating that net force causes change in momentum also provides a
route to consider bodies for which the mass changes as a function of time (e.g., the
rocket problem), whereas .F = ma does not. Integrating Eq. 4.14 in time gives the
familiar impulse-momentum equations
| tb
. F(t) dt = P(tb ) − P(ta ) (4.15)
ta

The impulse of the net applied force equals the change in momentum between times
ta and .tb .
.

@seismicisolation
@seismicisolation
148 4 Unifying Concepts for Planar Motion

4.2.2 Balance of Angular Momentum

The equation of balance of angular momentum sets the net moment of the applied
forces relative to point .C equal to the sum of the moments of mass times acceleration
of the particles that comprise the body relative to that same point. To wit,
|
MC (t) =
. Λz × ρ̂ ẍ(z, t) dA
B

The moment arm is .r(z, t) = Λ(t)z because .Λ(t)z is the vector from .C to the typical
particle .A at time t. Again, substituting the expression for acceleration of the typical
particle from Eq. 4.9(c) gives
| |
| ||
.MC (t) = Λ(t)z × ρ̂ ẍC (t) + θ̈ (t)Ω(t)z − θ̇ 2 (t)Λ(t)z dA
B

The .θ̇ 2 term vanishes because it involves the cross product of the vector .Λz with
itself, which is zero. Every term in the equation involves a cross product of vectors
in the plane of motion, which results in a vector perpendicular to the plane (i.e., the
.e3 direction). We can dot the equation with .e3 to get a scalar equation of balance of

angular momentum. The left side of the equation becomes .MC = MC · e3 , which is
simply the signed magnitude of the net moment, positive if counterclockwise and
negative if clockwise. For the first term on the right side of the equation, we can
write
| | | )
e3 · Λ(t)z × ρ̂ ẍC (t) dA = Λ(t) ρ̂ z dA × ẍC (t) · e3
B B
( )
= Λ(t) sC × ẍC (t) · e3
.
( )
= e3 × Λ(t) sC · ẍC (t)

= Ω(t)sC · ẍC (t)

where in the first line we factored out .Λ(t) and .ẍC (t) from the integral because
they do not depend on .z. The order of operations is important. For example,
the expression .Λu × v means .(Λu) × v and not .Λ(u × v). In the second line we
observed that the integral term is simply the first moment of mass .sC defined in
Eq. 4.12. To get to the third line, we invoked the cyclic property of the triple scalar
product. The vector .Λ(t)sC is a vector in the plane of motion created by rotating
.sC counterclockwise by the angle .θ (t). The cross product between .e3 and .Λ(t)sC

produces a vector in the plane of motion that is rotated .90 ◦ from .Λ(t)sC , which
is the same as .Ω(t)sC (see Fig. 4.4). That vector is then dotted with the linear
acceleration of point .C.

@seismicisolation
@seismicisolation
4.2 Balance of Momentum 149

The second term on the right side of the balance of angular momentum equation
can be simplified with a few observations. First, noting Eq. 4.7, we can write
| |
( ) ( )
e3 · Λ(t)z × ρ̂ θ̈(t)Ω(t)z dA = θ̈ (t) e3 · ρ̂ z · z e3 dA
B B
|
( )
. = θ̈ (t) ρ̂ z · z dA
B

= JC θ̈ (t)

The mass moment of inertia relative to the point .C is defined as


|
( )
JC =
. ρ̂ z · z dA (4.16)
B

This integral can be evaluated in either rectangular Cartesian coordinates or in polar


coordinates, depending on what is most convenient for the shape of the body. Thus,
the two alternative expressions for the mass moment of inertia are
| |
( )
JC =
. ρ̂ z12 + z22 dA, JC = ρ̂ r 2 dA
B B

where .(z1 , z2 ) are the components of .z and r is the radial distance from point .C to
the typical particle (see Fig. 4.2).
Now, we can put all the pieces together to get the final equation of balance of
angular momentum relative to the point .C as

MC (t) = Ω(t) sC · ẍC (t) + JC θ̈ (t)


. (4.17)

This equation is known as Euler’s second law of motion.


Angular Momentum The angular momentum of the body is the sum of the angular
momenta of the constituent particles. The angular momentum of a rigid body in
planar motion, relative to the reference point for translation .C, can be defined as4
| | |
L(t) = e3 · Λ(t)z × ρ̂ ẋ(z, t) dA
B
| |
| ||
. = e3 · Λ(t)z × ρ̂ ẋC (t) + θ̇ (t)Ω(t)z dA
B

= Ω(t)sC · ẋC (t) + JC θ̇(t)

4 Angular momentum is actually a vector, but for planar motion, the direction of the vector is

perpendicular to the plane of motion (which we take as .e3 here). Hence, the only relevant part of
the angular momentum is the component in the .e3 direction, which we can isolate by taking the
dot product of the angular momentum vector with .e3 .

@seismicisolation
@seismicisolation
150 4 Unifying Concepts for Planar Motion

where .sC is the first moment of the mass and .JC is the mass moment of inertia, both
relative to point .C. Notice that we have used some of the same derivation strategies
as the previous section. If we take the time derivative of the angular momentum, we
get

dL
= Ω̇(t)sC · ẋC (t) + Ω(t)sC · ẍC (t) + JC θ̈ (t)
. dt

= −θ̇Λ(t)sC · ẋC (t) + Ω(t)sC · ẍC (t) + JC θ̈(t)

Comparing the right side of this equation with Eq. 4.17, we can write

dL
MC (t) =
. + θ̇Λ(t)sC · ẋC (t) (4.18)
dt

In words, the net moment is equal to the rate of change of angular momentum plus
an additional term. If the reference point for translation is the center of mass, then
the additional term vanishes because .sC = 0 relative to the center of mass, as we
will see in the next section. Also, if the reference point for translation is fixed, then
.ẋC = 0 and the additional term vanishes. In those special cases, integrating Eq. 4.18

in time gives the familiar impulse-momentum equations


| tb
. MC (t) dt = L(tb ) − L(ta ) (4.19)
ta

The impulse of the net applied moment equals the change in angular momentum
between times .ta and .tb . This equation is the rotational counterpart of the impulse-
momentum equation for translational motion.
To solidify concepts, the following example shows how Euler’s laws are imple-
mented in the context of a specific problem.

Example 4.1 Find the equations of motion of a rod of length L and mass per
unit length of .ρ̄ sliding on a surface with coefficient of friction .μ, shown in
Fig. 4.6a. The initial angle of the rod is .ϕo . This problem was the first example
of the previous chapter. So, we can verify the result with Eqs. 3.17.
The reference configuration of the rod is shown in Fig. 4.6b, where s
measures the distance along the rod from the left end. Let us first compute the
mass, first moment of mass, and mass moment of inertia of the rod relative to
the left end. In this case, .z = s e1 . Thus,
(continued)

@seismicisolation
@seismicisolation
4.2 Balance of Momentum 151

Example 4.1 (continued)

e2 q p
e1
e
L e

g e 2 ds
o e z (t ) (t ) Ne1
s Ne 2
(a) (b) (c) (d)

Fig. 4.6 Example. (a) A rod of length L with mass per unit length of .ρ̄ starts from rest at
an angle .ϕo and falls under its own weight on a surface with a coefficient of friction .μ. (b)
Body in the reference configuration. (c) Description of motion of the typical particle. (d)
Free body diagram showing the forces acting on the system

| L | |L
m= ρ̄ ds = ρ̄ s 0 = ρ̄L
0
| L ( ) | |L
. sC = ρ̄ se1 ds = ρ̄ 12 s 2 0 e1 = 21 ρ̄L2 e1
0
| L |1 |
3 L
JC = ρ̄ s 2 ds = ρ̄ 3s 0
= 13 ρ̄L3
0

The net force and moment relative to .C are

F(t) = μN(t)e1 + N(t)e2 − ρ̄gLe2


.
MC (t) = − 21 ρ̄gL2 cos θ (t)

These computations are done exactly the same way as for Eq. 3.14 for the net
force and Eq. 3.16 for the net moment. We will not repeat those calculations
here.
The unit vectors .p and .q in Fig. 4.6 are defined as

p(t) = cos θ (t)e1 + sin θ (t)e2


.
q(t) = − sin θ (t)e1 + cos θ (t)e2

These vectors define the matrices .Λ(t) and .Ω(t) in Eq. 4.5, so we can
compute
(continued)

@seismicisolation
@seismicisolation
152 4 Unifying Concepts for Planar Motion

Example 4.1 (continued)


Λ(t)sC = 12 ρ̄L2 p(t),
. Ω(t)sC = 12 ρ̄L2 q(t)

The motion of the translation reference point .C is .xC (t) = z(t)e1 . Therefore,
the acceleration is .ẍC (t) = z̈(t)e1 . Using these values in Eq. 4.13 gives the
equation for balance of linear momentum as
| |
μN(t)e1 + N(t)e2 − ρ̄gLe2 = ρ̄Lz̈(t)e1 + 12 ρ̄L2 θ̈ (t)q(t) − θ̇ 2 (t)p(t)
.

Dotting this equation with .e1 and .e2 gives, respectively,


| |
μN(t) = ρ̄Lz̈(t) − 21 ρ̄L2 θ̈ (t) sin θ (t) + θ̇ 2 (t) cos θ (t)
. | |
N(t) = ρ̄gL + 12 ρ̄L2 θ̈ (t) cos θ (t) − θ̇ 2 (t) sin θ (t)

which are identical to the first two of Eqs. 3.17. We can compute

Ω(t) sC · ẍC (t) = 12 ρ̄L2 q(t) · z̈(t)e1


.
= − 21 ρ̄L2 z̈(t) sin θ (t)

Substituting values into Eq. 4.17 gives the equation for balance of angular
momentum as

− 12 ρ̄gL2 cos θ (t) = − 21 ρ̄L2 z̈(t) sin θ (t) + 31 ρ̄L3 θ̈ (t)


.

which is identical to the third of Eqs. 3.17.

This example verifies that the approach developed in this chapter gives the
same results as the previous chapter. However, the organization of the calculations
is slightly different. The spatial integrals in the equations can be done as a first
step, prior to implementing the balance of momentum equations. As such, they are
properties of the rod, independent of the motion. In the typical particle approach, the
same integrals appear, but they do so in the natural context of carrying out balance
of momentum.

4.2.3 Center of Mass

Up to this point we have not said anything specific about the choice of the reference
point .C for translational motion, but it turns out we can select that point so that the
first moment of the mass is zero. The point with that property is called the center

@seismicisolation
@seismicisolation
4.2 Balance of Momentum 153

of mass of the body. Let us call that point .G. If we take .G as the reference point for
translation, then balance of linear momentum reduces to

F(t) = m ẍG (t)


. (4.20)

because .sG = 0. This version of Euler’s first law of motion has a remarkable
resemblance to Newton’s second law for a particle. Using the center of mass as
the reference point for translation uncouples the equation for translation from the
rotation of the body. Thus, Eq. 4.20 can be considered the canonical form of balance
of linear momentum for a rigid body. It is also the case that this form of the
equation is true if the body is not rotating (e.g., a block sliding on an incline), even
if the reference point for translation .C is not the center of mass because .θ̇ (t) = 0
and .θ̈ (t) = 0. These facts explain why in most textbooks, the chapters on particle
mechanics have examples and problems where the bodies clearly have finite size
(e.g., a person riding a bike or a car).
Similarly, if we take the reference point for translation to be the center of mass,
Euler’s second law reduces to

MG (t) = JG θ̈ (t)
. (4.21)

where the net moment is relative to point .G and .JG is the mass moment of inertia
relative to point .G. This form of balance of angular momentum is the canonical form
of Euler’s second law of motion. It is the rotational analog of Newton’s second law.
It asserts that moment is what causes a body to rotate and that the mass moment of
inertia measures the reluctance to rotate.
Computation of the Center of Mass The location of the center of mass of a body
is generally not known at the outset, and hence it must be computed. Let us introduce
a coordinate system .(ζ1 , ζ2 ) with origin at point .P, as shown in Fig. 4.7. The vector
.ζ goes from .P to the typical particle .A. Since this coordinate system is specific,

we will be able to specify the limits of integration on the domain, which solves
the problem of not yet knowing where .C is located. A vector from the origin of
this coordinate system to the typical particle .A is .ζ = c + z, where .c is the as yet
unknown vector from point .P to the center of mass .G and .z is a vector from the
center of mass to the typical particle.
We can compute the first moment of the mass about .G, noting that .z = ζ − c, as
| |
( )
sG = ρ̂ z dA = ρ̂ ζ − c dA
B B
| |
. = ρ̂ ζ dA − c ρ̂ dA
B B
|
= ρ̂ ζ dA − m c
B

@seismicisolation
@seismicisolation
154 4 Unifying Concepts for Planar Motion

Fig. 4.7 Computation of


2
center of mass. The center of
mass .G of a body .B can be
established by introducing a
coordinate system .(ζ1 , ζ2 ), z
with origin .P , and computing
the first moment of the mass c
about the origin of that
coordinate system

Although .c is unknown, it is constant and can therefore be pulled out of the integral.
The center of mass is defined to be the point where .sG = 0. Setting the above
equation for .sG to zero gives an equation for the location of the center of mass
relative to .P. Specifically,
|
1
.c = ρ̂ ζ dA (4.22)
m B

The integral over the domain in this equation can be evaluated because the
coordinate system is known, and therefore, it is possible to establish the limits of
integration. The following example illustrates the calculation of the center of mass
of a triangular plate.

Example 4.2 Find the center of mass of the right triangular plate with base b
and height h and uniform mass per unit area of .ρ̂, shown in Fig. 4.8.
A convenient place to lay out the coordinate system .(ζ1 , ζ2 ) is with the
origin in the lower left corner of the triangle, which serves as the point .P.
We do not know where the center of mass is, but we do know where the
lower left corner of the triangle is. Therefore, we can establish the limits of
integration over the triangular region. The integration with respect to .ζ1 goes
from 0 to .b(1−ζ2 / h). The presence of the variable .ζ2 in the upper limit of the
integration with respect to .ζ1 then affects the integration with respect to .ζ2 .
The limits for the second integration are 0 and h. Let us first compute the total
mass m
| | h| b(1−ζ2 / h)
m= ρ̂ dA = ρ̂ dζ1 dζ2
B 0 0
.
| |
h ζ2 )
= ρ̂ b 1− dζ2 = 12 ρ̂ bh
0 h
(continued)

@seismicisolation
@seismicisolation
4.2 Balance of Momentum 155

Example 4.2 (continued)

Fig. 4.8 Example. 2


Coordinate system .(ζ1 , ζ2 )
for computing the center of
mass of a right triangle of h
base b and height h
1 b 1 2

0 b 1

which is obviously the mass per unit area times the area of the triangle.
We probably could have done that computation without integration, but the
computation does show how the limits of integration work. Now compute the
first moment of mass relative to .P as
| | h| b(1−ζ2 / h) ( )
ρ̂ ζ dA = ρ̂ ζ1 e1 + ζ2 e2 dζ1 dζ2
B 0 0
| h | |b(1−ζ2 / h)
= ρ̂ 1 2
2 ζ1 e 1 + ζ1 ζ2 e2 dζ2
0 0
.
| | |
h ζ2 )2 | ζ2 ) |
= ρ̂ e1 + b 1 −
1 2
2b 1− ζ2 e2 dζ2
0 h h
| | ζ 2 ζ 3 ) | ζ 3 ) |h
= ρ̂ 21 b2 ζ2 − 2 + 31 22 e1 + b 21 ζ22 − 13 2 e2
h h h 0

Substituting the limits gives the result


|
(1 )
. ρ̂ ζ dA = ρ̂ 6b
2
h e1 + 61 bh2 e2
B

Therefore, the location of the center of mass is


| ( )
1 ρ̂ 16 b2 h e1 + 16 bh2 e2
.c = ρ̂ ζ dA = = 13 b e1 + 13 h e2
m B 1
2 ρ̂ bh

The location of the center of mass for a uniform triangular plate is one-third
of the distance from the larger end in each direction.

@seismicisolation
@seismicisolation
156 4 Unifying Concepts for Planar Motion

Equation 4.22 also tells us that the first moment of mass about any point .C can
be computed as
|
sC =
. ρ̂ ζ dA = mc (4.23)
B

where m is the total mass and .c is the vector from the point of reference .C to the
center of mass. Thus, in all the previous equations, .sC can be replaced by .mc. For
example, Euler’s first and second laws of motion, i.e., Eqs. 4.13 and 4.17 for balance
of linear and angular momentum about the reference point for translation, can be
written as
| |
F(t) = m ẍC (t) + m θ̈ (t)Ω(t) − θ̇ 2 (t)Λ(t) c
. (4.24)
MC (t) = m (Ω(t) c) · ẍC (t) + JC θ̈ (t)

where here point .C is the reference point for translation and not the center of mass.
The vector .c goes from .C to the center of mass (which was not labeled when we first
derived Euler’s laws). The recognition that .sC = mc is a very minor difference, but
it does show the presence of the mass m in the equations and .c as a distance might
be easier to visualize than .sC as the first moment of mass about point .C.
Self-Weight and the Center of Mass In many dynamics problems the main source
of load is the self-weight of the body. We can show that the net force and moment
for the self-weight is equivalent to the net force and moment of the total weight
acting at the center of mass.
Figure 4.9a shows a body .B with center of mass located at .G. Consider the
computation of net force and net moment relative to point .C. The force acting on
the typical particle .A is .−ρ̂ge2 dA. To compute the total net force, we sum over all
of the particles. To wit,
| |
( )
F(t) =
. −ρ̂ge2 dA = −ge2 ρ̂ dA = −mge2
B B

Fig. 4.9 Self-weight. Body .B


with center of mass located at
.G . Point .C is the reference z
point for computing moment.
(a) Force on typical particle c ˆ g e 2 dA c
mge 2
.A. (b) Resultant acting at the
center of mass

(a) (b)

@seismicisolation
@seismicisolation
4.2 Balance of Momentum 157

where we have noted the definition of the total mass m. Similarly, the net moment
relative to point .C is
|
( ) ( )
MC (t) = Λ c + z × −ρ̂ge2 dA
B
| |
.
= −gΛc ρ̂ dA × e2 − gΛ ρ̂ z dA × e2
B B
( )
= −mg Λc × e2

The first integral in the second line is the mass m. The second integral vanishes
because of the definition of the center of mass. We can also compute the net force
and moment from Fig. 4.9b. To wit,

F(t) = −mge2
.
( )
MC (t) = Λc × −mge2

which are identical to the values computed by summing effects over the typical
particle. Hence, we can replace the distributed self-weight with a single resultant
force equal to the total weight acting at the center of mass to get the same effect
in formulating the equations of motion. This strategy is most useful when the total
mass and location of the center of mass are known without calculation (e.g., for
circles and rectangles). These facts also explain why many of the integrals over the
domain vanished in the problems with circular geometries for Chap. 3.

Example 4.3 Find the equations of motion of the rectangular plate shown in
Fig. 4.10a using Euler’s laws of motion and lumping the self-weight at the
center of mass.
Take the origin at .O. Since this point is pinned, it is also the reference point
for translation. The equations of motion, from Eqs. 4.24, recognizing that the
reference point for translation does not move, are
| |
F(t) = m θ̈(t)Ω(t) − θ̇ 2 (t)Λ(t) c
.
MO (t) = JO θ̈ (t)

where .c is shown in Fig. 4.9a. From the free body diagram in Fig. 4.9c, we
can compute the net force and moment about .O as
( )
.F(t) = R − mge2 , MO (t) = −mg Λc · e1

(continued)

@seismicisolation
@seismicisolation
158 4 Unifying Concepts for Planar Motion

Example 4.3 (continued)

a e2
e1
1
2 a
b c mge 2
c q
1
2 b (t )
p
R
(a) ( b) (c)

Fig. 4.10 Example. Rectangle of uniform mass per unit area .ρ̂ with dimensions a by b
pinned at the lower left corner. (a) Reference configuration showing vector .c to center of
mass. (b) Geometry sketch defining vectors .p and .q and the time-dependent variable .θ(t).
(c) Free body diagram with total self-weight acting at the center of mass .G

where we have noted that .(Λc × e2 ) · e3 = Λc · e1 . The mass, center of


mass, and mass moment of inertia of the rectangle are
( ) ( )
m = ρ̂ab,
. c= 1
2 ae1 + be2 , JO = 13 m a 2 + b2

(See page 169 for the derivation of these quantities.) Noting that .Λ = [ p, q ],
and .Ω = [ q, −p ], we can compute
( ) ( )
Λc =
.
1
2 ap + bq , Ωc = 1
2 aq − bp

where

p = cos θ e1 + sin θ e2 ,
. q = − sin θ e1 + cos θ e2

Perhaps the simplest way to see these results is to write them out in matrix
form and do the matrix multiplications, noting the definitions ( of .Λ, .Ω from )
Eq. 4.5 and .p and .q from Eq. 4.2. Note also that .Λc · e1 = 12 a cos θ − b sin θ .
Substituting all this information into the equations of motion gives
|( ) ( ) |
R − mge2 = 12 m aq − bp θ̈ − ap + bq θ̇ 2
.
( ) ( )
− 21 mg a cos θ − b sin θ = 13 m a 2 + b2 θ̈

These equations are identical to those obtained in the last chapter, i.e.,
Eqs. 3.24, for the same problem.

This example shows how the pieces fit for the general version of Euler’s laws of
motion. In this case we did not evaluate any integrals, but that is because the inertial

@seismicisolation
@seismicisolation
4.2 Balance of Momentum 159

properties were previously computed or available to look up. In the next example,
we consider a case where the point of reference for translation is moving.

Example 4.4 Let us return to the first example we looked at in Chap. 3,


shown again in Fig. 4.11. A bar of length L and mass per unit length of .ρ̄
is sliding on a horizontal surface. Find the equation of balance of angular
momentum for this problem.
Figure 4.11a shows the bar in the reference configuration. The mass is
.m = ρ̄L and the center of mass .G is obviously in the middle of the bar. Hence,

the vector from .C to the center of mass is .c = 21 Le1 . In Fig. 4.11b we have
identified the origin as .O and the reference point for translation as .C. The
translation is .xC (t) = z(t)e1 . Euler’s second law of motion Eq. 4.24b, relative
to point .C, can be stated as

MC (t) = m (Ω(t) c) · ẍC (t) + JC θ̈ (t)


. (4.25)

where the net moment can be computed from the free body diagram in
Fig. 4.11c as
( )
. MC (t) = e3 · Λ(t)c × −mge2 = −mgΛ(t)c · e1

and the mass moment of inertia is


| L
JC =
. ρ̄ s 2 ds = 13 ρ̄L3 = 31 mL2
0

q p
e2
e1

1
2 L c
(t ) Ne1 mg e 2
c z (t ) e1
Ne 2
(a) (b) (c)

Fig. 4.11 Example. Rigid stick of length L and mass per unit length .ρ̄ sliding on a
horizontal surface. (a) Center of mass is located at .G . (b) Origin is at point .O. Point .C
is the reference point for translational motion and the reference point for balance of angular
momentum (i.e., moments are taken about this point). (c) Free body diagram

(continued)

@seismicisolation
@seismicisolation
160 4 Unifying Concepts for Planar Motion

Example 4.4 (continued)


Recall that .Λ(t)c is simply the vector .c rotated counterclockwise by the angle
θ (t) and .Ω(t)c is .c rotated counterclockwise by the angle .θ (t) plus .90 ◦ . Thus,
.

we can write

Λ(t)c = 21 Lp(t),
. Ω(t)c = 21 Lq(t)

where the unit vectors are

p(t) = cos θ (t) e1 + sin θ (t) e2 ,


. q(t) = − sin θ (t) e1 + cos θ (t) e2

as shown in Fig. 4.11b. Now, let us substitute these quantities into Eq. 4.25:

−mgΛ(t)c · e1 = mΩ(t) c · ẍC (t) + JC θ̈(t)


.
− 12 mgLp(t) · e1 = 12 mLq(t) · z̈(t)e1 + 31 mL2 θ̈(t)

Carrying out the dot products and rearranging terms gives the final result

3 mL θ̈ (t) − 2 mL sin θ (t)z̈(t) + 2 mgL cos θ (t) =0


1 2 1 1
.

which is identical to the third of Eqs. 3.17.

4.3 Arbitrary Reference Point for Moment

For some problems, one might want the reference point for translation of the body
to be different from the point about which angular momentum is balanced. This
requires a slight adjustment of the formulation.
Consider the geometry sketch of body .B in Fig. 4.12. The origin is .O and the
center of mass is located at .G. We will take point .C as the reference point for
translation of the body, and we will use point .D as the reference point for balance
of angular momentum. The vectors .c and .b are constant and defined in the reference
configuration (i.e., the body with no rotation). The vector .z measures the distance
from the center of mass to the typical particle .A. All three vectors rotate with the
body. We refer all relative locations via the center of mass because the integrals of
.ρ̂ z will vanish.

With these definitions, we can write the kinematics (as we did in Eq. 4.9) as

@seismicisolation
@seismicisolation
4.3 Arbitrary Reference Point for Moment 161

Fig. 4.12 Arbitrary point for


angular momentum. Body .B
with center of mass located at
.G and typical particle .A. (t )b
Point .C is the reference point
for translational motion. Point x (t ) (t )z
.D is the reference point for (t )c
balance of angular
momentum (i.e., moments are
taken about this point)

( )
x(z, t) = xC (t) + Λ(t) c + z
( )
. ẋ(z, t) = ẋC (t) + θ̇ (t)Ω(t) c + z (4.26)
| |( )
ẍ(z, t) = ẍC (t) + θ̈ (t)Ω(t) − θ̇ 2 (t)Λ(t) c + z

where .θ (t) is the rotation of the body about an axis perpendicular to it. It is
convenient to make point .C the reference point for translation because many
problems have some sort of support condition that limits translation (e.g., a pin
support entirely prevents translation at that point).
Balance of linear and angular momentum about point .D is
|
F(t) = ρ̂ ẍ(z, t) dA
B
.
| (4.27)
| ( ) |
MD (t) = Λ(t) b + z × ρ̂ ẍ(z, t) dA
B

where moments of the applied forces are taken about point .D. Of course, the
reference point for moments does not make any difference when summing forces.
Substituting the acceleration from Eq. 4.26 and integrating over the domain .B,
balance of linear momentum reduces to
| | | )
.F(t) = m ẍC (t) + θ̈ (t)Ω(t) − θ̇ (t)Λ(t) c
2
(4.28)

where m is the total mass of the body and .c is the location of the center of mass
relative to point .C. Observe that the only appearance of .z in the equation is the very
last term. That term integrates to zero because the vector .z is measured relative to
the center of mass.
Balance of angular momentum about .D is
|
( ) | | |( )|
MD (t) =
. Λ(t) b + z × ρ̂ ẍC (t) + θ̈(t)Ω(t) − θ̇ 2 (t)Λ(t) c + z dA
B

@seismicisolation
@seismicisolation
162 4 Unifying Concepts for Planar Motion

All terms in this equation involve cross products of vectors in the plane of motion.
Therefore, we can dot the equation with .e3 to get a scalar equation. The left side
becomes .MD = e3 · MD . Let us take the right side of the equation one term at a time
(and suppress the dependence on t to economize the notation). The first term can be
written
|
( ) ( )
e3 · Λ b + z × ρ̂ ẍC dA = mΛb × ẍC · e3
B
( )
. = m e3 × Λb · ẍC

= m Ωb · ẍC

Again, the term with .z integrates to zero because of the definition of center of mass
and .e3 × Λb = Ωb. To sort out the second term, let us focus on
| | |
( ) ( )
Λ b + z × ρ̂ Ω c + z dA = ρ̂ Λz × Ωz dA + ρ̂ Λb × Ωc dA
B B B
( )
.
= JG e3 + m Λb × Ωc
| ( )|
= JG + m b · c e3

We have seen in the previous section that the first term on the right turns out to be
JG (i.e., the mass moment of inertia relative to the center of mass) as indicated. For
.

the second term, we can show that


( ) ( )
Λb × Ωc = b1 p + b2 q × c1 q − c2 p
( )
. = b1 c1 + b2 c2 e3
( )
= b · c e3

The last term in the balance of angular momentum equation can be simplified, noting
that
| |
( ) ( ) ( ) ( )
. Λ b + z × ρ̂ Λ c + z dA = b × c ρ̂ dA = m b × c
B B

One can show this result by distributing the cross product,


( ) ( ) ( ) ( )
Λ b+z ×Λ c+z = b+z × c+z
.
= b×c + b×z + z×c + z×z

The reason .Λ disappears is because the cross product of vectors rotated in the plane
by the same amount is the same as the cross product of those same vectors not
rotated. The last term is zero because any vector crossed with itself is zero. The

@seismicisolation
@seismicisolation
4.3 Arbitrary Reference Point for Moment 163

second and third terms with a single .z crossed with a constant vector integrate
to zero because of the definition of the center of mass. Putting all these pieces
together, and dotting the result with .e3 as before, the final form of balance of angular
momentum is
( ) ( )
MD (t) = m Ω(t)b · ẍC (t) + m (b × c) · e3 θ̇ 2 (t)
. | ( )| (4.29)
+ JG + m b · c θ̈ (t)

This is the most general case of Euler’s second law for planar motion. The effects
of the locations of .C and .D show up through the vectors .c and .b. The appearance
of .θ̇ 2 (t) is due to the fact that the reference point for moments is different from
the center of rotation. Hence, the centripetal accelerations do not vanish unless .b is
parallel to .c.
To help unwind Eq. 4.29, let us consider a few special cases. If we take the
reference point for translation of the body .C to be coincident with the center of
mass .G, then .c = 0, and the equation reduces to
( )
MD (t) = m Ω(t)b · ẍG (t) + JG θ̈ (t)
.

If the point .D is also coincident with the center of mass, then .b = 0 and the equation
reduces to

.MG (t) = JG θ̈ (t)

If .D is coincident with .C, then .b = c, and if that point is not located at the center of
mass, then the equation becomes
( ) | ( )|
MC (t) = m Ω(t)c · ẍC (t) + JG + m c · c θ̈ (t)
. (4.30)

Note that .JC = JG + m(c · c) is the mass moment of inertia relative to point .C. This
equation is exactly the same as Eq. 4.24 with suitable interpretation of .C and .G in
the two equations.
With these equations, we should be able to solve any of the problems we did in
the previous chapter. The challenges lie in computing the net forces and moments
(which is no different from the previous approach), the location of the center of
mass, and the mass moment of inertia about the reference point .C. If you dissect
the calculations done in support of the derivations of the previous chapter, it is clear
that most of the same integrals show up, although without names, in the previous
chapter. The developments in this chapter show how fundamental the concepts of
center of mass and mass moment of inertia are. Later in the chapter, we will look at
the calculation of the inertial properties in a little more detail.

@seismicisolation
@seismicisolation
164 4 Unifying Concepts for Planar Motion

4.4 Kinetic and Potential Energy

The computation of kinetic and potential energy can be accomplished with the setup
of this chapter. Let us start with the position and velocity defined in Fig. 4.12 and
Eqs. 4.26, repeated for convenience here as
( )
x(z, t) = xC (t) + Λ(t) c + z
.
( )
ẋ(z, t) = ẋC (t) + θ̇ (t)Ω(t) c + z

The kinetic energy can be computed as


|
T = 2 ρ̂ ẋ(z, t) · ẋ(z, t) dA
1
B
|
| ( )| | ( )|
= 1
2 ρ̂ ẋC + θ̇ Ω c + z · ẋC + θ̇Ω c + z dA
B
.
| | ( ) ( ) ( ))
= 1
2 ρ̂ ẋC · ẋC + 2ẋC · θ̇Ω c + z + θ̇ Ω c + z · θ̇Ω c + z dA
B
( ) | ( )|
= 21 m ẋC · ẋC + m θ̇ ẋC · Ωc + 12 JG + m c · c θ̇ 2

To get from the third line of the derivation to the fourth, we have noted that the
integral of .ρ̂ z is zero due to the definition of the center of mass. The last term, when
distributed, is
( ) ( ) ( ) ( )
θ̇ Ω c + z · θ̇Ω c + z = θ̇ 2 c + z · c + z
. ( )
= θ̇ 2 c · c + 2c · z + z · z

The .Ω tensor is a rotation. The dot product of two vectors rotated by the same
amount is the same as the dot product between those same two vectors. The middle
term of the distributed product vanishes because of the definition of the center
of mass. The remaining two terms integrate
( to ) the values in the last line of the
derivation. Recognizing that .JC = JG + m c · c , we can write the final form of the
kinetic energy as
( ) ( )
T = 12 m ẋC · ẋC + m θ̇ ẋC · Ωc + 21 JC θ̇ 2
. (4.31)

The middle term arises because the reference point for translation does not capture
all the translational energy of the body. If the reference point is the center of mass,
then the kinetic energy reduces to
( )
T = 12 m ẋG · ẋG + 21 JG θ̇ 2
. (4.32)

@seismicisolation
@seismicisolation
4.4 Kinetic and Potential Energy 165

i.e., translational energy plus rotational energy. Observe how the total mass m and
the mass moment of inertia .JG play key roles in kinetic energy of the rigid body.
The potential energy due to gravity can be computed as
|
Ug = ρ̂g x(z, t) · e2 dA
B
|
| ( )|
= ρ̂g xC + Λ c + z · e2 dA
.

B
( )
= mg xC + Λc · e2

Noting that .xC + Λc = xG , it is apparent that the potential energy of the body is equal
to the weight times the vertical height of the center of mass above datum (which is
defined by the location of the origin).
The use of the kinetic and potential energy in, for example, the conservation
of energy is the same as outlined in the previous chapter. To compare the use of
Eq. 4.31 with the application of the direct approach for computing kinetic energy
from the previous chapter, consider the following example.

Example 4.5 Let us reconsider the example of the bar of length L sliding on
a smooth (i.e., .μ = 0) horizontal surface. The geometry is shown in Fig. 4.11.
Find the kinetic energy of the bar by applying Eq. 4.31 and also by computing
it directly from the typical particle construction.
Recall that .c is defined as the vector from the reference point for translation
(the bottom end of the bar in this case) to the center of mass when the rotation
is zero. Thus, we have

c = 21 Le1 ,
. Λc = 21 Lp, Ωc = 12 Lq

The velocity of the reference point is .ẋC = że1 . The total mass of the bar is
m = ρ̄L. The mass moment of inertia relative to the end of the bar is
.

| L
JC =
. ρ̄ s 2 ds = 13 ρ̄L3
0

From Eq. 4.31, we can compute


( )
T = 12 m ẋC · ẋC + mθ̇ ẋC · Ωc + 21 JC θ̇ 2
( )( ) ( ) ( ) ( ) ( )
. = 1
2 ρ̄L że1 · że1 + ρ̄L θ̇ że1 · 21 Lq + 21 31 ρ̄L3 θ̇ 2

= 12 ρ̄Lż2 − 21 ρ̄L2 żθ̇ sin θ + 61 ρ̄L3 θ̇ 2

(continued)

@seismicisolation
@seismicisolation
166 4 Unifying Concepts for Planar Motion

Example 4.5 (continued)


where we have noted that .e1 · q = − sin θ . Now, let’s compute the kinetic
energy as the sum of the kinetic energies of the particles directly. The velocity
of the typical particle is

. ẋ(s, t) = ż(t)e1 + s θ̇(t)q(t)

Thus, the kinetic energy is


| L ( )
T = 1
2 ρ̄ ẋ(s, t) · ẋ(s, t) ds
0
| L ( ) ( )
= 1
2 ρ̄ że1 + s θ̇ q · że1 + s θ̇q ds
. 0
| L ( 2 )
= 1
2 ρ̄ ż − 2s żθ̇ sin θ + s 2 θ̇ 2 ds
0

= 12 ρ̄Lż2 − 12 ρ̄L2 żθ̇ sin θ + 61 ρ̄L3 θ̇ 2

which is identical to the previous result.

4.5 Inertial Properties

The computation of mass, first moment of mass, and the mass moment of inertia is
a central task that comes up in the formulation of the equations of motion. These
three quantities are defined as
| | |
( )
m=
. ρ̂ dA, sP = ρ̂ ζ dA, JP = ρ̂ ζ · ζ dA (4.33)
B B B

where .ζ is the vector from a point .P, selected as the origin of coordinates, to the
typical particle (see Fig. 4.7). The location of the center of mass .G relative to point .P
is .c = sP /m. The calculation of the mass is relatively straightforward and can often
be accomplished with mensuration formulas for various shapes. We have previously
discussed the calculation of the center of mass. Let us now consider the computation
of the mass moment of inertia, using the arbitrary axes that we set up to do the
computation of the center of mass. Along the way, we will discover the parallel axis
theorem.

@seismicisolation
@seismicisolation
4.5 Inertial Properties 167

4.5.1 Parallel Axis Theorem

To set up the computation of the mass moment of inertia relative to point .P, recall
that .z = ζ − c is the vector from the center of mass to .A, where .ζ is the vector from
the origin .P of the arbitrarily selected coordinate system to the typical particle .A
and .c is the vector from .P to the center of mass .G, as shown in Fig. 4.7. We can
write the mass moment of inertia relative to the center of mass .G as
|
( )
JG = ρ̂ z · z dA
B
|
( ) ( )
. = ρ̂ ζ − c · ζ − c dA
B
| | |
( ) ( )
= ρ̂ ζ · ζ dA − 2 c · ρ̂ ζ dA + c · c ρ̂ dA
B B B

From the definition of mass and center of mass, we have


| |
. ρ̂ dA = m, ρ̂ ζ dA = m c
B B

Therefore, the mass moment of inertia tensor relative to the center of mass is
|
( ) ( )
.JG = ρ̂ ζ · ζ dA − m c · c (4.34)
B

Note that .c · c = c2 is the square of the distance from .P to .G. The quantity
|
( )
.JP = ρ̂ ζ · ζ dA (4.35)
B

is the mass moment of inertia relative to the origin .P of the arbitrary coordinate
system. Thus, Eq. 4.34 tells us that
( )
JP = JG + m c · c
. (4.36)

This equation goes by the name parallel axis theorem.5 Since we can arbitrarily
select the origin of coordinates for .ζ , we can compute the mass moment of inertia
about any point in space from the mass moment of inertia relative to the center of
mass and the distance from .P to the center of mass. This fact is handy because

5 The name parallel axis theorem might seem a bit odd, as we did not invoke the concept of

parallelism anywhere in the derivation. This theorem shows up in many places in mechanics. The
name is associated with one of the interpretations in one of the contexts in which it appears. Perhaps
a better name would be moment of inertia transport theorem.

@seismicisolation
@seismicisolation
168 4 Unifying Concepts for Planar Motion

the mass moment of inertia of some common geometric shapes is tabulated in the
literature.
The parallel axis theorem also implies that the mass moment of inertia relative
to the center of mass is the smallest possible value of the mass moment of inertia
of the body. Since we can compute a mass moment of inertia relative to any point
in space, there are an infinite number of mass moments of inertia. However, there is
only one center of mass. Therefore, we can consider .JG to be an intrinsic physical
property of the body .B, just as we do the total mass m. For this reason, tabulated
values are most likely to be relative to the center of mass.

4.5.2 Composite Computation of Inertial Properties

An integral is a sum. Therefore, it is always possible to break the sum into non-
overlapping pieces, sum over each piece, and add the results together, i.e.,

| N |

. (•) dA = (•) dA
B i=1 Bi

where .Bi is the region associated with piece i. This subdivision works for any
integrand .(•), provided that there are no gaps or overlaps among the pieces, that
the union of all N pieces is identical to the original domain .B, and the integrand for
all pieces use the same coordinate system. The individual mass and location of the
center of mass of piece i relative to the origin .P satisfy
| |
mi =
. ρ̂ dA, mi ci = ρ̂ ζ dA
Bi Bi

In words, .mi is the total mass of piece i and .ci is the vector from .P to the center
of mass of piece i. With these observations, we can compute the integral over the
entire domain
| N |
⎲ ⎲
N
. ρ̂ ζ dA = ρ̂ ζ dA = mi ci
B i=1 Bi i=1

Using this result, we can compute the center of mass of the entire body as

|
1 ⎲
N
1
c=
. ρ̂ ζ dA = mi ci (4.37)
m B m
i=1

where the total mass .m = m1 + m2 + · · · + mN is the sum of the masses of the


individual pieces. This form of the computation is convenient for cases where you

@seismicisolation
@seismicisolation
4.5 Inertial Properties 169

can break the region into pieces with masses and centers of mass that are simple to
calculate (e.g., rectangles, circles, or triangles) or are tabulated.
We can extend this idea to the mass moment of inertia computation using the
parallel axis theorem. The mass moment of inertia of piece i relative to .P is
|
(i) ( ) (i) ( )
JP =
. ρ̂ ζ · ζ dA = JG + mi ci · ci
Bi

(i)
where .JG is the mass moment of inertia of piece i relative to its own individual
center of mass. Now,

N |

N
(i)
⎲ (i) ( ))
JP =
. JP = JG + mi ci · ci
i=1 i=1

What this calculation amounts to is applying the parallel axis theorem to each part
to get its mass moment of inertia about .P. Once all of the pieces have been referred
to a common reference point, they can be added to get the total mass moment of
inertia relative to point .P. Finally, the mass moment of inertia about the center of
mass can be computed by applying the parallel axis theorem again. To wit,
( )
JG = JP − m c · c
.

where each part has been computed by summing over pieces. Again, this approach
is useful if the region can be broken into pieces with known mass moment of inertia
relative to their individual centers of mass. Knowing the mass moment of inertia of
the entire body relative to its center of mass, we can use the parallel axis theorem to
find the mass moment of inertia relative to any other point in space. Thus, the origin
.P can be selected for convenience of the calculation of the mass moment of inertia,

independent of the choice of the reference point for translation .C.


Rectangular Plate One of the most common shapes used for composite calcula-
tions is the uniform rectangular plate of width b and height h with mass per unit area
.ρ̂, shown in Fig. 4.13. Compute the mass, center of mass, and the mass moment of

inertia relative to the center of mass.

Fig. 4.13 Properties of


2
rectangle. Rectangular plate
of width b and height h with
uniformly distributed mass
per unit area .ρ̂. Point .P is the h
origin of coordinates. Point .G c
is the center of mass

b 1

@seismicisolation
@seismicisolation
170 4 Unifying Concepts for Planar Motion

The total mass of the plate is obviously .m = ρ̂bh. We can show that the center of
mass lies at the midpoint of the rectangle. Compute
| | h| b
1 1 ( )
c= ρ̂ dA = ρ̂ ζ1 e1 + ζ2 e2 dζ1 dζ2
m B ρ̂bh 0 0
1 || 1 2 |b |h
. = 2 ζ1 ζ2 e1 + 12 ζ1 ζ22 e2 0 0
bh
1 (1 2 ) ( )
= 2 b he1 + 12 bh2 e2 = 21 be1 + he2
bh
Now, compute the mass moment of inertia relative to point .P:
| h| b ( )
JP = ρ̂ ζ12 + ζ22 dζ1 dζ2
0 0
|| 1 | |
3 b h
.
= ρ̂ 3 ζ 1 ζ2 + 3 ζ1 ζ 2 0 0
3 1

(1 ) ( )
= ρ̂ 3b
3
h + 13 bh3 = 13 m b2 + h2

Finally, compute the mass moment of inertia relative to the center of mass, using the
parallel axis theorem:
( )
JG = JP − m c · c
( ) ( )
. = 13 m b2 + h2 − m 14 b2 + 41 h2
( )
= 12
1
m b 2 + h2

To summarize, the inertial properties of a rectangle are


( ) ( 2 )
m = ρ̂ bh,
. c= 1
2 b e1 +h e2 , JG = 1
12 m b + h2 (4.38)

We can use these results to compute the inertial properties of bodies that can be
subdivided into rectangular regions, as shown in the following example.

Example 4.6 Compute the mass, center of mass, and mass moment of inertia
relative to the center of mass for the L-shaped body of mass per unit area of
.ρ̂ = 1, with dimensions shown in Fig. 4.14a.

Let us call the rectangle on the left in Fig. 4.14b region 1 and the one on
the right region 2. The masses of those two regions are .m1 = 20 and .m2 = 12.
The total mass is .m = 32. The locations of the individual centers of mass
are .c1 = (1, 5) and .c2 = (5, 1), relative to point .P. The center of mass of the
composite body is, then,
(continued)

@seismicisolation
@seismicisolation
4.5 Inertial Properties 171

Example 4.6 (continued)

Fig. 4.14 Example. (a) 2


Dimensions of L-shaped (a) (b)
region. (b) Location of center
of mass of each rectangular
1
subregion 10
6
5
2 2
1
8 1
5

| | | |) | |
m1 c1 + m2 c2 1| 1 5 2.5
. c= = 20 + 12 =
m 32 5 1 3.5

Using Eq. 4.38, the mass moments of inertia of the two regions relative to
their own centers of mass are
(1) ( ) (2) ( )
JG =
.
1
12 (20) 22 + 102 = 173.33, JG = 1
12 (12) 62 + 22 = 40

The mass moments of inertia of the two regions relative to point .P are

(1) (1) ( )
JP = JG + m1 c1 · c1 = 173.33 + (20)(26) = 693.33
.
(2) (2) ( )
JP = JG + m2 c2 · c2 = 40 + (12)(26) = 352

Adding these two together gives the total mass moment of inertia relative to
point .P as

. JP = JP(1) + JP(2) = 1045.33

Finally, we can use the result in the parallel axis theorem to get the mass
moment of inertia of the entire body relative to its center of mass as
( ) ( )
. JG = JP − m c · c = 1045.33 − (32) 2.52 + 3.22 = 453.33

This example illustrates how the individual regions can be combined together
by referring both to the common point .P using the parallel axis theorem. Once
combined, the total mass moment of inertia is computed by referring the results
back to the center of mass of the entire body using the parallel axis theorem again.

@seismicisolation
@seismicisolation
172 4 Unifying Concepts for Planar Motion

Variable Mass Per Unit Area Many solid bodies do not have a constant thickness.
In such cases the mass per unit area .ρ̂ is a function of the location in the plane, as
illustrated in the following example.

Example 4.7 Find the mass moment of inertia relative to the center of mass
of a sphere of radius R with uniform density of .ρ. Assume that the sphere is
rotating about a fixed axis. The center of mass is at the center of the sphere.
Let us assume that the sphere is rotating about the .e3 axis. Figure 4.15
gives two views of the three-dimensional sphere. The sketch on the left (a) is
the plane of the body, with the typical particle .A shown at polar coordinates
.(r, ϕ). In this view, the axis of rotation is pointing directly out of the page. The

sketch on the right (b) shows a side view, rotated .90 ◦ about the vertical axis.
In this view, it is evident that the typical particle has width 2y. The value of
y can be determined because the end points are on the surface of the sphere,
which satisfies the equation .r 2 + y 2 = R 2 . Solving for y, the mass per unit
area can be expressed as
( ) √
ρ̂(r) = 2y ρ = 2ρ R 2 − r 2
.

which is the density .ρ multiplied by the “thickness” of the sphere.


The mass moment of inertia relative to the center of mass is defined in
Eq. 4.16. In this case .z = rn, so
| | 2π| R √
JC =
. ρ̂(r) r 2 dA = 2 ρ r 3 R 2 − r 2 dr dϕ
B 0 0

where .dA = r dr dϕ. Letting .ξ = r/R and carrying out the integral with
respect to .ϕ (which is simply .2π) results in the expression

n y y
e2 r e2

e1 e3
R R
(a) (b)
Fig. 4.15 Example. Computation of the mass moment of inertia of a sphere of radius R and
constant density .ρ. (a) View of the plane of rotation. The axis of rotation is out of the page
at point .C . (b) View perpendicular to the plane of rotation. The axis of rotation is along .e3
through .C

(continued)

@seismicisolation
@seismicisolation
4.5 Inertial Properties 173

Example 4.7 (continued)


| 1 /
JC = 4πρR 5
. ξ 3 1 − ξ 2 dξ
0

Let .s = 1 − ξ 2 , so that .ds = −2ξ dξ . Now, .ξ 2 = 1 − s and .dξ = −ds/(2ξ ), and


the integral can be evaluated as
| / | | |1
1 1 ( )√
. ξ 3
1 − ξ 2 dξ = 1
2 1−s s ds = 12 23 s 3/2 − 52 s 5/2 = 2
15
0 0 0

Note that the negative sign introduced in the expression for ds is accommo-
dated by reversing the upper and lower limits of integration after the variable
change (i.e., when .ξ = 0, .s = 1 and when .ξ = 1, .s = 0, so an integral in .ξ
from 0 to 1 would be an integral in s from 1 to 0). The volume of a sphere is
.V = π R and the mass is volume times density. Therefore, the mass moment
4 3
3
of inertia of the sphere is
( ) (2)
JC = 4πρR 5
.
2
15 = 34 πρR 3 R 2 5 = 52 mR 2

where m is the total mass of the sphere.

Radius of Gyration A common characterization of the mass moment of inertia is


through the radius of gyration, which is defined as
/
JC
k=
.
m

Note that the radius of gyration has units of length. If the mass of the body could be
concentrated at a single point, then the radius of gyration would be the location that
has the same mass moment of inertia relative to point .C as the body with distributed
mass. The following example illustrates the radius of gyration.

Example 4.8 Compute the radius of gyration of the three bodies shown in
Fig. 4.16.

Rod. Compute the radius of gyration of the rod of length L and mass per
unit length of .ρ̄, shown in Fig. 4.16a, with the mass moment of inertia taken
relative to point .C. The mass is .m = ρ̄L. The mass moment of inertia is

(continued)

@seismicisolation
@seismicisolation
174 4 Unifying Concepts for Planar Motion

Example 4.8 (continued)


Fig. 4.16 Examples. Radius
of gyration of (a) rod of
L R R
length L relative to the end,
(b) ring of radius R relative to
center, and (c) disk of radius
R relative to center (a) (b) (c)

| L
. JC = ρ̄ s 2 ds = 13 ρ̄L3
0

The radius of gyration is


/
1 3
3 ρ̄L L
k=
. = √ = 0.5774 L
ρ̄L 3
If all the mass m was concentrated a distance k from the left end, then the
reluctance to rotate about point .C would be the same as for the uniform bar.

Ring. As a second example, consider a uniform circular ring with mass per
unit length .ρ̄ and radius R, shown in Fig. 4.16b, with the mass moment of
inertia taken relative to point .C. The mass is .m = 2π R ρ̄, i.e., the mass per
unit length multiplied by the circumference of the ring. The mass moment of
inertia relative to the center of the ring can be computed as
| | 2π
JC =
. ρ r dV =2
ρ̄ R 3 dϕ = 2π ρ̄R 3 = mR 2
B 0

since .ρ dV = ρ̄ R dϕ and .r = R for all points in the body. The radius of


gyration in this case is .k = R, i.e., it is the actual radius of the ring. This
result makes sense because all of the mass is concentrated at the distance R
as far as rotation in the plane about the center of the ring is concerned.

Disk. As a final case, consider a uniform solid disk of radius R and mass per
unit area .ρ̂, as shown in Fig. 4.16c. The mass and mass moment of inertia
relative to the center of the disk can be computed as
| | 2π| R ( )| |R
m= ρ dV = ρ̂ r dr dϕ = ρ̂ 2π 12 r 2 0 = π ρ̂R 2
B 0 0
.
| | 2π| R ( )| |R
JC = ρ r 2 dV = ρ̂ r 3 dr dϕ = ρ̂ 2π 41 r 4 0 = 21 π ρ̂R 4
B 0 0

(continued)

@seismicisolation
@seismicisolation
4.6 Computation: Inertial Properties 175

Example 4.8 (continued)


since .ρ dV = ρ̂ r dr dϕ. Thus, the radius of gyration is
/
1 4
2 π ρ̂R R
.k= = √ = 0.7071 R
π ρ̂R 2 2

which means that a disk of radius R has the same reluctance to rotate as a
concentrated mass a distance .0.7071R from the center or, from the previous
case, a ring of the same total mass with radius .0.7071R. The reason that the
solid disk is less efficient at resisting rotation is because the material close to
the center of the disk develops much smaller velocity than the material near
the edge. Hence, the particles near the center contribute much less to rotational
resistance than the particles near the edge do.

4.6 Computation: Inertial Properties

The mass, first moment of mass, and mass moment of inertia—the last two taken
relative to a specific point .P—can be computed as integrals over the area of the
region occupied by .B. To wit,
| | |
( )
.m = ρ̂ dA, sP = ρ̂ ζ dA, JP = ρ̂ ζ · ζ dA (4.39)
B B B

In the real world, bodies seldom have shapes for which these integrals can be easily
computed. In this section, we lay out an algorithm for computing these properties
for any body with uniform .ρ̂ whose exterior boundary .∂B can be approximated as a
polygon.
The algorithm relies on the divergence theorem of vector calculus in two
dimensions, which can be stated as
| |
. div(w) dA = w · n ds (4.40)
B ∂B

where .∂B is the boundary of the region .B and .n is the unit outward normal to the
boundary. The divergence theorem is a means of converting area integrals to line
integrals, and vice versa. The theorem holds for any vector field .w(ζ ), where .ζ is
the independent variable of the coordinate system that covers the domain .B. The
formula for the divergence of a vector field in rectangular Cartesian coordinates is

∂w1 ∂w2
div(w) =
. +
∂ζ1 ∂ζ2

@seismicisolation
@seismicisolation
176 4 Unifying Concepts for Planar Motion

where .w1 and .w2 are the components of the vector

w(ζ ) = w1 (ζ1 , ζ2 )e1 + w2 (ζ1 , ζ2 )e1


.

each of which are functions of both .ζ1 and .ζ2 . If .w is a tensor field with components
wij , i.e.,
.


2 ⎲
2
| |
. w(ζ ) = wij (ζ1 , ζ2 ) ei ⊗ ej
i=1 j =1

then the formula for the divergence is


2 ⎲
2
∂wij
.div(w) = ei
∂ζj
i=1 j =1

Thus, the divergence of a tensor field is a vector field.


To accomplish our goals of computing the inertial properties of a body, we will
apply the divergence theorem to three simple versions of .w(ζ ). First, consider the
vector field .w(ζ ) = ζ , with components .w1 = ζ1 and .w2 = ζ2 . Applying the formula
for the divergence gives

∂w1 ∂w2 ∂ | ) ∂ | )
div(w) =
. + = ζ1 + ζ2 = 1 + 1 = 2
∂ζ1 ∂ζ2 ∂ζ1 ∂ζ2

Second, consider the tensor field .w(ζ ) = ζ ⊗ ζ , with components .wij = ζi ζj .


Applying the formula for divergence gives

⎲ ∂ | )
2 ⎲
2
div(w) = ζi ζj ei
∂ζj
i=1 j =1
| ∂ (ζ 1 ζ 1 )
( )
∂ ζ 1 ζ2 ) | ∂ (ζ2 ζ1 ) ∂ (ζ2 ζ2 ) )
. = + e1 + + e2
∂ζ1 ∂ζ2 ∂ζ1 ∂ζ2
| ) | )
= 2ζ1 + ζ1 e1 + ζ2 + 2ζ2 e2

= 3ζ1 e1 + 3ζ2 e2 = 3ζ

( .w(ζ ))= (ζ · ζ )ζ . This vector field has


Third, and finally,(consider) the vector field
components .w1 = ζ12 + ζ22 ζ1 and .w2 = ζ12 + ζ22 ζ2 . Applying the formula for the
divergence gives

@seismicisolation
@seismicisolation
4.6 Computation: Inertial Properties 177

∂w1 ∂w2
div(w) = +
∂ζ1 ∂ζ2
|
∂ ( 2 ) ) ∂ |( 2 ) )
= ζ1 + ζ22 ζ1 + ζ1 + ζ22 ζ2
. ∂ζ1 ∂ζ2
| ) | )
= 3ζ12 + ζ22 + 3ζ22 + ζ12
( ) ( )
= 4 ζ12 + ζ22 = 4 ζ · ζ

The following table summarizes the above results, giving each function, its diver-
gence, and the result of .w · n.

w w·n
div(w)
( )
ζ 2 ζ ·n
.
( )
ζ ⊗ζ 3ζ ζ ·n ζ
( ) ( ) ( )( )
ζ ·ζ ζ 4 ζ ·ζ ζ · n ζ ·ζ

Using the divergence theorem, we can write our three integrals over the domain .B
as integrals over the boundary of the domain .∂B. To wit,
| |
( )
dA = 1
2 ζ · n ds
B ∂B
| |
( )
. ζ dA = 1
3 ζ · n ζ ds (4.41)
B ∂B
| |
( ) ( )( )
ζ · ζ dA = 1
4 ζ · n ζ · ζ ds
B ∂B

We will use the integrals over the surface of the region to create a general algorithm
for computing the inertial properties of a body in planar motion.

Example 4.9 Compute the mass moment of inertia relative to the center of
a circular disk of radius R and mass per unit area .ρ̂ using both the direct
computation over the area of the domain and the equivalent computation using
the integration over the surface, as given in Eq. 4.41.

(continued)

@seismicisolation
@seismicisolation
178 4 Unifying Concepts for Planar Motion

Example 4.9 (continued)

Fig. 4.17 Example. Circular n


disk with radius R and mass
per unit area .ρ̂. Polar
R rn
coordinates are .(r, ϕ)

Integration Over the Area. Using polar coordinates .(r, ϕ), where r is the
distance to the typical particle and .ϕ is the angle measured from horizontal,
as shown in Fig. 4.17, the position vector of the typical particle can be
represented as .ζ = rn, where .n is a unit vector pointing radially outward. The
element of area for integration is .dA = r dr dϕ. Note that .ζ · ζ = r 2 . Thus,
| |
( ) ( )
JC = ρ̂ ζ · ζ dA = ρ̂ rn · rn r dr dϕ
B B
| 2π| R
. = ρ̂ r 3 dr dϕ
0 0
| |2π | |R
= ρ̂ ϕ 0 14 r 4 0 = 12 ρ̂π R 4

Integration Over the Surface. On the surface of the circle, .ζ · ζ = R 2 . The


element of integration is .ds = R dϕ. At any point on the surface, .ζ = Rn.
Thus,
| |
( )( ) 2π ( )( )
JC = 1
4 ρ̂ ζ · n ζ · ζ dA = 1
4 ρ̂ Rn · n Rn · Rn R dϕ
∂B 0
| 2π
.
= 1
4 ρ̂ R 4 dϕ
0
| |2π
= 14 ρ̂R 4 ϕ 0 = 21 ρ̂π R 4

The results of the two computations are identical, as promised by the


divergence theorem.

The next step is to approximate the boundary with straight line segments and
recognize that the integral over the entire boundary will be the sum of the integrals
over the individual line segments that comprise the boundary. Since these integrals
are along a straight line, we will be able to compute exact expressions for those line

@seismicisolation
@seismicisolation
4.6 Computation: Inertial Properties 179

Fig. 4.18 Geometry of


boundary segment. The e2 j

boundary segment e between e1 j


adjacent vertices i and j , with
(s)
unit vectors .p and .n. The i ds
coordinate system for .ζ has
origin at .P p
s
i h
n

integrals. Define
|
( )
Ae = 1
2 ζ · n ds
∂ Be
|
( )
. re = 1
3 ζ · n ζ ds (4.42)
∂ Be
|
( )( )
Re = 1
4 ζ · n ζ · ζ ds
∂ Be

where .∂Be is the part of the boundary associated with segment e.


Consider the representation of the boundary segment e between vertices i and
j , shown in Fig. 4.18. The coordinates of the two adjacent vertices are .ζ i and
.ζ j , relative to the origin of coordinates .P. The length of the segment is h. The

unit vector .p, which points along the line from i to j , can be computed from the
coordinates of the vertices as
ζj − ζi
p=
. , h = ||ζ j − ζ i ||
h

The vector .ζ (s) to the typical particle along the line segment is

ζ (s) = ζ i + s p
.

where .s ∈ [ 0, h ] measures distance along the segment, starting from vertex i.


Observe that

ζ (s) · n = ζ i · n
.

which is constant along the segment because .n is orthogonal to .p. Substituting .ζ (s)
into Eq. 4.42a, the integral for area associated with segment i gives
( )
Ae =
.
1
2 ζi · n h

@seismicisolation
@seismicisolation
180 4 Unifying Concepts for Planar Motion

This equation can be simplified by noting that .n = p × e3 and .hp = ζ j − ζ i . Thus,


we can write
( ) (( ) ) ( ( )) ( )
. ζ i · n h = ζ i · ζ j − ζ i × e 3 = e3 · ζ i × ζ j − ζ i = e3 · ζ i × ζ j

where we have invoked the cyclic property of the triple scalar product and noted
that any vector crossed with itself is zero. Now, substituting this expression into the
equation for .Ae gives
( )
Ae = ζ i × ζ j · e3
1
2
|( )
(1) (2) ) ( (1) (2) )
. = 12 ζi e1 + ζi e2 × ζj e1 + ζj e2 · e3
| )
(1) (2) (2) (1)
= 12 ζi ζj e3 − ζi ζ1 e3 · e3

Carrying out the dot products gives the final expression for .Ae as
( (1) (2) (2) (1) )
Ae =
.
1
2 ζi ζ j − ζi ζj (4.43)

where .ζi(1) simply means the .e1 component of the vector ( .ζ i . It )makes sense that the
contribution to the area is half the triple scalar product . ζ i × ζ j · e3 . The magnitude
of the cross product of two vectors is defined to be the area of the parallelogram
defined by the vectors, as shown in Fig. 1.6. Half the area of the parallelogram is
the area of the triangle. Of course, the location of the origin might be outside of the
region, so it seems like we might be including area outside of the region. One can
show that the parts outside of the region are added and subtracted back out when the
sum over all edges is complete.
Similarly, we can compute .re as
|
( ) h( )
re = 31 ζ i · n ζ i + sp ds
0
( )( )
.
= 1
3 ζ i · n hζ i + 12 h2 p
( )( ( ))
= 1
3 2Ae ζ i + 21 ζ j − ζ i

Simplifying the last expression gives the final result


( )
re = 13 Ae ζ i + ζ j
. (4.44)

Finally, we can compute .Re as

@seismicisolation
@seismicisolation
4.6 Computation: Inertial Properties 181

|
( ) h( ) ( )
Re = 1
4 ζi · n ζ i + sp · ζ i + sp ds
0
|
( ) h( )
= 1
4 ζi · n ζ i · ζ i + 2sζ i · p + s 2 p · p ds
0
.
( )| ( )|
= 14 ζ i · n hζ i · ζ i + h2 ζ i · p + 13 h3 p · p

( )| ( )|
= 41 h ζ i · n ζ i · ζ i + ζ i · hp + 31 hp · hp
( )
Substituting .hp = ζ j − ζ i and .2Ae = h ζ i · n and simplifying the resulting expres-
sions give
| )
Re = 61 Ae ζ i · ζ i + ζ i · ζ j + ζ j · ζ j
. (4.45)

These edge contributions can be summed to obtain the complete integrals. To wit,


N ⎲
N ⎲
N
. m = ρ̂ Ae , sP = ρ̂ re , JP = ρ̂ Re
e=1 e=1 e=1

The mass moment of inertia relative to the center of mass, i.e., .JG can be computed
from .JP by the parallel axis theorem. The location of the center of mass can be
computed as .c = sP /m. Code 4.1 executes this algorithm.

Code 4.1 MATLAB code to compute the mass, center of mass, and mass moment of inertia of a
body whose surface can be approximated by a polygon
clear; clc;

%. Select region type and retrieve vertex coordinates


Type = 0;
[x,SectionName,Type] = InertialPropertiesInput(Type);

%. Determine the number of vertices (and, therefore, sides)


rho = 1.0; % Mass per unit area
[nVertices,~] = size(x); % Number of vertex points (rows of x)
nEdges = nVertices - 1; % Number of edge segments

%. Initialize values for accumulation


A = 0; % integrate dA
r = zeros(2,1); % integrate z dA
R = 0; % integrate z.z dA

%. Loop over edges of the polygon, accumulate sums


for e=1:nEdges

%... Fetch vectors at end points


zi = x(e,:)'; % x at vertex i
zj = x(e+1,:)'; % x at vertex j

%... Compute increment to (dA), (z dA), and (z.z = dA) and add to totals
Ae = (zi(1)*zj(2) - zi(2)*zj(1))/2;

@seismicisolation
@seismicisolation
182 4 Unifying Concepts for Planar Motion

A = A + Ae;
r = r + Ae*(zi + zj)/3;
R = R + Ae*(dot(zi,zi) + dot(zi,zj) + dot(zj,zj))/6;

end % loop over edges

%. Finish the calculation of center of mass and mass moment of inertia


m = rho*A;
c = r/A;
J = rho*(R - A*dot(c,c));

%. Ouput results
InertialPropertiesOut(m,c,J,x,Type,SectionName)

This code works if the input vertex coordinates x are listed in sequential order in
a counterclockwise sweep of the vertices. The coordinates are generated through a
call to the function InertialPropertiesInput. Any vertex can be the first.
The list of vertices must include a repeat of the first vertex at the end so that the
polygon closes. If vertices are listed in clockwise order, then the result is the negative
of the integral. This allows the creation of regions with cutouts. Traverse the exterior
vertices in counterclockwise order, then move to one of the cutout vertices. Traverse
the cutout vertices in clockwise order. Finally, list the first exterior vertex again to
close the polygon. Any number of cutouts can be included. Think of the list of
vertices as you would if you were going to connect the dots without lifting the pen
(including the move from the exterior boundary to a cutout, from one cutout to the
next, or from a cutout back to the exterior boundary). The results of the computation
are produced by the function InertialPropertiesOut, which is not included
here. This function includes a rendering of the cross section, which is a great way
to verify that the cross section is the one intended.
Code 4.2 is an example of the function that generates the vertex coordinates as
input to Code 4.1.

Code 4.2 MATLAB code to specify the vertex coordinates of a uniform planar rigid body
function [x,SectionName,Type] = InertialPropertiesInput(Type)
% Input function for plane polygonal regions
% This function creates the vertex locations for a polygon for
% specified 'Type' input. Note that the vertices of each enclosed
% areas must be numbered sequentially with positive areas numbered
% counterclockwise and negative areas numbered clockwise (for cutouts)

%. Library of section types


section = {'Rectangle';'Solid N-gon';'Hollow Rectangle';...
'Circular wedge ';'T-Shaped region';'Triangle';...
'Circular arc';'Triangle with cutout';...
'Heart';'N-gon with cutout';'L-Shapted region'};

%. Select cross section by menu


if Type==0
msg = 'Select Cross Section';
Type = listdlg('PromptString',msg,'ListString',section);
end
SectionName = char(section(Type));

%. Establish vertex coordinates for given type


switch Type

@seismicisolation
@seismicisolation
4.6 Computation: Inertial Properties 183

case 1 % Rectangle
w = 6; h = 2;
x = [0,0; w,0; w,h; 0,h; 0,0];

case 2 % Regular N-gon, large value of nPts to get circle


radius = 1; nPts = 51;
phi = linspace(0,2*pi,nPts)';
x = radius*[cos(phi), sin(phi)];

case 3 % Hollow Rectanglular tube


w = 2; h = 5; tf = 0.5; tw = 0.5;
x = [0,0; w,0; w,h; 0,h; 0,0; tw,tf;...
tw,h-tf; w-tw,h-tf; w-tw,tf; tw,tf; 0,0];

case 4 % Circular sector


radius = 2; angle = pi/6; nPts = 31;
phi = linspace(angle,pi-angle,nPts)';
x = radius*[cos(phi), sin(phi)];
x = [0,0; x; 0,0];

case 5 % T-Shaped region


b = 6; tf = 0.8; h = 6; tw = 0.8;
x = [0,0; b,0; b,tf; b/2+tw/2,tf; b/2+tw/2,tf+h;...
b/2-tw/2,tf+h; b/2-tw/2,tf; 0,tf; 0,0];

case 6 % Triangular (isosceles) region


b = 6; h = 6;
x = [0,0; b,0; b/2,h; 0,0];

case 7 % Circlular arc


rOuter = 5; rInner = 3.7; angle = -pi/6; nPts = 41;
phiO = linspace(angle,pi-angle,nPts)';
phiI = flip(phiO);
x = rOuter*[cos(phiO), sin(phiO)];
y = rInner*[cos(phiI), sin(phiI)];
z = rOuter*[cos(angle), sin(angle)];
x = [x; y; z];

case 8 % Triangular region with cutout


b = 6; h = 6; a = b/6; w = h/8;
x = [0,0; b,0; b/2,h; 0,0;...
a,w; b/2,h-2*w; 2*b/3,h/3; a,w; 0,0];

case 9 % Heart
a = 3; b = 3; nPts = 30;
phi = pi/2 - atan(b/a); R = a/(1+cos(phi)); c = R*sin(phi);
th = linspace(-phi,pi,nPts)';
xc = R*(1+cos(th)); yc = c + R*sin(th);
x = [0,-b ; a,0 ; xc,yc ; -flip(xc),flip(yc); -a,0 ; 0,-b];

case 10 % N-gon with cutout


radius = 5; nPts = 9;
phi = linspace(0,2*pi,nPts)';
x = radius*[cos(phi), sin(phi)];
a = 1; b = 3*a;
y = [b,a; b,-a; a,-a; a,-b; -a,-b; -a,-a; -b,-a; ...
-b,a; -a,a; -a,b; a,b; a,a; b,a; radius,0];
x = [x; y];

case 11 % L-Shaped region


b = 8; h = 10; tb = 2; th = 2;
x = [0,0; b,0; b,tb; th,tb; th,h; 0,h; 0,0];

end % switch

%. Rotate coordinates to change orientation of region

@seismicisolation
@seismicisolation
184 4 Unifying Concepts for Planar Motion

angle = 0.0;
Rot = [cos(angle), -sin(angle); sin(angle), cos(angle)];
x = (Rot*x')';

This code is set up to have a menu selection of region type. If you input Type
as zero, then the interactive input is engaged. If Type is greater than zero, then that
number is the section selected. The library of regions can be expanded. Most of the
bodies defined in Code 4.2 are parameterized so that the dimensions can be changed
easily. Note, also, that the orientation of the region can be rotated by specifying the
angle at the end of the function.

Example 4.10 To illustrate and verify the computation of mass, center of


mass, and mass moment of inertia, consider the regular octagon with uniform
mass per unit area .ρ̂ = 1 and radius .r = 5 with a cutout of dimension .a = 1, as
shown in Fig. 4.19. Verify that the center of mass is at the origin and compute
the mass and the mass moment of inertia relative to the center of mass.
Code 4.1 computes a location of c = (3.5029e-17, -2.3207e-16),
the total mass as m = 50.711, and the mass moment of inertia of
J = 720.26. The location of the center of mass is equal to .(0, 0) to within
machine precision. The body is symmetric, so the location of the center of
mass is known without computation because the center of mass must lie on
any axis of symmetry. When there are two axes of symmetry, then the center
of mass must lie on the intersection of those axes.
To verify the mass and the mass moment of inertia, we can note that m and
.JG for a regular n-gon is

| 2π ) | | π )|
m = 21 ρ̂ r 2 n sin
. , JG = 12 mr 2 1 − 2
3 sin2
n n

Fig. 4.19 Example. Regular


octagon of radius .r = 5 with
cutout of dimension .a = 1. 2a
The mass per unit area is r
.ρ̂ = 1. Compute the center of 2a
mass and the mass moment of
inertia

(continued)

@seismicisolation
@seismicisolation
4.7 Summary 185

Example 4.10 (continued)


These equations, with .n = 8, give .m = 70.71 and .JG = 797.59. The cutout can
be viewed as five squares of dimension 2a. The mass of each of the squares is
.m = 4ρ̂a = 4 and the mass moment of inertia of each square about its center
2

is .JG = 8ρ̂a 4 /3 = 8/3. Four of the five squares need to be transferred to the
global center of mass from their own center using the parallel axis theorem.
The distance is 2a, so the contribution to the mass moment of inertia for each
one is .4a 2 m = 16. Thus, the total mass of the body with cutout is
( )
m = 70.71 − 5 4 = 50.71
.

The total mass moment of inertia is


( ) ( )
JG = 797.59 − 5 38 − 4 16 = 720.26
.

thus verifying that the code gives the correct values in this case. Note that this
body is defined as Case 10 in Code 4.2.

4.7 Summary

This chapter lays out a general derivation of the dynamic response of a body in
planar motion. The approach is similar to what we did in the previous chapter,
where the strategy was to develop a specific geometry sketch and free body diagram
for the problem at hand and to build the equations of motion from those sketches
using the typical particle construction directly. In the previous chapter, we started
each problem from scratch and built the equations of motion by summing Newton’s
laws over the particles that comprised the body. In this chapter, we showed that we
could derive equations of motion for any body in planar motion by specifying a
reference point for translation. The sums over the particles that make up the body
were isolated in the computation of the inertial properties of the body: the mass,
first moment of mass, and mass moment of inertia. The equations of motion result
from plugging those values into Euler’s laws of motion. The downside of using
Euler’s laws directly is that you have to remember what all the symbols mean when
attacking a specific problem.
The second purpose of this chapter is to prepare for the next one, in which
we establish the equations of motion for a body in general three-dimensional
motion. For reasons that should become evident, the derivation of those equations
fit the framework of this chapter perfectly, allowing a graceful transition to three
dimensions. The approach taken to describing rotation in this chapter sets us up
well to tackle the challenge of characterizing rotation in three dimensions.

@seismicisolation
@seismicisolation
186 4 Unifying Concepts for Planar Motion

4.8 Problems

The formulations of Euler’s first and second laws of motion derived in this chapter
are simply a different way of creating the equations of motion. Hence, all the
problems from Chap. 3 are relevant to this chapter. Repeat those problems, using
Euler’s laws directly rather than building them from the typical particle construction.

@seismicisolation
@seismicisolation
Chapter 5
Motion in Three Dimensions

In this chapter, we extend our analysis of rigid bodies to general three-dimensional


motions. While planar motion has many practical applications and is a great context
for learning the basic concepts of rigid body dynamics, our world has three spatial
dimensions. From gyroscopes to robots to spacecraft, applications that require the
analysis presented in this chapter abound. Most of the derivations from the previous
chapter translate nicely to this more general setting. However, dealing with rotations
in three dimensions is a bit more involved. Rotation in a single plane can be
characterized by a single scalar variable because rotation is about a fixed axis.
Rotation in three dimensions has three degrees of freedom. Taking our standard
approach, wherein we describe the position vector of a typical particle as the starting
point, we will see that characterizing rotation with an orthogonal tensor is a simple
and clean route dealing with rotation in three dimensions and also for maintaining
the rigidity constraint. The nature of angular velocity and angular acceleration, then,
emerges naturally from the time derivatives of the position vector. Once we grasp
the characterization of rotation, then the derivations of the equations of motion and
energy follow the developments of the previous chapter fairly closely.

5.1 Description of Motion

As before, we consider a rigid body to be a collection of particles. We will describe


the motion of a typical particle, compute the associated velocity and acceleration,
assert that each particle obeys Newton’s laws, and sum the contributions of the
particles to arrive at the equations of motion of the rigid body. The trick is to describe
the motion in a way that naturally maintains the rigid body constraint, i.e., that
distances between points remain the same at all times.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2025 187
K. D. Hjelmstad, Engineering Dynamics,
https://doi.org/10.1007/978-3-031-56376-8_5
@seismicisolation
@seismicisolation
188 5 Motion in Three Dimensions

g2
g3

e3 g1
(t ) z
z e2
e1 x( z , t )

x (t )

(a) (b)

Fig. 5.1 Description of motion. The rigid body .B in motion. (a) The body in the reference
configuration and (b) the body at time t. The point .C is the reference point for translation, which is
measured relative to the origin .O by the vector .xC (t). The point .A is the typical particle, located
with the vector .z relative to the reference point .C in the reference configuration. The rotation is
characterized by the orthogonal tensor .Λ(t)

Consider the rigid body .B shown in Fig. 5.1a, which shows the body in the
reference configuration. We locate the typical particle .A with a vector .z measured
relative to a reference point .C. The choice of point .C is arbitrary, but as shown in
Fig. 5.1b, we will take it as the reference point on the body that we use to track
translational motion relative to the fixed origin .O. The vector .z can be expressed in
components as

z = z1 e1 + z2 e2 + z3 e3
.

with respect to the fixed base vectors .{e1 , e2 , e3 }. The components of the vector .z,
i.e., .z1 , .z2 , and .z3 , are the independent spatial variables that uniquely identify the
particle .A.1 The advantage of using .z to characterize the particle is that when it
comes time to sum over all particles in the body, the task can be done independent
of the state of motion of the body.
The position of particle .A at time t, relative to the inertial reference frame
described by the origin .O and the standard unit base vectors .{e1 , e2 , e3 }, is

x(z, t) = xC (t) + Λ(t)z


. (5.1)

where .xC (t) is the translation of the point .C relative to the origin .O and the
orthogonal tensor .Λ(t) characterizes the rotation relative to the inertial reference
frame, as shown in Fig. 5.1.

1 Inwhat follows, we will sometimes use the notation .z to mean the matrix of the components of
.zwith respect to the fixed basis. In other words, we will use .z to mean .{z}. The context will make
the usage clear.

@seismicisolation
@seismicisolation
5.1 Description of Motion 189

One way to visualize the action of the rotation tensor .Λ(t) is to consider the three
orthogonal unit vectors .{g1 (t), g2 (t), g3 (t)}, fixed to the rigid body and rotating
with it. These vectors are aligned with the fixed base vectors .{e1 , e2 , e3 } in the
reference configuration, which implies that .Λ(0) = I. The rotating unit vectors can
be computed from the fixed base vectors as

gi (t) = Λ(t)ei
. (5.2)

for .i = 1, 2, 3. This relationship implies that


( )
Λ(t)z = Λ(t) z1 e1 + z2 e2 + z3 e3
. = z1 Λ(t)e1 + z2 Λ(t)e2 + z3 Λ(t)e3
= z1 g1 (t) + z2 g2 (t) + z3 g3 (t)

which tells us that the components of the location of the particle .A relative to .C
are simply .{z1 , z2 , z3 } relative to the rotating unit vectors. If you were an observer
on the body and moving with it, the location of particle .A would appear to be in
the same place throughout time, even though the body is moving (and so, therefore,
is particle .A). The vectors .gi (t) are the three-dimensional version of the “helper”
vectors, often denoted .n(t) and .m(t), in Chap. 3, and the vectors .p(t) and .q(t) in
Chap. 4.
We will look into the character of the rotation subsequently, but for now simply
note that the tensor .Λ(t) is the three-dimensional generalization of the tensor .Λ(t)
defined in the previous chapter on planar motion, which depended on the single
angle .θ (t). One might imagine that it should take only three parameters to track
rotation in three dimensions, and yet the tensor .Λ(t) has nine components (and can
be represented as a .3×3 matrix). The key is to note that .Λ(t) is an orthogonal tensor.
Hence,

ΛT(t)Λ(t) = I,
. Λ(t)ΛT(t) = I (5.3)

where .I is the identity tensor. These relationships each constitute nine equations.
Any matrix created as the transpose of a matrix multiplied by itself, e.g., .AT A,
is symmetric. Therefore, there are really only six independent equations. Nine
quantities constrained by six equations leave three degrees of freedom. Hence, there
are three independent actions implicit in the tensor .Λ(t).
We can show that the vector .Λ(t)z is the same length as the vector .z by computing
the square of the length of the vector as
( ) ( ) ( )
||Λz||2 = Λz · Λz = z · ΛTΛ z = z · z = ||z||2
.

where we have noted that .Au · v = u · ATv for any tensor .A and vectors .u and .v. The
orthogonality of the rotation tensor is the key to this demonstration. Since the length
of the vector .z does not change, .Λz must be a pure rotation of .z.

@seismicisolation
@seismicisolation
190 5 Motion in Three Dimensions

Equation 5.3 also implies that .ΛT = Λ−1 . Hence, the transpose of .Λ is the same
as the inverse. Therefore, whatever .Λ does to a vector, .ΛT undoes. It is also worth
noting here that
( ) ( ) ( )
. Λu × Λv = Λ u × v (5.4)

The cross product of vectors is the product of the lengths of the vectors and the sine
of the angle between them. Rotation by .Λ does not change the length of the vectors,
and because both vectors are rotated by the same amount, the angle between them
does not change. Therefore, the cross product of the rotated vectors is the same as
the rotated cross product of the unrotated vectors.

5.1.1 Velocity and Acceleration

To complete the kinematic description, we take the time derivatives of position from
Eq. 5.1 to obtain the velocity and acceleration of particle .A. To wit,

ẋ(z, t) = ẋC (t) + Λ̇(t)z


. (5.5)
ẍ(z, t) = ẍC (t) + Λ̈(t)z

The velocity and acceleration will be used to compute kinetic energy and to balance
angular momentum of the body. To make progress, we must determine how to
compute the first and second derivatives of the rotation tensor .Λ(t).

5.1.2 Rates of Change of the Rotation Tensor

To find expressions for the rates of change of the rotation tensor, let us simply take
the derivative of the orthogonality relationship .ΛTΛ = I with respect to time. Since
the identity tensor is constant, the product rule for differentiation gives

Λ̇TΛ + ΛTΛ̇ = 0
. (5.6)

Let us define the angular velocity tensor

W(t) = ΛT(t)Λ̇(t)
. (5.7)

It is clear that .W(t) is a rate of change of the rotation tensor, but why we associate
it with the term angular velocity remains to be seen. Equation 5.6 implies that
.W + W = 0. In other words, .W is an antisymmetric tensor, i.e., .W = −W. The
T T

components of an antisymmetric tensor can be expressed in matrix form as

@seismicisolation
@seismicisolation
5.1 Description of Motion 191

⎡ ⎤
0 −w3 w2
.W = ⎣ w3 0 −w1 ⎦ (5.8)
−w2 w1 0

It is interesting to observe that there are only three independent quantities in an


antisymmetric matrix. It is also worth noting that operation of an antisymmetric
tensor on a vector is equivalent to the cross product of vectors

Wh = w × h
. (5.9)

where .h is an arbitrary vector. Let us call .w(t) the angular velocity vector or
simply angular velocity. The angular velocity vector and tensor can be used
interchangeably, as long as we respect Eq. 5.9. They are completely equivalent. The
choice will depend on which version is most convenient in a given context. The
main advantage of the tensor version is that tensors are associative, whereas cross
products are not.
To find an expression for the second derivative of .Λ(t), take the time derivative
of the angular velocity tensor from Eq. 5.7. The product rule gives

Ẇ(t) = Λ̇T(t)Λ̇(t) + ΛT(t)Λ̈(t)


| |
. = Λ̇T(t) Λ(t)ΛT(t) Λ̇(t) + ΛT(t)Λ̈(t)
= WT(t)W(t) + ΛT(t)Λ̈(t)

where we have used the orthogonality relationship .ΛΛT = I in line two and the
definition of angular velocity from Eq. 5.7 in line three (along with the fact that the
transpose of a product of tensors is the product of the transposes of the individual
tensors in reverse order). Rearranging terms, we can write the final expression as

. ΛT(t)Λ̈(t) = Ẇ(t) − WT(t)W(t) (5.10)

Premultiplying both Eqs. 5.7 and 5.10 by .Λ(t), noting orthogonality, gives

Λ̇(t) = Λ(t)W(t)
. | | (5.11)
Λ̈(t) = Λ(t) Ẇ(t) − WT(t)W(t)

These formulas can be used for the velocity and acceleration expressions given
in Eq. 5.5 when they come up in the context of computing energy and balancing
momentum.
There are a few interesting observations to make about the derivatives of
the rotation tensor. First, both expressions include the rotation .Λ(t). In essence,
orientation matters for both. The second derivative includes an angular acceleration
term .Ẇ, which is analogous to the .θ̈ term in planar motion, and an angular velocity

@seismicisolation
@seismicisolation
192 5 Motion in Three Dimensions

(squared) term .WT W, which is analogous to the .θ̇ 2 term in planar motion—the
so-called centripetal acceleration associated with rotation.
It may seem like we have not made much forward progress because all we have
done is define .w(t) in terms of .Λ(t). In what follows, we will write equations
of motion to govern these two time-dependent quantities. We should expect that
balance of linear and angular momentum will yield two vector equations. If those
equations allow us to solve for .w(t) (and the translation vector .xC (t)), then we can
view Eq. 5.7 as a first-order differential equation to find the rotation tensor given the
angular velocity .w(t).

5.1.3 Characterizing the Rotation Tensor

There are several ways to characterize the rotation tensor .Λ(t). The trick is to write
an expression for the tensor that maintains its properties of orthonormality. The
Euler angles are one common approach wherein the 3D rotation is created by three
successive 2D rotations about the x, y, and z axes. While conceptually appealing,
this approach suffers from a phenomenon called gimbal lock. Here we will use a
relationship that is often called the Rodrigues formula.2 In this section we derive
the formula. The derivation is instructive and should aid understanding of rotation
in three dimensions.
Consider a plane with unit normal vector .n, as shown in Fig. 5.2. The two vectors
'
.v and .v lie in the plane, the latter being a rotated copy of the former. The angle of

rotation is .θ. To find the components of the rotated vector .v' , we can break it into
a component along .v and a component perpendicular to it. Let the unit vector .m
point along .v. The unit vector .n × m is perpendicular to both .v and .n. Noting that
'
.||v || = ||v||, we can write

v
n
v n m

v m v
(a) (b)

Fig. 5.2 Rotation in a plane. (a) A plane with unit normal vector .n. The vector .v' is obtained by
rotating .v through the angle .θ . Both vectors lie in the plane. (b) The vectors shown in the plane
with normal .n (pointing out of the page)

2 Benjamin Olinde Rodrigues (1795–1851) was a French mathematician best remembered for this

formula, although there remains some doubt about who actually came up with it first, Rodrigues
or Euler.

@seismicisolation
@seismicisolation
5.1 Description of Motion 193

Fig. 5.3 Rotation about an v


axis. A plane with unit
v
normal vector .n. The vector n
'
.v is obtained by rotating .v
through the angle .θ about axis v
.n. The two vectors do not
necessarily lie in the plane v

( )
v' = ||v|| cos θ m + ||v|| sin θ n × m
. ( ) (5.12)
= cos θ v + sin θ n × v

where we have substituted .||v||m = v.


The derivation of the general case where a vector .v is rotated by an angle .θ
about an axis defined by the unit vector .n is a simple extension of the previous
case. Consider the situation shown in Fig. 5.3, where the vectors .v and .v' do not lie
in the plane with unit normal vector .n. Both vectors can be decomposed into two
parts—a vector in the plane and a vector perpendicular to it. For the vector .v we
have .v = v|| + v⊥ , where
| | | |
v|| = n ⊗ n v,
. v⊥ = I − n ⊗ n v

are the components parallel to .n and perpendicular to it, respectively (see Eqs. 1.19
and 1.20 for details).
When rotated about .n, the component .v|| is unchanged. The component .v⊥
rotates in accord with the rotation of a vector in the plane that we just derived.
Hence, .v'|| = v|| and
( )
v'⊥ = cos θ v⊥ + sin θ n × v⊥
.

Substituting the expression for .v⊥ = [ I − n ⊗ n ]v, we get


| | ( | | )
v'⊥ = cos θ I − n ⊗ n v + sin θ n × I − n ⊗ n v
.
| | ( )
= cos θ I − n ⊗ n v + sin θ n × v

where we have noted in the last term that .n × n = 0. Finally, combining the two
components of .v' gives
( )| | ( )
.v' = cos θ v + 1− cos θ n ⊗ n v + sin θ n × v (5.13)

Factoring out the vector .v allows the identification of the rotation tensor
( )| |
Λ = cos θ I + 1− cos θ n ⊗ n + sin θ N
. (5.14)

@seismicisolation
@seismicisolation
194 5 Motion in Three Dimensions

where the antisymmetric tensor .N is defined so that .Nv = n × v. The matrix


expression for .N is
⎡ ⎤
0 −n3 n2
.N = ⎣ n3 0 −n1 ⎦
−n2 n1 0

where .n1 , .n2 , and .n3 are the components of the unit vector .n.
We can show, using Eq. 1.27, that

N2 = n ⊗ n − I
. (5.15)

where .I is the identity and .N2 = NN is the product of the tensor .N with itself. Prove
this assertion by carrying out the matrix multiplication. Substituting the expression
.n ⊗ n = I + N into Eq. 5.14 gives the alternative form
2

( )
Λ = I + sin θ N + 1− cos θ N2
. (5.16)

Equation 5.16 can also be put into the form of a matrix exponential. First note
that the Taylor series of the scalar exponential function is

.ex = 1 + x + 1 2
2! x + 1 3
3! x + 1 4
4! x + ··· (5.17)

The Taylor series involves the argument raised to integer powers. We can easily
compute powers of the tensor .N. For example, .N3 is
| |
N3 = NN2 = N n ⊗ n − I = −N
. (5.18)

where .Nn ⊗ n = 0 because the cross product of a vector with itself is zero.
Continuing down this path, we find that .N4 = −N2 , .N5 = N, etc., alternating
between positive and negative values of .N and .N2 . Now, let us compute the
exponential of the tensor .θ N. To wit,

eθ N = I + (θN) + 1
2! (θN)
2
+ 1
3! (θN)
3
+ 1
4! (θN)
4
+ 1
5! (θN)
5
+ ···

. = I + (θN) + 2! (θ N ) − 3! (θ N) − 4! (θ N ) + 5! (θ N) + · · ·
1 2 2 1 3 1 4 2 1 5

( ) ( )
=I+ θ − 1 3
3! θ + 1 5
5! θ + · · · N + 2!1 θ 2 − 1 4
4! θ + · · · N2

We can identify the series in parentheses as the Taylor series expansions of .sin θ and
1− cos θ, respectively. Thus, we have
.

( )
eθ N = I + sin θ N + 1− cos θ N2
. (5.19)

@seismicisolation
@seismicisolation
5.2 Balance of Momentum 195

which is exactly the same as the Rodrigues’ rotation tensor derived earlier. This
derivation shows that the exponential of an antisymmetric tensor is an orthogonal
tensor. The various versions of the expressions for .Λ are summarized in the
following box.

Representations of the Rotation Tensor


( )| |
.Λ = cos θ I+ 1− cos θ n⊗n +sin θ N, (Eq. 5.14)
( ) 2
.Λ = I+sin θ N+ 1− cos θ N , (Eq. 5.16)

Λ = eθ N ,
. (Eq. 5.19)

where .n is a unit vector along the axis of rotation, .θ is the angle of rotation
about that axis, and .Nv = n × v.

There are several observations we can make about rotations in three dimensions
from the equations above. First and foremost is that any rotation in three dimensions
can be expressed as a rotation about a specific axis. Second, the rotation tensor has
only three independent parameters—the angle .θ and the components of .n (three
components but reduced by one because .n has unit length). Finally, we can see that
rotation is not a vector, but seems to be closely related to one in the sense that the
vector .θ = θn can be used directly to construct .Λ via Eq. 5.19. This parameterization
will be important when it comes time to implement a solution algorithm for these
problems.

5.2 Balance of Momentum

The equations of motion for a rigid body come from balance of linear and angular
momentum. Consider the free body diagram of body .B shown in Fig. 5.4. The
typical particle .A is shown with the body force .b dV associated with it. Several
externally applied loads are shown, with one of them, the force .Fi , labeled. The
point .C is the reference point for the translational motion, as illustrated in Fig. 5.1.
Observe that this free body diagram represents the body at time t, i.e., the body in
motion in the same position assumed in the derivation of the kinematics.

5.2.1 Balance of Linear Momentum

Balance of linear momentum for the free body diagram shown in Fig. 5.4 is

@seismicisolation
@seismicisolation
196 5 Motion in Three Dimensions

Fig. 5.4 Free body diagram. Fi


A rigid body subjected to
body force .b (shown as acting
on the typical particle) and
applied force .Fi (and others
that are not labeled) at time t.
The moment arms of the (t ) z (t ) ri
forces relative to point .C are
shown as light gray arrows b dV

|
F(t) =
. ρ ẍ(z, t) dV
B

where .ρ is the density of the material, .ẍ(z, t) is the acceleration of the typical
particle given by Eq. 5.5(b), and .F(t) is the total net applied force acting on the
body, defined as
⎲ |
F(t) =
. Fi (t) + b(t) dV (5.20)
i B

Distributed surface traction .t can be included without difficulty. The net applied
force must be computed for each specific problem in accordance with the applied
loads.
Substituting the expressions for the acceleration from Eq. 5.5(b) gives
|
( )
F(t) =
. ρ ẍC (t) + Λ̈(t) z dV (5.21)
B

In the future, we will often suppress the dependence of the variables on time t
to economize the notation. However, it is important to note what does and does
not depend upon the spatial variable .z, which is the variable of integration over
the domain of the body. In particular, the translation .xC (t) and the rotation .Λ(t)
depend only on time. That fact will allow us to compute the integral over the
domain explicitly without knowing the motion, giving rise to important dynamical
properties of the body. In particular, we can write Eq. 5.21 in the form
| |
F(t) = ẍC (t)
. ρ dV + Λ̈(t) ρ z dV
B B

The integrals represent the total mass, m, and the first moment of the mass relative
to point .C, which we denote as .sC . These quantities can be computed independent
of the motion of the body in the reference configuration. To wit,

@seismicisolation
@seismicisolation
5.2 Balance of Momentum 197

| |
m=
. ρ dV , sC = ρ z dV (5.22)
B B

With this notation, Euler’s first law of motion for a body moving in three dimensions
can be written as

F(t) = mẍC (t) + Λ̈(t)sC


. (5.23)

Up to this point we have not said anything about the specific choice of the point
C. It is possible to select that point so that .sC = 0, in which case the second term on
.

the right side vanishes. That point is called the center of mass of the body.
Center of Mass To compute the location of the center of mass, consider Fig. 5.5.
The center of mass is at .G. This point is not yet known, so we lay out a specific
coordinate system .(ζ1 , ζ2 , ζ3 ) with origin at point .P, as we did in the planar motion
case in the previous chapter. The vector .c from point .P to .G gives the location of
the center of mass relative to our selected coordinate system. We can solve for .c. By
vector addition it is evident that .z = ζ − c. Thus, using the definition of the center
of mass (i.e., .sG = 0), we can write
|
sG = ρ z dV
B
|
( )
. = ρ ζ − c dV
B
| |
= ρ ζ dV − c ρ dV = 0
B B

Recognizing the definition of the total mass, we can solve for the location of the
center of mass as
|
1
.c = ρ ζ dV (5.24)
m B

Fig. 5.5 Center of mass. To


compute the location of the
center of mass, we lay out a
specific coordinate system
.(ζ1 , ζ2 , ζ3 ) with origin of z
coordinates at .P

@seismicisolation
@seismicisolation
198 5 Motion in Three Dimensions

which, of course, is relative to point .P. The vector .c is defined in the reference
configuration. In applications, we will often find it convenient to take point .P to be
coincident with the reference point for translation.

Example 5.1 Compute the location of the center of mass of the cuboid
having dimensions .a × b × c with density .ρ, shown in Fig. 5.6.

Fig. 5.6 Center of mass


3
example. Cuboid of
dimensions .a × b × c with
density .ρ. The coordinate
system .(ζ1 , ζ2 , ζ3 ) has its
origin at one vertex of the
cuboid c
a 2

1
b

Take point .P to be at one of the vertices of the cuboid. The position vector
of a typical particle is .ζ = ζ1 e1 + ζ2 e2 + ζ3 e3 . The total mass is density times
volume, i.e., .m = ρ abc. The center of mass is
|
1
c= ρ ζ dV
m B
| c| b| a
1 ( )
= ρ ζ1 e1 + ζ2 e2 + ζ3 e3 dζ1 dζ2 dζ3
.
ρ abc 0 0 0
1 ||| 1 2 |a |b |c
= 2 ζ1 ζ2 ζ3 e1 + 12 ζ1 ζ22 ζ3 e2 + 21 ζ1 ζ2 ζ32 e3
abc 0 0 0

= 12 a e1 + 12 b e2 + 21 c e3

Observe that the integrals are done from the inside out, with the limits
associated with .ζ1 , .ζ2 , and .ζ3 , respectively.

The beauty of this example is that the computation confirms our intuition that
the center of mass is located at the center of the cuboid due to symmetry. This
example shows how the choice of the coordinate system determines the limits of
integration and the reference point for the vector .c. For more complicated regions,
the integration task becomes more complex. However, it is straightforward to show,
as we did in Sect. 4.5.2, that if you can break the body into individual regions, then

@seismicisolation
@seismicisolation
5.2 Balance of Momentum 199

1 ⎲
N
c=
. mi ci (5.25)
m
i=1

where .mi and .ci are the mass and center of mass of the ith piece, respectively, and
N is the number of pieces. This form of the equation is useful if the computation of
mass and center of mass of each specific region is simple (e.g., if the region can be
divided into cuboids).

5.2.2 Balance of Angular Momentum

Balance of angular momentum for the free body diagram shown in Fig. 5.4, taken
relative to point .C, is
|
MC (t) =
. Λ(t)z × ρ ẍ(z, t) dV
B

where the total net applied moment acting on the body can be computed from the
forces acting on the free body diagram in the configuration at time t as
⎲ |
MC (t) =
. Λ(t)ri × Fi (t) + Λ(t)z × b(t) dV (5.26)
i B

where the moment arms .ri and .z are defined in the reference configuration and
rotated to the current configuration by .Λ(t). Again, surface traction forces .t can
be included, if needed, as can concentrated moments. The net moment needs to be
computed for each specific problem in accordance with the applied loads.
Substituting the expressions for the acceleration from Eq. 5.5(b) gives
|
( )
MC (t) =
. Λ(t)z × ρ ẍC (t) + Λ̈(t)z dV (5.27)
B

As it was with balance of linear momentum, it is important to note what does and
does not depend upon the variable of integration over the domain. We can write the
first term of Eq. 5.27 in the form
| || \
. Λ(t)z × ρ ẍC (t) dV = Λ(t) ρ z dV × ẍC (t)
B B

because .Λ(t) and .ẍC (t) are functions only of time t and not the spatial variable of
integration .z. The quantity in parentheses on the right side is .sC , the first moment of
the mass relative to .C from Eq. 5.22, which vanishes if .C is the center of mass.

@seismicisolation
@seismicisolation
200 5 Motion in Three Dimensions

The second term of Eq. 5.27 needs some work in order to factor out the time-
dependent quantities from the integral. As noted in Eq. 5.4,
( )
Λu × Λv = Λ u × v
.

for any vectors .u and .v. In other words, the cross product of the two rotated vectors
is the rotation of the cross product of the two vectors. Using this result, we can write

Λz × ρ Λ̈z = ρ Λz × ΛΛT Λ̈z


| |
. = ρ Λ z × ΛT Λ̈z
| ( ) |
= ρ Λ z × Ẇ − WT W z

where we have also substituted the kinematic relationship from Eq. 5.10 in the last
line. Now, we can write the last term in Eq. 5.27 in the form
| | | \
. ρ Λ(t) z × Λ̈ z dV = Λ(t) ρ z × Ẇ(t) − WT (t)W(t) z dV
B B

where .Ẇ and .W depend only on time and, hence, can be pulled out of the integral.
However, order of appearance of terms in vector equations matters. So, we need to
figure out how to do that. The keys to carrying out that task are given in Lemma 5.1
and Lemma 5.2. Let us first consider these lemmas.
Lemma 5.1 For antisymmetric tensor .A with axial vector .a and vectors .u and .v,
|( ) |
u × Av =
. v·u I−v⊗u a (5.28)

where .A and .a satisfy .Av = a × v for any vector .v.


Proof The proof of this relationship can be done by direct computation as follows:
( )
u × Av = u × a × v
( )
= −u × v × a
.
= −UVa
|( ) |
= v·u I−v⊗u a

where .U and .V are the antisymmetric tensors associated with .u and .v that
satisfy .Ua = u × a and .Va = v × a. The first step reverses the cross product in
parentheses, giving the negative. The second step invokes Eq. 1.26, using the tensor
representation of a cross product. The final step uses Eq. 1.27, which says that the
product of an antisymmetric tensor with itself is .UV = v ⊗ u − (v · u)I. ⨆

Lemma 5.2 For antisymmetric tensor .A with axial vector .a and vector .u,

@seismicisolation
@seismicisolation
5.2 Balance of Momentum 201

|( ) |
.u × ATAu = −a × u·u I−u⊗u a (5.29)

where .A and .a satisfy .Au = a × u for any vector .u.


Proof The proof of this relationship can be done by direct computation as follows:
|( ) |
u × ATAu = u × a · a I − a ⊗ a u
( )
=− a·u u×a
. | | ( )
= a × u ⊗ u a − a × u · u Ia
|( ) |
= −a × u · u I − u ⊗ u a

In the first step we again used Eq. 1.27. The second step recognizes that any vector
crossed with itself is zero and uses the definition of a tensor product of vectors
multiplying a vector (see Eq. 1.6). The third step uses Eq. 1.27 in reverse and adds
zero (the last term). The last step factors out the vector .a from both terms. ⨆

Lemma 5.3 For antisymmetric tensor .A with axial vector .a and vector .u,
|( ) |
u · ATAu = a ·
. u·u I−u⊗u a (5.30)

where .A and .a satisfy .Au = a × u for any vector .u.


Proof The proof of this relationship can be done by direct computation as follows:
|( ) |
u · AT Au = u · a · a I − a ⊗ a u
( )( ) ( )( )
= a·a u·u − a·u u·a
. ( ) | |
= a · u · u Ia − a · u ⊗ u a
|( ) |
=a· u·u I−u⊗u a

In the first step we again used Eq. 1.27. The second step recognizes the definition
of a tensor product of vectors multiplying a vector (see Eq. 1.6). The third step uses
Eq. 1.27 in reverse. The last step factors out the vector .a from both terms. ⨆

The reason these lemmas are significant is because they will allow us to pull the
angular acceleration .ẇ(t) and the angular velocity .w(t) out of the integrals over the
domain that arise from balance of angular momentum. This task will come up in
several contexts in this chapter. In particular, Lemma 5.1 allows us to write
| |
|( ) |
. ρ z × Ẇz dV = ρ z · z I − z ⊗ z ẇ dV = JC ẇ
B B

and Lemma 5.2 gives

@seismicisolation
@seismicisolation
202 5 Motion in Three Dimensions

| |
|( ) |
− ρ z × WT Wz =
. ρ w × z · z I − z ⊗ z w dV = w × JC w
B B

In both cases, we can pull .w or .ẇ out of the integral because they depend only on
time, not on .z, and because they are on the outside of a string of vector or tensor
operations. We call the remaining integral over .B the mass moment of inertia relative
to point .C as
|
|( ) |
JC =
. ρ z · z I − z ⊗ z dV (5.31)
B

It is worth noting that the mass moment of inertia is a tensor, not a scalar as it was
for planar motion in the previous chapter. Unlike translational motion, where the
reluctance to translate feels the same in all directions (and is characterized by the
mass m), resistance to rotation can be different when rotating about different axes.
Thus, it is not possible to have a single measure of that rotational resistance. Because
.JC is a tensor, it has the properties that all tensors have. In particular, the eigenvalues

of .JC are the principal moments of inertia, representing the greatest and least (and
intermediate) values of resistance to rotation.
We can finally put all these pieces together to give a final version of balance of
angular momentum. In particular, Eq. 5.27 can be recast as
| |
MC (t) = Λ(t)sC × ẍC (t) + Λ(t) JC ẇ(t) + w(t) × JC w(t)
. (5.32)

which is Euler’s second law of motion in three dimensions, relative to the point .C.
When .C is the center of mass, .sC = 0 and the first term vanishes. This equation makes
clear that the measure of reluctance to rotate is embedded in the mass moment of
inertia tensor .JC . Like the total mass m, it is a property of the rigid body, independent
of the motion.

5.2.3 Parallel Axis Theorem

The center of mass plays an important role in finding the canonical form of Euler’s
laws. Consider Fig. 5.7 in which the point .C is a reference point for translational
motion. In this case, we take the point .G to be the center of mass. Noting that
.z = c + ζ , we can compute

| |
( )
sC =
. ρ z dV = ρ c + ζ dV = mc
B B

The term with .ζ drops out due to the definition of the center of mass. Specifically,

@seismicisolation
@seismicisolation
5.2 Balance of Momentum 203

Fig. 5.7 Parallel axis


theorem. The body .B in the
reference configuration. The
reference point for translation
is .C , the center of mass is .G ,
and the typical particle is .A
z c

|
. sG = ρ ζ dV = 0
B

This integral will play a key role in the subsequent development. Further, all
incidences of .sC in previous equations can be replaced by .mc, where .c is the vector
from .C to the center of mass.
Recall that the mass moment of inertia of the body relative to point .C is
|
|( |
JC =
. ρ z · z)I − z ⊗ z dV
B

We can substitute .z = c + ζ and write


| |( |
)
JC =
. ρ (c + ζ ) · (c + ζ ) I − (c + ζ ) ⊗ (c + ζ ) dV
B

The dot and tensor products can be distributed. To wit,

(c + ζ ) · (c + ζ ) = c · c + c · ζ + ζ · c + ζ · ζ
.
(c + ζ ) ⊗ (c + ζ ) = c ⊗ c + c ⊗ ζ + ζ ⊗ c + ζ ⊗ ζ

The vector .c is constant and, hence, can be pulled out of the integral (on either side,
respecting the order of terms). The terms involving only one .ζ will integrate to zero
because of the definition of the center of mass. For example,
| |
( )
ρ c · ζ dV = c · ρ ζ dV = c · 0 = 0
B B
. | |
( )
ρ c ⊗ ζ dV = c ⊗ ρ ζ dV = c ⊗ 0 = 0
B B

Thus, the mass moment of inertia can be written as


| |( | |( |
) )
.JC = ρ ζ · ζ I − ζ ⊗ ζ dV + m c · c I − c ⊗ c (5.33)
B

@seismicisolation
@seismicisolation
204 5 Motion in Three Dimensions

The first term is the mass moment of inertia relative to the center of mass .G.
Therefore,
|( ) |
.JC = JG + m c · c I − c ⊗ c (5.34)

This result is the parallel axis theorem for the mass moment of inertia tensor. It
gives a route to computing the mass moment of inertia about any point from the
mass moment of inertia relative to the center of mass, and vice versa. As mentioned
in the previous chapter, the name parallel axis theorem is a little odd because there
is no mention of anything being parallel in this derivation. A more apt term might
be moment of inertia transfer theorem because it provides a means of transporting
the mass moment of inertia from one point to another via the center of mass.
Let us take a closer look at the last term in Eq. 5.34. A tensor .T is called positive
semi-definite if .vT Tv ≥ 0 for all vectors .v. For some arbitrary vector .v, we can write
| |( ) |\ |( )( ) |
v · m c · c I − c ⊗ c v = m c · c v · v − (c · v)2
| ( ) |
= m ||c||2 ||v||2 − ||c|| ||v|| cos ϕ 2
.
( )
= m||c||2 ||v||2 1 − cos2 ϕ

= m||c||2 ||v||2 sin2 ϕ

where .ϕ is the angle between the vectors .c and .v. The product of purely positive
values is positive. The value could be zero if either of the vectors is the zero vector
or if .sin ϕ = 0. This result implies that the tensor
|( ) |
m c·c I−c⊗c
.

is positive semi-definite. Therefore, the mass moment of inertia relative to the center
of mass .JG is, in some sense, less than the mass moment of inertia relative to .C,
which could be any other point in space. In particular, the result above implies that

v · JC v ≥ v · JG v
.

for any vector .v. This situation is a bit different from the planar case, where the mass
moment of inertia was a scalar value. There are an infinite number of possible mass
moments of inertia, because it can be computed relative to any point in space. The
value associated with the center of mass is the smallest possible value. Because there
is only one center of mass, the principal values of .JG can be considered intrinsic
properties of the body .B.

@seismicisolation
@seismicisolation
5.2 Balance of Momentum 205

Example 5.2 Let us return to the cuboid example, shown in Fig. 5.8, and
compute the mass moments of inertia about a vertex and the mass moment of
inertia about the center of mass. Show that the parallel axis theorem works for
this case.
The mass moment of inertia about the center of the cuboid, which is the
center of mass, is
| | |
( )
.JG = ρ ζ · ζ I − ζ ⊗ ζ dV
B

Substituting components, we get


⎡ ⎤
| c/2 | b/2 | a/2 ζ22 + ζ32 −ζ1 ζ2 −ζ1 ζ3
JG = ρ ⎣ −ζ2 ζ1 ζ12 + ζ32 −ζ2 ζ3 ⎦ dζ1 dζ2 dζ3
−c/2 −b/2 −a/2
−ζ3 ζ1 −ζ3 ζ2 ζ12 + ζ22
.
⎡ 2 ⎤
b + c2 0 0
m⎣
= 0 a 2 + c2 0 ⎦
12
0 0 a 2 + b2

The mass moment of inertia about the vertex is


| | |
( )
.JC = ρ z · z I − z ⊗ z dV
B

z3 3

c z2 c 1
2

a a
z1 b b

Fig. 5.8 Example. Cuboid of dimensions .a × b × c with density .ρ. The coordinate system
has its origin at one vertex of the cuboid. The coordinate system .(ζ1 , ζ2 , ζ3 ) has
.(z1 , z2 , z3 )
its origin at the center of the cuboid

(continued)

@seismicisolation
@seismicisolation
206 5 Motion in Three Dimensions

Example 5.2 (continued)


Substituting components, we get
⎡ ⎤
| c| b| a z22 + z32 −z1 z2 −z1 z3
JC = ρ ⎣ −z2 z1 z12 + z32 −z2 z3 ⎦ dz1 dz2 dz3
0 0 0
−z3 z1 −z3 z2 z12 + z22
.
⎡ ⎤
4(b2 + c2 ) −3ab −3ac
m⎣
= −3ab 4(a 2 + c2 ) −3bc ⎦
12
−3ac −3bc 4(a 2 + b2 )

From the previous example, we know that .c = 21 (a, b, c). Thus,


⎡ ⎤
( ) 1 0 0
a 2 + b2 + c2 ⎣
. c·c I = 0 1 0⎦
4
0 0 1

and
⎡ 2 ⎤
a ab ac
1⎣
.c ⊗ c = ab b2 bc ⎦
4
ac bc c2

Hence,
⎡ ⎤
|( ) | 3(b2 + c2 ) −3ab −3ac
m⎣
.m c · c I − c ⊗ c = −3ab 3(a 2 + c2 ) −3bc ⎦
12
−3ac −3bc 3(a 2 + b2 )

A straightforward calculation shows that Eq. 5.34 holds in this case. It is


also worth noting that .JG is diagonal, indicating that the coordinate axes are
principal axes for the cuboid. In fact, if there is a plane of symmetry in a body,
then one principal axis must be normal to that plane. For the cuboid, there are
three planes of symmetry.

5.2.4 Canonical Form of Euler’s Laws

Balance of linear momentum and balance of angular momentum relative to a point .C


are given in Eqs. 5.23 and 5.32, respectively. The canonical form of Euler’s laws of

@seismicisolation
@seismicisolation
5.2 Balance of Momentum 207

motion can be found by taking the reference point for translation to be at the center
of mass .G. In such a case, the equations reduce to

F(t) = m ẍG (t)


. | | (5.35)
MG (t) = Λ(t) JG ẇ(t) + w(t) × JG w(t)

where .F(t) is the net force, .MG (t) is the net moment relative to point .G, m is the
mass, and .JG is the mass moment of inertia relative to the center of mass. In this
form, the net force causes only translation, and the net moment causes only rotation.
One implication of these equations is that the path of motion of the center of mass of
a rigid body will be the same as if the body were idealized as a particle. That explains
why we do not concern ourselves with rotational motion in particle mechanics and
why we can consider some finite-sized bodies to behave in accord with particle
mechanics.

Example 5.3 Show the component form of Eq. 5.35 relative to the principal
axes of the body relative to the center of mass. Let the principal mass moments
of inertia be designated as .J1 , .J2 , and .J3 .
In a coordinate system aligned with the principal axes, the mass moment
of inertia tensor is diagonal. The matrix representations of .JC and the angular
velocity .w are
⎡ ⎤ ⎧ ⎫
J1 0 0 ⎨ω 1 ⎬
.JC = ⎣ 0 J2 0 ⎦ , w = ω2
⎩ ⎭
0 0 J3 ω3

We can compute the cross product term using the definition from Eq. 1.23.
Expressing the results in matrix form, we have
⎧ ⎫
⎨J3 ω2 ω3 − J2 ω2 ω3 ⎬
.w × JC w = J ω ω − J3 ω3 ω1
⎩ 1 3 1 ⎭
J2 ω1 ω2 − J1 ω1 ω2

In matrix form, the equations of motion are


( )
J1 ω̇1 = J2 − J3 ω2 ω3
( )
. J2 ω̇2 = J3 − J1 ω3 ω1
( )
J3 ω̇3 = J1 − J2 ω1 ω2

(continued)

@seismicisolation
@seismicisolation
208 5 Motion in Three Dimensions

Example 5.3 (continued)


These are Euler’s equations in principal axes with no applied moments. In
general, the principal mass moments of inertia are different. We can order
them such that .J1 ≥ J2 ≥ J3 . In that case, the coefficients on the right side
of the first and last equations are positive, and the coefficient of the middle
equation is negative. This difference leads to the intermediate axis theorem
which says that rotation about the axes associated with the largest and smallest
principal mass moments of inertia is stable, while rotation about the axis with
the intermediate value is unstable. We will examine the ramifications of this
theorem in an example later in the chapter.

5.2.5 Assumptions on Mass

Throughout the book, we have appealed to three different versions of distributed


mass. The primary one is mass density, which is the mass per unit volume .ρ. Density
is a continuum idealization of a material property that depends upon microstructural
features of the material like its chemical composition or its molecular structure. The
density does not depend on the geometry of the body.
The mass per unit length .ρ̄ and the mass per unit area .ρ̂ that we have used in
earlier chapters do depend on the geometry of the body, and we have used them to
simplify the representation of the body, mostly to make the calculations simpler. It
is reasonable to ask whether those approximations of mass distribution are accurate.
As we have seen, the properties affected by the density are the total mass m, the
first moment of the mass .sC (or, equivalently, .mc), and the mass moment of inertia
relative to the center of mass .JG . Let us use the example of the cuboid to help us
understand the accuracy of the two approximations of mass distribution. Figure 5.9
shows two cases: (a) a cuboid with one dimension much larger than the other two
and (b) a cuboid with one dimension much smaller than the other two. The first one
we call a rod or bar; the second one we call a plate.

Fig. 5.9 Mass


approximations. Cuboids
3 (a) (b)
3
with density .ρ and coordinate
system .(ζ1 , ζ2 , ζ3 ) with origin
at the center of the cuboid. (a)
Cuboid of dimensions L L
2 a 2
.a × a × L. (b) Cuboid of
dimensions .L × L × a 1 a L
a 1

@seismicisolation
@seismicisolation
5.2 Balance of Momentum 209

Case (a) It is straightforward to show that the total mass of the bar is .m = ρa 2 L.
In this case, we would let the mass per unit length be .ρ̄ = ρa 2 . Using the mass
distribution .ρ̄, the total mass of the bar can be computed as
| L/2
m=
. ρ̄ dζ3 = ρ̄L = ρa 2 L
−L/2

Hence, the total mass m is exact. The mass moment of inertia relative to the center
of mass for the bar is
⎡ ⎤ ⎡ ⎤
L2 +a 2 0 0 1+β 2 0 0
ρa 2 L⎣ 0 mL ⎣2
JG =
. L2 +a 2 0 ⎦= 0 1+β 2 0 ⎦
12 12
0 0 a2 + a2 0 0 2β 2

where .β = a/L. If the mass had been distributed along a line, we would have
computed the mass moment of inertia to be
| L/2
JG =
. ρ̄ ζ32 dζ3 = 1
12 ρ̄L
3
= 1 2 3
12 ρa L = 1
12 mL
2
−L/2

For a typical rod problem, the axis of rotation would be either .ζ1 or .ζ2 . Hence, the
exact mass moment of inertia is different from the one we typically compute using
the mass per unit length approximation by a factor .1 + β 2 . For a rod with dimensions
.β = 0.1, that is an error of only 1%. That tells us that most of the resistance to

rotation comes from the length effect and not the width effect. In the limit as .β → 0,
the mass moment of inertia of the rod about its own axis approaches zero.
Case (b) Similarly, the total mass of the plate is .m = ρaL2 . In this case, we would
let the mass per unit area be .ρ̂ = ρa. Using the mass distribution .ρ̂, the total mass
of the plate can be computed as
| L/2 | L/2
. m= ρ̂ dζ1 dζ2 = ρ̂L2 = ρaL2
−L/2 −L/2

Again, the total mass m is exact. The mass moment of inertia relative to the center
of mass for the plate is
⎡ 2 2 ⎤ ⎡ ⎤
L +a 0 0 1+β 2 0 0
ρaL2 ⎣ mL 2
.JG = 0 L2 +a 2 0 ⎦= ⎣ 0 1+β 2 0 ⎦
12 12
0 0 L2 + L2 0 0 2

where .β = a/L. If the mass had been distributed over an area, we would have
computed the mass moment of inertia to be
| |
L/2 L/2 ( )
JG =
. ρ̂ ζ12 + ζ22 dζ1 dζ2 = 16 ρ̂L4 = 61 ρaL4 = 16 mL2
−L/2 −L/2

@seismicisolation
@seismicisolation
210 5 Motion in Three Dimensions

For a typical plate problem, the axis of rotation could be any of the three. If the
rotation of the plate is in the plane of the plate, then the mass moment of inertia is
exact. If it is out of the plane (e.g., a swinging door), the mass moment of inertia
we typically compute using the mass per unit area approximation is low. For a plate
with dimensions .β = 0.1, the error is only 1%.
For the rod (and swinging plate), as the dimensions get closer to being equal, the
accuracy of the mass approximation degrades. The same is true for bodies treated
as particles in circumstances where the particle rotates. For example, a bead moving
on a circular wire rotates as it translates. Some of the kinetic energy of the motion is
rotational. If we ignore rotational inertia, then all the potential energy from gravity
or springs converts to translational kinetic energy in the dynamic motion, with the
consequence that the velocity of the particle would be overestimated. For those
problems, one would need to treat the body as being fully three dimensional.

5.2.6 Linear and Angular Momentum

The concept of linear momentum was introduced in particle dynamics to be the mass
multiplied by the velocity. It was connected to the idea of impulse by observing
that impulse was equal to change in linear momentum. Conversely, we can write
Newton’s second law as
dP
F(t) =
. (5.36)
dt

where .P = mv is the linear momentum and .F(t) is the net force acting on the particle.
This form of the equation is the origin of the nomenclature balance of momentum
to express Newton’s second law. In fact, one might argue that Eq. 5.36 is more
fundamental than .F = ma because it is able to model bodies that have mass changing
with time (e.g., the rocket problem).
Rigid bodies can be characterized through the lens of momentum, too. However,
since rigid bodies translate and rotate, we can imagine that they possess both linear
momentum and angular momentum. We can compute the linear momentum of a
rigid body as the sum of the linear momenta of its constituent particles. Using the
expression for velocity of the typical particle from Eq. 5.5(a), we can compute the
linear momentum as follows:
|
P(t) = ρ ẋ(z, t) dV
B
. |
( )
= ρ ẋC (t) + Λ̇(t)z dV
B

Carrying out the integrals gives

@seismicisolation
@seismicisolation
5.2 Balance of Momentum 211

P(t) = mẋC (t) + Λ̇(t)sC


. (5.37)

where m is the total mass, .ẋC is the velocity of the reference point for translation,
and .sC is the first moment of the mass relative to point .C.
Angular momentum relative to the reference point for translation .C can be
computed as the sum of the angular momenta of the particles. To wit,
|
L(t) = ρ Λ(t)z × ẋ(z, t) dV
B
|
( )
= ρ Λ(t)z × ẋC (t) + Λ̇(t)z dV
B
. | |
)
= Λ(t) ρ z dV × ẋC (t) + ρ Λ(t)z × Λ̇(t)z dV
B B
|
( )
= Λ(t)sC × ẋC (t) + Λ(t) ρ z × W(t)z dV
B

Again, the first step substitutes the kinematic expression for velocity. In the second
step, we separate the two terms, recognizing the integral in the first term as the first
moment of the mass .sC . Finally, we factor out .Λ(t) from the last term and recognize
.W = Λ Λ̇. The integrand in the second term is, using Lemma 5.1,
T

|( ) |
ρ z × Wz = ρ
. z·z I−z⊗z w

Hence, we can write the angular momentum as

L(t) = Λ(t)sC × ẋC (t) + Λ(t)JC w(t)


. (5.38)

where .sC is the first moment of the mass and .JC is the mass moment of inertia,
both relative to point .C. We can, of course, substitute .sC = mc, where .c is the vector
from point .C to the center of mass. The first term vanishes if .C is the center of mass
or if the point of reference for translation is fixed. The second term has the mass
moment of inertia multiplying the angular velocity and then rotated by .Λ(t). Thus,
the angular momentum is a vector like the linear momentum. It is a measure of how
inclined the body is to continue rotating as it is, absent the influence of actions that
might change that momentum.
The linear and angular momenta, i.e., .P(t) and .L(t), appear to be little more
than quantities one can compute to characterize the state of motion. Let us take the
time derivatives of these quantities to see what happens. We can compute the rate of
change of linear momentum. From Eq. 5.37, we get

dP
. = mẍC (t) + Λ̈(t)sC
dt

@seismicisolation
@seismicisolation
212 5 Motion in Three Dimensions

Comparing this equation with Eq. 5.23, we can recognize that the right side is simply
the net force .F(t) applied to the body. Thus, we can write equations of balance of
linear momentum in the form
dP
. = F(t) (5.39)
dt
which is identical in form to balance of linear momentum for a particle.
The time derivative of .L(t) is

dL d| \
. = Λ̇(t)sC × ẋC (t) + Λ(t)sC × ẍC (t) + Λ(t)JC w(t)
dt dt
Before we deal with the first two terms, carry out the derivatives indicated in the last
term:
d| \
Λ(t)JC w(t) = Λ(t)JC ẇ(t) + Λ̇(t)JC w(t)
dt
| |
.
= Λ(t) JC ẇ(t) + W(t)JC w(t)
| |
= Λ(t) JC ẇ(t) + w(t) × JC w(t)

Therefore, we can write the rate of change of angular momentum in the form

dL { | |}
. = Λ̇sC × ẋC + ΛsC × ẍC + Λ JC ẇ + w × JC w
dt
Comparing this equation with Eq. 5.32, we can recognize that the term with curly
brackets is simply the net moment relative to point .C, i.e., .MC (t). Thus, we can
write balance of angular momentum in the form

dL
. = MC (t) + Λ̇(t)sC × ẋC (t) (5.40)
dt
If either the point of reference for translation is the center of mass or the reference
point for translation is not moving (i.e., .ẋC = 0), then the equations of balance of
momentum are
dP dL
. = F(t) = MC (t) (5.41)
dt dt
These equations give basic insight into rigid body motion. The net force causes
change in linear momentum and the net moment causes change in angular momen-
tum. These equations provide a route to developing impulse-momentum relation-
ships. Specifically,

@seismicisolation
@seismicisolation
5.3 Energy 213

| tb | tb
. F(t) dt = P(tb ) − P(ta ), MC (t) dt = L(tb ) − L(ta )
ta ta

In the special case where the net force .F(t) is zero and the net moment .MC (t)
is zero, then the rates of change of both linear and angular momenta are zero.
Integrating Eqs. 5.41 in time gives

P(t) = Constant,
. L(t) = Constant (5.42)

We call this result conservation of momentum. Conservation of linear momentum


implies that the center of mass moves along a straight line in accord with the initial
velocity. Conservation of angular momentum can give rise to some much more
interesting motions, as we will show later in this chapter through an example.

5.3 Energy

Energy plays a role in the motion of three-dimensional bodies, just as it did for
particles and rigid bodies in planar motion. It can be used to verify that energy
is conserved for problems solved with balance of momentum, as we will show in
the latter part of this chapter. Energy is also important for developing the Euler-
Lagrange equations, as we will demonstrate in Chap. 6. In this section, we derive
the expressions for kinetic and potential energy due to gravity and show how kinetic
energy is related to power and work.

5.3.1 Kinetic Energy

The kinetic energy of a rigid body moving in three dimensions is the sum of the
kinetic energies of the particles that comprise it. Hence, we can write
| | \
T =
.
1
2ρ ẋ(z, t) · ẋ(z, t) dV (5.43)
B

Substituting the expressions for the velocity of the typical particle, Eq. 5.5(a), we
get
|
( ) ( )
T =
.
1
2ρ ẋC + Λ̇z · ẋC + Λ̇z dV
B

Distributing the dot products gives


| | |
( ) ( ) ( )
T =
.
1
2 ρ ẋC · ẋC dV + ρ ẋC · Λ̇z dV + 1
2 ρ Λ̇z · Λ̇z dV
B B B

@seismicisolation
@seismicisolation
214 5 Motion in Three Dimensions

The first term integrates to


|
( ) ( )
.
1
2 ρ dV ẋC · ẋC = 21 m ẋC · ẋC
B

The second term can be integrated and manipulated as follows:


|
( )
ρ ẋC · Λ̇z dV = ẋC · Λ̇sC
B
= ẋC · ΛWsC
.
( )
= ẋC · Λ w × sC
( )
= sC × ΛT ẋC · w

where we have noted that .Λ̇ = ΛW, .Wu = w × u, .u · Λv = ΛT u · v, and the cyclic
nature of the triple scalar product. Of course, we can substitute .sC = mc, where .c is
the vector from the point .C to the center of mass. If the reference point for translation
is fixed or is at the center of mass, then this term vanishes. The last term integrates to
| |
( ) ( )
1
2 ρ Λ̇z · Λ̇z dV = 1
2 ρ z · Λ̇T Λ̇z dV
B B
|
( )
. = 1
2 ρ z · Λ̇T ΛΛT Λ̇z dV
B
|
( )
= 1
2 ρ z · WT Wz dV
B

From Lemma 5.3, we know that


|( ) |
z · WT Wz = w ·
. z·z I−z⊗z w

Using this result in the computation of the third term of the kinetic energy gives
|
( )
.
1
2 ρ Λ̇z · Λ̇z dV = 12 w · JC w
B

where .JC is the mass moment of inertia relative to .C, as given in Eq. 5.31, and .w is
the angular velocity vector. Thus, the total kinetic energy of a rigid body is
( )
T = 21 m ẋC · ẋC + sC × ΛT ẋC · w + 21 w · JC w
. (5.44)

The kinetic energy associated with translation is the familiar mass times speed
squared divided by two from particle dynamics. It is interesting to note that the
mass moment of inertia .JC appears naturally in the kinetic energy, just as it did in

@seismicisolation
@seismicisolation
5.3 Energy 215

balance of angular momentum. This fact attests to its importance as a fundamental


dynamic property of the body.

5.3.2 Potential Energy

Potential energy can be computed for any force that is conservative. In this section,
we compute the potential energy due to gravity, which is defined as
|
Ug =
. ρ x(z, t) · g dV
B

where .g is the acceleration of gravity (with magnitude g). The acceleration of gravity
vector points in the direction that gravity acts, with the positive direction being the
one associated with increasing potential energy. Substituting the expression for the
position vector from Eq. 5.1, the potential energy takes the form
|
( )
Ug = ρ xC + Λz · g dV
B
| |
( )
= xC · g ρ dV + Λ ρ z dV · g
. B B
= mxC · g + ΛsC · g
( )
= m xC + Λc · g

In the first step of this derivation, we pull out those quantities that depend only on
time and not on .z. Next, we recognize the mass m and first moment of mass .sC .
Finally, we use .sC = mc. Observe that .xG = xC + Λc is the vector from the origin to
the center of mass. Hence, we obtain

Ug = mg · xG
.

This expression is the same as the familiar .Ug = mgh, where h is the distance along
the direction of the vector .g of the position of the center of mass and g is the
magnitude of .g. With this definition, the potential energy is zero when the center of
mass is at the origin. The potential energy is negative below the origin and positive
above it. The location of zero potential energy is often called datum.

@seismicisolation
@seismicisolation
216 5 Motion in Three Dimensions

5.3.3 Work and Energy

As we found for particles, there is a relationship between the work done by the
system of forces and the kinetic energy in the system. Let us compute the work
done by the forces illustrated in Fig. 5.4. Recall that work is power integrated over
time. The power P is the force dotted with the velocity of that force. To wit,
⎲ |
P = Fi · ẋ + b · ẋ dV
i B
⎲ |
( ) ( )
. = Fi · ẋC + Λ̇ri + b · ẋC + Λ̇z dV
i B
|⎲ | \ ⎲ |
= Fi + b dV · ẋC + Fi · Λ̇ri + b · Λ̇z dV
i B i B

We can recognize the term in parentheses as the net applied force .F(t) (see Eq. 5.20),
which is dotted with the velocity of the reference point .C. The last two terms involve
the rotation, as evidenced by the presence of .Λ̇. Note that we can write

b · Λ̇z = b · ΛΛT Λ̇z


= ΛT b · Wz
( )
. = ΛT b · w × z
( )
= w · z × ΛT b
( )
= w · ΛT Λz × b

where in the first step we introduced the identity in the form .I = ΛΛT . In the second
step, we used the fact from tensor analysis that for any two vectors .u and .v and any
tensor .T, .u · Tv = TT u · v. In the third step, we converted the tensor .W to a cross
product, in the fourth step we invoked the cyclic property of the triple scalar product,
and in the last step we factored out .ΛT using Eq. 5.4. We can do exactly the same
process for the term .Fi · Λ̇ri to get
( )
Fi · Λ̇ri = w · ΛT Λri × Fi
.

Therefore, we can write the power as


|⎲( | \
) ( )
. P = F · ẋC + w · Λ Λri × Fi + Λz × b dV
T

i B

@seismicisolation
@seismicisolation
5.3 Energy 217

The term in big parentheses is the net applied moment .MC (t) (see Eq. 5.26).
Therefore, we can write the final expression for the power associated with the
applied force system as

.P = F · ẋC + ΛT MC · w (5.45)

The work of the forces is the integral of the power over time. This derivation shows
how moments and rotations arise in the computation of power and work.
We can show that the power is the rate of change of the kinetic energy. Using the
equations of motion, we can replace .F from Eq. 5.23 and .MC from Eq. 5.32 in the
equation for power. Substituting these equations gives
( )
F · ẋC = mẍC + Λ̈sC · ẋC
.
( )
ΛT MC · w = sC × ΛT ẍC + JC ẇ + w × JC w · w

The last term in the moment equation vanishes because a triple scalar product with
any two entries repeated is zero. The first term can be modified as follows:
( ) ( ) ( )
. sC × ΛT ẍC · w = w × sC · ΛT ẍC = Λ WsC · ẍC = Λ̇sC · ẍC

The first step uses the cyclic property of the triple scalar product. The second
step moves .Λ across the dot product and converts the cross product with .w to the
tensor product with .W. The last step recognizes the kinematic relationship .Λ̇ = ΛW,
from Eq. 5.7. With these observations, we can simplify the two terms in the power
equation to

F · ẋC = m ẍC · ẋC + Λ̈sC · ẋC


.

ΛT MC · w = Λ̇sC · ẍC + w · JC ẇ

Now, let us compute some time derivatives. First,

d |1 \ ( )
. m ẋC · ẋC = 12 m ẍC · ẋC + ẋC · ẍC = m ẍC · ẋC
dt 2
This result is familiar from particle mechanics. Second,

d |1 \ | \
. w · J C w = 1
ẇ · JC w + w · JC ẇ = w · JC ẇ
dt 2 2

where we have used the fact that the mass moment of inertia tensor is symmetric
(i.e., .JTC = JC .). Finally,

d| \
. Λ̇sC · ẋC = Λ̈sC · ẋC + Λ̇sC · ẍC
dt

@seismicisolation
@seismicisolation
218 5 Motion in Three Dimensions

Putting these results together, noting the expression for the kinetic energy T in
Eq. 5.44, we find that the power is the rate of change of kinetic energy, i.e.,

dT
P = F · ẋC + ΛT MC · w =
. (5.46)
dt
just as it was for particles. This result can form the basis of principles of
conservation of energy if the applied forces can be expressed as the gradient of
some suitable potential energy functional. Work is the integral of power over time.
Therefore, the work done by the forces is equal to the change in kinetic energy, as
was the case for particles.

5.4 Planar Motion Revisited

Planar motion is a special case of general motion in three dimensions in which the
rotation takes place about a fixed axis. Without loss of generality, we can set up our
base vectors such that .e3 is normal to the plane of rotation. Recall Eq. 5.14
( )| |
Λ = cos θ I + 1− cos θ n ⊗ n + sin θ N
.

Take .n = e3 and note that


⎡ ⎤ ⎡ ⎤
0 0 0 0 −1 0
.n ⊗ n = ⎣ 0 0 0 ⎦ , N=⎣1 0 0⎦
0 0 1 0 0 0

Now the rotation tensor reduces to


⎡ ⎤
cos θ − sin θ 0
.Λ = ⎣ sin θ cos θ 0 ⎦
0 0 1

The upper 2 by 2 corner of the tensor is the familiar 2D rotation tensor. The main
reason that it is important to remain in 3D is because the cross product does not
exist in two dimensions. Furthermore, the domain of the body still occupies three
dimensions.
Let us compute the angular velocity and angular acceleration tensors for this
special case. The angular velocity .W is
⎡ ⎤⎡ ⎤ ⎡ ⎤
cos θ sin θ 0 − sin θ − cos θ 0 0 −1 0
.Λ Λ̇ = ⎣− sin θ cos θ
T
0 ⎦⎣ cos θ − sin θ 0 ⎦θ̇ = ⎣ 1 0 0 ⎦θ̇
0 0 1 0 0 0 0 0 0

@seismicisolation
@seismicisolation
5.4 Planar Motion Revisited 219

This result tells us that .w1 = w2 = 0, and the angular velocity vector has the
expression .w = θ̇e3 . Now, knowing .W, we can compute
⎤ ⎡
⎡ ⎤ ⎡ ⎤
0 1 0 0 −1 0 1 0 0
.W W = ⎣ −1 0 0 ⎦θ̇ ⎣ 1
T
0 0 ⎦θ̇ = ⎣ 0 1 0 ⎦θ̇ 2
0 0 0 0 0 0 0 0 0

The angular acceleration is


⎡ ⎤
0 −1 0
.Ẇ = ⎣ 1 0 0 ⎦θ̈
0 0 0
If the reference point for translation is the center of mass, then balance of linear
momentum is

F(t) = mẍC (t)


.

To have planar motion, the .e3 components of .F(t) and .ẍC (t) must be zero because
forces out of the plane would cause motion out of the plane. Recall that balance of
angular momentum is, from Eq. 5.32,

ΛT(t)MC (t) = JC ẇ(t) + w(t) × JC w(t)


. (5.47)

To have planar motion, the forces must be applied in such a way that the net applied
moment vector takes the form .MC = MC e3 , where .MC is the scalar component of
the net moment causing planar motion. Due to the structure of the rotation matrix
for planar motion (see Eq. 5.4), .ΛT MC = MC e3 . Thus, we can dot Eq. 5.47 with .e3
to get
( )
MC (t) = JC ẇ(t) + w(t) × JC w(t) · e3
.

Substituting .w(t) = θ̇ (t)e3 and .ẇ(t) = θ̈ (t)e3 into this equation gives
( ) ( )
MC (t) = θ̈ (t) JC e3 · e3 + θ̇ 2 (t) e3 × JC e3 · e3
( ) ( )
. = θ̈ (t) JC e3 · e3 + θ̇ 2 (t) e3 × e3 · JC e3
( )
= θ̈ (t) e3 · JC e3

where the term with .θ̇ 2 (t) vanishes because a vector crossed with itself is zero. From
the equation of the mass moment of inertia (see Eq. 5.31), we can compute

@seismicisolation
@seismicisolation
220 5 Motion in Three Dimensions

|| |( ) | \
e3 · JC e3 = e3 · ρ z · z I − z ⊗ z dV e3
B
|
|( ) |
= ρ e3 · z · z I − z ⊗ z e3 dV
B
|
|( ) ( )2 |
. = ρ z · z − z · e3 dV
B
|
|( ) |
= ρ z12 + z22 + z32 − z32 dV
B
|
( )
= ρ z12 + z22 dV = JC
B

Thus, the equation of balance of angular momentum reduces to

MC (t) = JC θ̈ (t)
. (5.48)

which is exactly the same equation obtained in Chap. 4. The upshot of this section
is that the two-dimensional equations of planar motion are, indeed, contained in the
general three-dimensional equations. It should be evident why we elect to start from
the simpler formulation of planar motion before tackling the general motion in three
dimensions.

Example 5.4 Consider a plate with mass per unit area .ρ̂, rotating about the
.e2 axis, as shown in Fig. 5.10. Derive a formula for the mass moment of inertia
for this case. Compute the value of the mass moment of inertia of a rectangle
of dimensions a in the .e2 direction by b in the .e3 direction. Contrast the result
with the mass moment of inertia relative to rotation about the .e1 axis.
Since the axis of rotation is .e2 , the mass moment of inertia is

JC = e2 · JC e2
.

Fig. 5.10 Example. Plate z3


with mass per unit area .ρ̂
rotating about the .e2 axis

e3 z2
e2
e1 z1

(continued)

@seismicisolation
@seismicisolation
5.5 Computation: Inertial Properties of Solid Bodies 221

Example 5.4 (continued)


The vector .z = z2 e2 + z3 e3 describes the location of the typical particle in
the reference configuration. There is no .z1 component because the body is
idealized as a plate and the thickness is accounted for in the mass per unit
area. Now, .z · z = z22 + z32 and .z · e2 = z2 . Thus, we can compute
|| |( ) | \
JC = e2 · ρ̂ z · z I − z ⊗ z dA e2
B
|
|( ) ( )2 |
= ρ̂ z · z − z · e2 dA
B
. |
|( ) |
= ρ̂ z22 + z32 − z22 dA
B
|
= ρ̂ z32 dA
B

For a rectangle of dimension a (in the .z2 direction) by b (in the .z3 direction),
we can compute the mass moment of inertia relative to the lower left corner
as
|
JC = ρ̂ z32 dA
B
| b | a
= ρ̂ z32 dz2 dz3
. 0 0
|| |a |b
= ρ̂ 1 3
3 z2 z3 0 0

= 31 ρ̂ab3

Contrast this result with the mass moment of inertia for rotation about the .e1
axis of
( 3 )
.JC = ρ̂ ab + a b
1 3
3

The direction of rotation has an important influence on the mass moment of


inertia in planar problems.

5.5 Computation: Inertial Properties of Solid Bodies

The derivation of the equations of motion of a three-dimensional solid body shows


that the mass, first moment of mass (or, equivalently, the location of the center of
mass), and mass moment of inertia play a central role in the dynamic response
@seismicisolation
@seismicisolation
222 5 Motion in Three Dimensions

of the body. Those three inertial properties govern the resistance of the body to
translation and rotation. Each one involves an integral over the volume of the body,
as demonstrated in the examples earlier in the chapter.
Volume integrals are reasonable to compute by hand only for a small set of
regular geometric shapes. Even in those cases, the computation can be fairly tedious.
In this section, we examine an approach to converting the volume integrals to
integrals over the surface of the body using the divergence theorem, computing the
exact value for a triangular patch on the surface of the body, and summing up the
integrals over a collection of triangular patches that represent the surface of the
body. We complete the exercise by writing a code to carry out the computations.
The challenge of representing any solid body of uniform density, then, lies in
the description of its surface. We will show that if the surface is triangulated,
then the inertial properties of the body are easily computed. For bodies with
flat faces, the computed properties are exact. For bodies with curved surfaces, a
triangulated surface representation is only an approximation of the actual body. Like
all numerical approximations, the accuracy of the computed inertial properties will
depend upon how fine the triangulation is. Figure 5.11 illustrates how the surface of
a sphere can be approximated by flat triangular faces.
A complete triangulated surface is described by the coordinates of the vertices
relative to some arbitrary origin. The vertices are numbered sequentially starting
with 1. We will store the vertex information in an array z. Each row of z represents
the vertex whose number is equal to the row number (e.g., the fourth row of z gives
the information for vertex 4). The array has three columns that store the x, y, and
z coordinates of the vertices. The order of the labeling of the vertices is arbitrary.
The triangular faces are also numbered sequentially starting with 1. Each face is
described by the index numbers of the three associated vertices. We will store the
face information in an array ix. Each row of ix represents the face whose number
is the same as the row number of the array. The array has three columns that hold
the three vertex numbers. Our convention will be that the vertices on a face must be
in counterclockwise order so that the outward normal vector is defined by the right-
hand rule wherein if the fingers curl in the direction of the order of the vertices, then
the thumb points in the outward normal direction. The following example illustrates
the vertex and face numbering scheme for a equilateral tetrahedron.

Fig. 5.11 Representing the


surface of a solid body with
triangles. The surface of any
solid body can be
approximated with triangular
facets. This figure shows a
sphere with 169 vertices and
288 faces. Each triangular
face is flat and associated
with three vertices

@seismicisolation
@seismicisolation
5.5 Computation: Inertial Properties of Solid Bodies 223

Example 5.5 Consider the tetrahedron shown in Fig. 5.12. Find the face
information array ix for this solid.
The four vertices are numbered as shown in Fig. 5.12. The four faces can
be numbered in any order. The faces are associated with vertices through the
array
⎡ ⎤
1 2 4
⎢1 3 2⎥⎥
.ix = ⎢
⎣1 4 3⎦
2 3 4

Observe that the faces are numbered to have positive outward normal vectors.
The row number of ix determines the face number. For example, the face
with the unit vector .n showing in the figure is face 1 because its vertices are
in the first row of ix.
Fig. 5.12 Example. Vertex 4
and face numbering scheme
for an equilateral tetrahedron.
The four vertices are n
numbered as shown

3
2

5.5.1 Conversion of Volume Integrals to Surface Integrals

To set up the computation of inertial properties, consider the body .B with surface .∂B
shown in Fig. 5.13. To establish the notation, let .P be an arbitrarily selected origin
of coordinates for the computation. This point is generally selected as a convenient
point relative to the specific body in question. For example, for a cuboid it might be
at one of the vertices; for a sphere it might be the center. The point does not have
to be in the domain of the body itself. In many applications, it will be convenient
to take the origin at the reference point for translations (i.e., point .C in most of the
derivations). Point .A is the typical particle, which is located at vector .ζ relative to
the origin. We have also noted the center of mass .G on the sketch, which is located by
the vector .c from the origin. We will assume that the density .ρ is constant throughout
the solid body.

@seismicisolation
@seismicisolation
224 5 Motion in Three Dimensions

Fig. 5.13 Reference points


for computation. The body .B
has boundary .∂ B and center
of mass .G . The origin of
coordinates for the
computation is .P and the
vector from .P to .G is .c
c

The geometric quantities we need to compute are


|
V = dV
B
|
. r= ζ dV (5.49)
B
|
|( ) |
R= ζ · ζ I − ζ ⊗ ζ dV
B

From these quantities, we can compute the mass .m = ρ V , the first moment of mass
.sP = ρ r, the center of mass .c = sP /m, and the mass moment of inertia .JP = ρ R.
The quantities .sP , .c, and .JP are all measured relative to the origin .P. We can use
the parallel axis theorem to compute | the mass moment
| of inertia relative to the
center of mass .G as .JG = JP − m (c · c)I − c ⊗ c . Each one of the three integrals
is a volume integral involving the position vector .ζ . We can convert all of them to
surface integral using the divergence theorem, which is basically the fundamental
theorem of calculus in three dimensions.
For any vector field .v(ζ ) or tensor field .T(ζ ) defined on a region .B with surface
.∂B with unit normal vector field .n at each point on the surface, the following are

true (divergence theorem):


| |
div v dV = v · n dA
B ∂B
.
| | (5.50)
div T dV = Tn dA
B ∂B

where .∂B means the surface of the region occupied by the body .B. The divergence
of a vector and tensor field, respectively, are

@seismicisolation
@seismicisolation
5.5 Computation: Inertial Properties of Solid Bodies 225


3
∂vi
div v =
∂ζi
i=1
. (5.51)

3 ⎲
3
∂Tij
div T = ei
∂ζj
i=1 j =1

with .vi being the ith component of vector .v and .Tij being the ij th component of
tensor .T. The proof of the divergence theorem can be found in any text on vector
calculus. The divergence is one of several ways to compute the first derivative of a
vector or tensor field (others include the gradient and curl).
Letting .w(ζ ) stand for either a vector or tensor function of .ζ , the following table
summarizes the four functions we need to complete our computations. The table
lists the explicit expression for each function, the divergence of that function, and
the associated value of .w · n.

w(ζ ) w·n
div(w)
( )
ζ 3 ζ ·n
( )
. ζ ⊗ζ 4ζ ζ ·n ζ
( ) ( ) ( )( )
ζ ·ζ ζ 5 ζ ·ζ ζ · n ζ ·ζ
| | ( ) ( )( )
ζ ⊗ζ ⊗ζ 5 ζ ⊗ζ ζ · n ζ ⊗ζ

These results are analogous to the ones we used for the two-dimensional problem.
The main difference comes from the number of dimensions of space. For example,
.div(ζ ) is equal to 2 in two dimensions and 3 in three dimensions. The proofs of

the relationships in the table are left as an exercise for the reader. To see how the
calculations go, take a look at pages 175 to 177, where we did similar calculations
for the planar case.
We can recast the integrals for V , .r, and .R as integrals over the surface. For
example, the volume V comes out of the following derivation:
| |
( ) ( )
div ζ dV = ζ · n dA
B ∂B
| |
( )
. 3 dV = ζ · n dA
B ∂B
|
( )
3V = ζ · n dA
∂B

The first line is a statement of the divergence theorem, identifying the vector in the
integrand of Eq. 5.50 as .ζ . The second line substitutes the value of the divergence
of .ζ , which is 3, on the left side. The third line recognizes that the integral of dV

@seismicisolation
@seismicisolation
226 5 Motion in Three Dimensions

over .B is simply the volume V . The key is that the integral over the volume does
not need to be carried out as a triple integral with limits of integration.
We can follow a similar path to compute .r in Eq. 5.49(b). To wit,
| |
| | ( )
div ζ ⊗ ζ dV = ζ · n ζ dA
B ∂B
| |
( )
. 4 ζ dV = ζ · n ζ dA
B ∂B
|
( )
4r = ζ · n ζ dA
∂B

In this case,
| we use| the tensor form
| of |the divergence
( ) theorem, identifying the
tensor .T = ζ ⊗ ζ and noting that . ζ ⊗ ζ n = ζ · n ζ . The last line recognizes the
definition of .r from Eq. 5.49.
Finally, we can follow the same strategy for the two parts of .R. Specifically, we
can compute
| | |
|( ) | ( ) ( )( )
. div ζ · ζ ζ dV = 5 ζ · ζ dV = ζ · ζ ζ · n dA
B B ∂B
( ) ( )( )
where we have identified .v = ζ · ζ ζ and .v · n = ζ · ζ ζ · n in Eq. 5.50. Similarly,
we can write
| | |
| | | | | |( )
. div ζ ⊗ ζ ⊗ ζ dV = 5 ζ ⊗ ζ dV = ζ ⊗ ζ ζ · n dA
B B ∂B
| |
where| we have
|( identified
) a third-order tensor .T = ζ ⊗ ζ ⊗ ζ and noted that
.Tn = ζ ⊗ ζ ζ · n , as indicated in the table.
We can summarize the preceding results with the formulas, which are equivalent
to Eq. 5.49,
|
( )
V = 1
3 ζ · n dA
∂B
|
( )
. r= 1
4 ζ ζ · n dA (5.52)
∂B
| |( |(
) )
R= 1
5 ζ · ζ I − ζ ⊗ ζ ζ · n dA
∂B

These results will allow us to compute the inertial properties of the body using area
integrals, which we will be able to do in closed form for flat triangles.

@seismicisolation
@seismicisolation
5.5 Computation: Inertial Properties of Solid Bodies 227

There is one more simplification worthy of note. The dot product | of any
| two
vectors is the trace of the tensor product.3 In particular, .ζ · ζ = tr ζ ⊗ ζ . Since
the trace is a linear operator, the integral of the trace is the trace of the integral.
Therefore, we will compute
|
| |( )
S=
.
1
5 ζ ⊗ ζ ζ · n dA (5.53)
∂B

and then
( )
R = tr S I − S
. (5.54)

Thus, in practice, we only need to compute .S by integration over the surface of the
body.

5.5.2 Integration over a Triangle

The surface of a solid body can be approximated by triangles. Hence, if we can


compute Eqs. 5.52 on a typical triangle, then we can sum up the contributions to get
the inertial properties.
Consider the typical triangle shown in Fig. 5.14. The lengths of the sides along
unit vectors .p and .q are h and b, respectively. Point .P is the origin. The vector

Fig. 5.14 Typical triangle. A


typical triangle in k
three-dimensional space with k
(outward) unit normal vector
( , ) n
.n. The local numbering of the
vertices is i, j , and k. The
unit vectors .p and .q point
from vertex i to j and i to k, i
b dA h 1
respectively b
q
j
p h
i

3 The
( ) trace of a tensor .T is the sum of its diagonal components; in other words,
.trT = T11 + T22 + T33 .

@seismicisolation
@seismicisolation
228 5 Motion in Three Dimensions

ζ (ξ, η) is the position of the typical particle .A. The vector .ζ i is the vector from
.

the origin to vertex i. The location of the typical particle .A is measured in a non-
orthogonal coordinate system .(ξ, η) along the directions of unit vectors .p and .q.
Hence, for integration over the area, we can note that
( ) ( )
n dA = dξ p × dη q = sin ϕ n dξ dη
.

where .sin ϕ = ||p × q|| by virtue of the definition of the cross product of unit vectors.
Note that .n is perpendicular to both .p and .q. The unit vectors can be easily computed
from the coordinates of the vertices. To wit,

ζj − ζi ζk − ζi p×q
. p= , q= , n=
h b ||p × q||

where .ζ j and .ζ k are the vectors from the origin to vertex j and vertex k, respectively.
We have designated .h = ||ζ j − ζ i || and .b = ||ζ k − ζ i || as the lengths of the edges.
We can write the position vector of particle .A as

ζ (ξ, η) = ζ i + ξ p + η q
. (5.55)

This parameterization will allow us to compute the area integrals using .ξ and .η as
the integration variables. We can note that
| | |
( ) b h(1−η/b) ( )
. • dA = • sin ϕ dξ dη
Δ 0 0
( )
for any integrand . • . The subscript .Δ on the integral on the left side simply means
that the integration is over the region of the triangle. In particular, we find that
| |
Δ dA = 21 bh sin ϕ Δξ dA = 16 bh2 sin ϕ
| |
.
Δ η dA = 16 b2 h sin ϕ Δξ
2 dA = 1 3
12 bh sin ϕ
| |
Δη
2 dA = 1 3
12 b h sin ϕ Δ ξ η dA = 1 2 2
24 b h sin ϕ

The next important observation is that .ζ · n = ζ i · n because .n is orthogonal to


both .p and .q. Hence, .ζ · n is constant and can be pulled out of all the integrals in
Eq. 5.52. Let us define
( )
Ae = 21 bh sin ϕ ζ i · n
.

@seismicisolation
@seismicisolation
5.5 Computation: Inertial Properties of Solid Bodies 229

for face e (note that the values of b, h, .sin ϕ, .ζ i , and .n are all unique to each face).
We can simplify this expression by first noting that .sin ϕ n = p × q and recognizing
that .h p = ζ j − ζ i and .b q = ζ k − ζ i . Thus,
( ) ( )
bh sin ϕ ζ i · n = ζ i · hp × bq
|( ) ( )\
= ζi · ζj −ζi × ζk −ζi
. | \
= ζi · ζj ×ζk − ζj ×ζi − ζi ×ζk + ζi ×ζi
( )
= ζi · ζj ×ζk

which is simply the triple scalar product of the position vectors of the three vertices.
Thus, the value of .Ae is
( )
Ae =
.
1
2 ζi · ζj ×ζk (5.56)

Notice the cyclic appearance of i, j , and k in this formula. If these indices are
sequential and counterclockwise on the face, then the quantity .Ae is consistent with
the outward normal direction .n. This convention will hold no matter which of the
three vertices you start with (what we call i in this derivation). If the indices are in
clockwise order, then the result is consistent with an inward normal. In the former
case we get a positive .Ae and in the latter we get a negative value. This observation
provides a route to compute inertial properties of solids with voids. If the faces on
the inside have their vertices in clockwise order, then the contribution of the void
is subtracted out from the solid defined by the faces with outward normal vectors.
Also note that we do not need to compute b, h, or .sin ϕ to get this value.
Now, we can compute the integrals for face e. The calculation for the volume
integral is straightforward. From the definition in Eq. 5.52, we can write
|
( )
Ve = 1
3 ζ · n dA
Δ
|
( )
.
= 13 ζ i · n dA
Δ
( )( )
= 1
3 ζ i · n 21 bh sin ϕ = 13 Ae

The integral for .re is a little more involved, but again straightforward. To wit,

@seismicisolation
@seismicisolation
230 5 Motion in Three Dimensions

|
( )
re = 1
4 ζ ζ · n dA
Δ
|
( ) ( )
= 1
4 ζi · n ζ i + ξ p + η q dA
Δ
| | |
( )| \
= 1
4 ζi · n ζi dA + p ξ dA + q η dA
. Δ Δ Δ
( ) | ( ) ( ) ( )\
= 1
4 ζ i · n sin ϕ ζ i 21 bh + p 61 bh2 + q 61 b2 h
( ) ( )| \
= 1
4 ζ i · n sin ϕ 12 bh ζ i + 31 h p + 31 b q
( )
= 14 Ae ζ i + 13 h p + 31 b q

Again, we can substitute .hp = ζ j − ζ i and .bq = ζ k − ζ i to get the simpler form
( )
re =
.
1
12 Ae ζi + ζj + ζk

The computation for .Se is similar and is left as an exercise for the reader. The
result is
|| | | | | |
Se = 15 Ae ζ i ⊗ ζ i + 13 h ζ i ⊗ p + p ⊗ ζ i + 31 b ζ i ⊗ q + q ⊗ ζ i
.
| | | | | ||
+ 16 h2 p ⊗ p + 16 b2 q ⊗ q + 12 1
bh p ⊗ q + q ⊗ p

To see the contours of this calculation, refer to the one completed for the planar case
on page 181. The key is to distribute the product .ζ ⊗ ζ , having substituted Eq. 5.55,
and noting which quantities do not depend upon the variables of integration. The
tensor product of vectors is not commutative. Making the same substitutions for .hp
and .bq, we can put this result in the form
| | |
Se = 1
60 2 ζi ⊗ ζi + ζj ⊗ ζj + ζk ⊗ ζk + ζi ⊗ ζj + ζj ⊗ ζi
. |
+ ζ j ⊗ ζ k + ζ k ⊗ ζ j + ζ k ⊗ ζ i + ζ i ⊗ ζ k Ae

Let’s make one more simplification. Note that if we define the sum of the vertex
positions as

ζ̂ = ζ i + ζ j + ζ k
.

which is three times the average position of the vertices, then we can write the face
element equations in the final form:

@seismicisolation
@seismicisolation
5.5 Computation: Inertial Properties of Solid Bodies 231

Contributions of face e to inertial property integrals

Ve = 13 Ae

re = 1
ζ̂
12 Ae
| |
Se = 60
1
Ae ζ̂ ⊗ ζ̂ + ζ i ⊗ ζ i + ζ j ⊗ ζ j + ζ k ⊗ ζ k
.
where
( )
Ae = 1
2 ζi · ζj ×ζk

ζ̂ = ζ i + ζ j + ζ k

This form of the equations shows the symmetry of the calculation relative to the
vertices i, j , and k. It does not matter which vertex one selects as .ζ i , and the
symmetry evident in this form of the equations proves it. As mentioned previously,
if i, j , and k are in counterclockwise order looking at the face with the normal vector
pointing toward you, then the contributions are positive. If they are clockwise, then
they are negative. Observe that all the inertial properties can be computed without
explicitly computing b, h, .p, .q, .n, or .sin ϕ, which were introduced to clarify the
derivations.
The contributions of the integrals over each face can be summed over all the faces
to get the final integral over the entire surface:


M ⎲
M ⎲
M
| ( ) |
V =
. Ve r= re R= tr Se I − Se (5.57)
e=1 e=1 e=1

where M is the number of triangular faces on the surface .∂B. With the integration
over the surface complete, the inertial properties can be computed as

m = ρ V,
. sP = ρ r, JP = ρ R

From these quantities, we can compute the center of mass and the mass moment of
inertia relative to the center of mass as
sP |( ) |
c=
. , JG = JP − m c · c I − c ⊗ c
m
These calculations are implemented in Code 5.1, as described in the next section.

@seismicisolation
@seismicisolation
232 5 Motion in Three Dimensions

5.5.3 Code to Compute Inertial Properties of Solid Bodies

The algorithm to compute the inertial properties of solid bodies has been imple-
mented in MATLAB Code 5.1. The code requires that the surface of the body
be expressed as the union of triangular faces by specifying the coordinates of
the vertices and associating the vertices connected to each face. The code is
implemented as a MATLAB function, so that it can be called as part of the process
of a dynamic analysis. The input specifies the density rho and the index for the
shape of the body nType, which is used to select a geometric shape in the function
Input3DBody.

Code 5.1 MATLAB code to compute the inertial properties of a solid body
function [z,ix,mass,c,Jp,Jg] = InertialProperties3D(nType,rho)
%. Compute the inertial properties of a 3D solid body

%. Select body and retrieve vertices (z) and faces (ix)


[z,ix] = Input3DBody(nType);

%. Establish number of faces (triangles)


nFaces = size(ix,1);

%. Initialize values of integrals


V = 0; % Integral dV
r = zeros(3,1); % Integral z dV
R = zeros(3,3); % Integral [(z.z)I - z*z'] dV

%. Loop over faces of the polyhedron


for e=1:nFaces

%... Grab the vectors for vertices of current face


zi = z(ix(e,1),:)';
zj = z(ix(e,2),:)';
zk = z(ix(e,3),:)';
zhat = zi + zj + zk;

%... Compute contributions of current face


Ae = dot(zi,cross(zj,zk))/2;
Ve = Ae/3;
re = zhat*Ae/12;
Se = ( zhat*zhat' + zi*zi' + zj*zj' + zk*zk' )*Ae/60;

%... Add contributions of face to totals


V = V + Ve;
r = r + re;
R = R + trace(Se)*eye(3) - Se;

end % loop over faces

%. Finish the calculation


mass = rho*V;
s = rho*r;
Jp = rho*R;
c = s/mass;
Jg = Jp - mass*(dot(c,c)*eye(3) - (c*c'));

%. Output
Output3DBody(z,ix,mass,c,Jp,Jg)

end

@seismicisolation
@seismicisolation
5.5 Computation: Inertial Properties of Solid Bodies 233

Most of the code is self-explanatory, with variable names corresponding to the


equations developed in this section. The vertices z and elements (faces) ix are
obtained from the function Input3DBody, which is given in Code 5.2. Each row
of z holds the .(x, y, z) coordinates of a vertex whose index is equal to the row
index of z. Each row of ix holds the vertex numbers of a face whose index is
equal to the row index of ix. The function Output3DBody, not included here,
prints information to the command window, including the inertial properties and the
principal values and directions of the mass moment of inertia tensor and renders the
body with the principal directions shown graphically. The function has the options
of drawing the normal vectors (very important to check to see if the ix array is in
the right order) and the vertex numbers.
The input arguments for this code are nType, which is the index for the body
type specified in Input3DBody, and rho, which is the uniform density of the
material. The function returns the vertex coordinates and connections (useful for
animation of the body in a dynamic calculation), the mass, the center of mass, c,
and the mass moment of inertia relative to the origin, Jp, and relative to the center
of mass, Jg. The origin .P is implicit in the input values of z from Code 5.2.

Code 5.2 MATLAB code to specify vertices and faces of a few solid bodies
function [z,ix] = Input3DBody(nType)
% Establish the vertex coordinates and face connections for body
% z = vertex coordinates, each row (x,y,z)
% ix = face connections, each row (i,j,k)
% The face connection order must be consistent with outward normals

switch nType
case 1 % Cuboid
a = 1; b = 3; c = 4;
z = [ 0, 0, 0; a, 0, 0; a, b, 0; 0, b, 0;...
0, 0, c; a, 0, c; a, b, c; 0, b, c];
ix = [ 1, 2, 5; 2, 6, 5; 2, 3, 7; 7, 6, 2; 3, 4, 7; 4, 8, 7; ...
1, 5, 4; 5, 8, 4; 1, 4, 2; 4, 3, 2; 5, 6, 8; 6, 7, 8];

case 2 % Right tetrahedron


a = 1; b = 2; c = 3;
z = [ 0, 0, 0; a, 0, 0; 0, b, 0; 0, 0, c];
ix = [1, 2, 4; 1, 3, 2; 1, 4, 3; 2, 3, 4];

case 3 % Pyramid with rectangular base (a x b) and height c


a = 1; b = 1; c = 2;
z = [ 0, 0, 0; a, 0, 0; a, b, 0; 0, b, 0; a/2, b/2, c];
ix = [ 1, 2, 5; 2, 3, 5; 3, 4, 5; 4, 1, 5; 1, 3, 2; 4, 3, 1];

case 4 % Sphere
[x,y,z] = sphere(12);
fvc = surf2patch(x,y,z,'triangles');
z = fvc.vertices;
ix = fvc.faces;

case 5 % Equilateral tetrahedron


r = 1; a = 1/sqrt(3); b = a/2; h = sqrt((a+b)^2 - b^2);
z = [ 0, 0, 0; a+b, -0.5, 0; a+b, 0.5, 0; a, 0, h]*r;
ix = [ 1, 2, 4; 1, 3, 2; 1, 4, 3; 2, 3, 4];

case 6 % Spiral coil


nSide = 12; % Number of sides to cross section + 1
nSeg = 71; % Number of cross sections

@seismicisolation
@seismicisolation
234 5 Motion in Three Dimensions

Angle = 5*pi; % Total angle for the coil


R = 4; % Radius of center line
Width = 1; % Width of wire
Depth = 1; % Depth of wire
Slope = 0.75; % Vertical slope of coil
e3 = [0,0,1]; % Vertical direction
Orient = pi/4; % Orientation of cross section

% Initialize arrays
z = zeros(nSide*nSeg+2,3);
ix = zeros(2*nSide*(nSeg-1)+2*nSide,3);

% Compute the vertex coordinates


th = linspace(Orient,2*pi+Orient,nSide);
u = Depth*sin(th);
v = Width*cos(th);
for n=1:nSeg
th = Angle*(n-1)/(nSeg-1);
nvec = [cos(th), sin(th), 0];
for j=1:nSide
z(nSide*(n-1)+j,:) = (R + v(j))*nvec + (Slope*th + u(j))*e3;
end
end
z(nSide*nSeg+1,:) = R*[1,0,0];
z(nSide*nSeg+2,:) = R*[cos(Angle),sin(Angle),0] + Slope*Angle*e3;

% Compute the face connections


for n=1:nSeg-1
i = nSide*(n-1)+1;
ii = i:i+nSide; ii(end) = i;
jj = i+nSide:i+2*nSide; jj(end) = i+nSide;
for k=1:nSide
kk = 2*nSide*(n-1)+2*(k-1);
ix(kk+1,:) = [ii(k), jj(k), jj(k+1)];
ix(kk+2,:) = [jj(k+1), ii(k+1), ii(k) ];
end
end
iS = nSide*(nSeg-1)+1;
ii = 1:1+nSide; ii(end) = 1;
jj = flip(iS:iS+nSide); jj(1) = iS;
for k=1:nSide
kk = 2*nSide*(nSeg-1)+2*(k-1);
ix(kk+1,:) = [ii(k), ii(k+1), nSide*nSeg+1];
ix(kk+2,:) = [jj(k), jj(k+1), nSide*nSeg+2];
end

end

end

Code 5.2 is also self-explanatory. The different bodies included are accessed
through a switch construct based upon the input nType. The vertex coordinates
are specified in terms of parameters so the dimensions can be changed. Of course,
the bodies included are only a sample. Additional bodies can be added to the library.
Figure 5.15 shows a rendering of a spiral coil, which is nType 6 in Code 5.2. The
density is .ρ = 0.03. The code gives a total mass of .m = 5.569 and principal mass
moments of inertia relative to the center of mass of .(90.6, 110.6, 111.9).

@seismicisolation
@seismicisolation
5.6 Computation: Motion in Three Dimensions 235

Fig. 5.15 Example. Spiral


coil with centerline radius 4,
cross section width and depth
1, slope 0.75, and total angle
of .5π . The cross sections
have 11 sides, and the length
is divided into 71 segments
giving 854 vertices and 1704
faces

5.6 Computation: Motion in Three Dimensions

In this section we set up a numerical algorithm for computing the dynamic response
of a solid body in three-dimensional motion. In essence, we will implement the
equations derived earlier in the chapter, using the generalized trapezoidal rule to do
the time integration and Newton’s method to solve the nonlinear algebraic equations
at each time step.
The first step is to establish the discrete state variables and associate them with
the variables in the theory. To wit,

xn ← xC (tn ) Rn ← Λ(tn )

. vn ← ẋC (tn ) ωn ← w(tn ) (5.58)


an ← ẍC (tn ) α n ← ẇ(tn )

where .xC (t) is the position of the reference point for translation, .Λ(t) is the rotation
tensor, and .w(t) is the angular velocity. The discrete values are approximations of
the actual values at time .tn . The generalized trapezoidal rule provides a way to
compute the position and velocity at time step .n + 1 from the state at time step n
and the acceleration at step .n + 1. To wit,

xn+1 = bn + ζ an+1 ,
. vn+1 = cn + η an+1 (5.59)

where the constants .bn , .cn , .η, and .ζ , which are associated with the previous time
step and the numerical integrator, are given by

bn = xn + hvn + β(1−β)h2 an ζ = (1−β)2 h2


.
cn = vn + βhan η = (1−β)h

as we have done before, where h is the time step and .β is the numerical integration
parameter (usually taken to be 0.5). Again, the important observation is that the

@seismicisolation
@seismicisolation
236 5 Motion in Three Dimensions

position and velocity at step .n + 1 are linearly related to the acceleration at step
n + 1.
.

The rotational equations are a little different because we must assure that the
updated rotation tensor is orthogonal. We can accomplish the update as follows:
| |
ωn+1 = ωn + h β α n + (1−β) α n+1
| |
. θ n+1 = h β ω n + (1−β) ω n+1 (5.60)
| |
Λn+1 = Λn exp Θn+1

where .Θn+1 h = θ n+1 × h for any .h and .exp[ • ] is the exponential of .[ • ]. Since
the exponential of an antisymmetric tensor is an orthogonal tensor, and the product
of orthogonal tensors is an orthogonal tensor, .Λn+1 is guaranteed to be orthogonal
and, therefore, faithfully represents a rotation tensor. The vector .θ n+1 is, essentially,
the increment in angle based upon numerically integrating the angular velocity. The
new orientation is implicit in .Λn+1 . Notice that there is no .θ n term in the generalized
trapezoidal update in Eq. 5.60(b) as there is for .ω in Eq. 5.60(a). As such, we don’t
actually compute the angle and direction of rotation, but we could extract them from
.Λn+1 using one of the available algorithms to do so.

We can compute .exp[Θ] using Eq. 5.19 for the exponential of .θ N. Note that the
axial vector .θ associated with .Θ has magnitude and direction. Let

θ
θ = ||θ ||,
. n=
θ

Now, .θ is the magnitude of the incremental rotation .θ and .n is a unit vector pointing
in the direction of the rotation. The vector .n has associated skew-symmetric tensor
.N such that .Nu = n × u. Now, we can write

sin θ 1− cos θ 2
exp[Θ] = I +
. Θ+ Θ (5.61)
θ θ2
The rotation .exp[Θ] is a rotation relative to the state n. To get the total rotation, we
multiply the rotation .Λn with the increment in rotation .exp[Θ]. The product of two
successive rotations is a rotation.
We have created two functions to aid the calculation of the exponential of the
incremental rotation. Code 5.3 computes a rotation tensor from an input angle vector
.θ using the Rodrigues formula. Code 5.4 computes an antisymmetric matrix from

an axial vector .w. These codes are listed below:

Code 5.3 MATLAB code to compute a rotation matrix from a vector .θ


function R = Exp(theta)
% Compute rotation matrix R from input rotation vector theta

%. Compute magnitude of rotation


th = norm(theta);

@seismicisolation
@seismicisolation
5.6 Computation: Motion in Three Dimensions 237

%. Compute unit vector or rotation axis (if angle is not zero)


if th>0; n = theta/th; end

%. Compute rotation matrix by Rodrigues formula


R = cos(th)*eye(3) + (1-cos(th))*(n*n') + sin(th)*skew(n);

end

Code 5.4 MATLAB code to compute an antisymmetric .W from an axial vector .w


function W = skew(w)
% Make anti-symmetric tensor from axial vector w
W = [ 0 , -w(3), w(2);...
w(3), 0 , -w(1);...
-w(2), w(1), 0];
end

Notice that we computed the unit vector .n by dividing .θ by its own length. To
accommodate the possibility that the incremental rotation is the zero vector, we only
normalize the vector if its magnitude is greater than zero. Observe that the result of
passing in the zero vector is that the resulting rotation matrix is the identity (i.e., no
rotation).
The generalized trapezoidal rule equations for rotation can be put into a slightly
more convenient form as

θ n+1 = Bn + ζ α n+1 Bn = h ωn + h2 β(1−β) α n


. (5.62)
ωn+1 = Cn + η α n+1 Cn = ωn + hβ α n

where .η and .ζ are defined as before. The vectors .Bn and .Cn are the parts of the
associated quantities at the new step that can be computed from the state at the
previous step (analogous to .bn and .cn for the translation motion variables). We will
demonstrate how to compute with these equations through specific applications in
the following two sections.

5.6.1 Projectile Motion of Rigid Bodies

Let us consider the motion of a rigid body projectile subjected only to gravity forces.
We will take the point of reference for translation to be at the center of mass .G.
Hence, the equations of motion (from Eqs. 5.35 with .MG = 0 and .F(t) = −mge3 )
are

m ẍG (t) + mg e3 = 0
.
JG ẇ(t) + w(t) × JG w(t) = 0

First, note that we do not need to solve the translational equation numerically. We
can solve it exactly as

@seismicisolation
@seismicisolation
238 5 Motion in Three Dimensions

ẍG (t) = −g e3

. ẋG (t) = vo − gt e3

xG (t) = xo + vo t − 12 gt 2 e3

where g is the acceleration of gravity and .vo and .xo are the initial velocity and
position, respectively. These are the classical equations of projectile motion of a
particle without drag.
We will solve the balance of angular momentum equations numerically. The
additional equations we need, beyond the generalized trapezoidal rule, to complete
the analysis are the equations of motion, which we know are satisfied at step n, and
we seek to satisfy them at step .n + 1. Let us create a residual function for rotational
motion, .g(α). To consolidate the notation, let .α = α n+1 be the unknown angular
acceleration that we seek. Then the residual function has the form

. g(α) = JG α + ωn+1 (α) × JG ωn+1 (α)

As usual, we will think of the residual as being a function of only the angular
acceleration. The angular velocity .ωn+1 (α) is then a function of the angular
acceleration .α through the generalized trapezoidal rule. If .g(α) = 0, then the angular
acceleration .α satisfies the equation of motion at step .n + 1. If it does not, then an
improved guess needs to be generated by Newton’s method.
To execute Newton’s method, we need the tangent matrix .A = ∂g/∂α. The
computation of the tangent matrix for the rotational part can be done with the
directional derivative, because

d | |
Dg(α) · h =
. g(α + εh) ε=0 = Ah

where .A is the tangent matrix and .h is the arbitrary direction of the derivative—a
variation of the independent variable .α. For more information about the directional
derivative, consult Appendix B. The directional derivative of .g(α) is
( )
Dg(α) · h = JG h + D ωn+1 × JG ωn+1
.

where the shorthand notation .D( • ) stands for the directional derivative of .( • ).
Observe that the first term is complete. The second term can be done by the product
rule, which operates the same for directional derivatives as for ordinary derivatives.
Note that from Eq. 5.62, .D( ωn+1 ) = η h because .Cn is constant. Therefore, we can
compute the following directional derivative:

@seismicisolation
@seismicisolation
5.6 Computation: Motion in Three Dimensions 239

( ) | \
D ωn+1 × JG ωn+1 = η ωn+1 × JG h + h × JG ωn+1
| ( ) \
. = η ωn+1 × JG h − JG ωn+1 × h
| ( ) ( )|
= η skew ωn+1 JG − skew JG ωn+1 h

The notation .skew(•) means the antisymmetric matrix that comes from the axial
vector .(•). For example, .skew(w) = W. To determine the tangent .A, we need to
factor out the arbitrary vector .h. The directional derivative of .g(α) is
| | | | |\
.Dg(α) · h = JG h + η skew ωn+1 JG − skew JG ωn+1 h

Therefore, the tangent matrix is


| | | | |\
A = JG + η skew ωn+1 JG − skew JG ωn+1
. (5.63)

Now we have everything we need for implementation. Code 5.5 computes the
response of a solid body in projectile motion, subjected only to the force of gravity,
and with the reference point for translation taken at the center of mass.

Code 5.5 MATLAB code to compute the projectile motion of a rigid body without constraints,
subjected to gravity
% 3D Projectile Motion of Rigid Body
clear; clc;

%. Input problem data


gravity = 0.0; % Acceleration of gravity
rho = 2.0; % Mass density
gvec = -gravity*[0;0;1]; % Gravity vector

%. Select body, get inertial properties


nType = 1;
[x,ix,mass,cm,~,Jg] = InertialProperties3D(nType,rho);

% Initial conditions
xo = [ 0.0 ; 0.0; 0.0]; % Inital position
vo = [ 0.0 ; 0.0; 0.0]; % Initial velocity
Ro = eye(3); % Initial rotation matrix
Wo = [ 0.0; 3.0; 0.001]; % Initial angular velocity

%. Numerical analysis parameters


tf = 10; % Final time
h = 0.01; % Time step
beta = 0.5; % Trapezoidal rule parameter
eta = (1-beta)*h; % Time integration parameter
zeta = eta^2; % Time integration parameter
nSteps = ceil(tf/h); % Number of time steps
tol = 1.e-8; % Newton iteration tolerance
MaxIt = 10; % Max. Newton iterations

%. Set up Hist struct for storage


Hist.T = zeros(nSteps,1); % Time
Hist.X = zeros(nSteps,3); % Position

@seismicisolation
@seismicisolation
240 5 Motion in Three Dimensions

Hist.V = zeros(nSteps,3); % Velocity


Hist.R = zeros(nSteps,9); % Components of rotation matrix
Hist.W = zeros(nSteps,3); % Angular velocity
Hist.E = zeros(nSteps,3); % [T,U,E] energy
Hist.L = zeros(nSteps,1); % Angular momentum magnitude
ItHist = [0,0];

%. Initialize state at time 0


t = 0;
xold = xo; Rold = Ro; % Position, rotation
vold = vo; Wold = Wo; % Velocity, angular velocity
Aold = -Jg\cross(Wo,Jg*Wo); % Angular acceleration

%. Compute motion by numerical integration


for n=1:nSteps

%... Store values for plotting


vold = vo + gvec*t; % Velocity, center of mass
xold = xo + vo*t + 0.5*gvec*t^2; % Position, center of mass
Hist.T(n) = t; % Time
Hist.X(n,:) = xold'; % Position
Hist.V(n,:) = vold'; % Velocity
Hist.R(n,:) = reshape(Rold,9,1); % Rotation matrix
Hist.W(n,:) = Wold'; % Angular velocity

%... Compute and store energy and angular momentum


T = 0.5*(mass*dot(vold,vold) + dot(Wold,Jg*Wold));
U = mass*dot(gvec,xold);
E = T + U;
Hist.E(n,:) = [T,U,E]; % Energy
Hist.L(n,:) = norm(Jg*Wold); % Angular momentum

%... Compute the values for the next time step


t = t + h; err = 1; its = 0;
Bn = h*Wold + beta*(1-beta)*h^2*Aold;
Cn = Wold + beta*h*Aold;
Anew = Aold;

%... Newton iteration to compute the new acceleration


while (err > tol) && (its < MaxIt)
its = its + 1;
Wnew = Cn + eta*Anew;
g = Jg*Anew + cross(Wnew,Jg*Wnew);
A = Jg + eta*(skew(Wnew)*Jg - skew(Jg*Wnew));
Anew = Anew - A\g;
err = norm(g);
end
ItHist = ItCounter(ItHist,n,its,MaxIt,nSteps);

%... Final update of velocity and position by trapezoidal rule


theta = Bn + zeta*Anew;
Rnew = Exp(theta)*Rold;
Wnew = Cn + eta*Anew;

%... Put new state into old slot to get ready for new step
Aold = Anew;
Wold = Wnew;
Rold = Rnew;

end

Projectile3DFigs(Hist,x,ix,cm,n)

There are a few things to observe about this code. First, the names for the state
variables for translation are xold and vold for position and velocity, respectively.
The acceleration of gravity .g = ge3 is called gvec. The translational motion

@seismicisolation
@seismicisolation
5.6 Computation: Motion in Three Dimensions 241

variables are computed exactly and stored at every time step. The names for the state
variables for rotational motion are Rold/Rnew, Wold/Wnew, and Aold/Anew
for the rotation tensor, angular velocity, and angular acceleration, respectively. The
old and new designations refer to time steps n and .n + 1.
The initial conditions concern the position, velocity, rotation, and angular
velocity. The acceleration and angular acceleration are computed from the equations
of motion. For this problem, balance of angular momentum is uncoupled from
balance of linear momentum. Hence, the equations can be solved independently.
Note that the function InertialProperties3D is Code 5.1. For the present
case, we return the mass moment of inertia Jg relative to the center of mass. We do
not need the mass moment of inertia relative to the origin, so we put a tilde in that
slot of the returned arguments to indicate that the information is computed, but not
passed back.
All graphical output is done through the function Projectile3DFigs, the
details of which are not included here.

Example 5.6 A classical problem in dynamic instability is the rotation of


a cuboid about its intermediate axis. Consider the cuboid of dimensions
.1 × 3 × 5 units and density .ρ = 2, with initial angular velocity of 3 rad/sec

about the intermediate axis (larger arrow in the sketch), as shown in Fig. 5.16.
To do this problem, we set gravity to zero (just for convenience—
translation is not important to this example) and give the body an initial
angular velocity. It is well-known that rotation about the major and minor
principal axes is stable, but rotation about the intermediate principal axis is
unstable.

Fig. 5.16 Cuboid example. Rotation of a cuboid about its intermediate principal axis. After
some time the angular velocity reverses due to instability of the motion

(continued)

@seismicisolation
@seismicisolation
242 5 Motion in Three Dimensions

Example 5.6 (continued)


To get the instability to manifest computationally, we also give an initial
angular velocity of 0.001 rad/sec about the minor axis (smaller arrow in the
sketch). The plot of the angular velocities as a function of time is shown in the
figure. At some time, the body rotates to a configuration in which the angular
velocity about the intermediate axis is reversed. If the system continues to
run, the rotation axis will continue to reverse periodically. This phenomenon
is sometimes called the Dzhanibekov effect, named after the astronaut who
first observed the phenomenon in space. It is also called the tennis racket
theorem because it is easy to do this experiment with a tennis racket.

5.6.2 Rotation of a Heavy Top

In this section, we will consider a problem that has a single point restrained
from moving while the body can execute general three-dimensional rotation. This
problem is usually referred to as the heavy top. A top is a solid body with a single
axis of symmetry. The main function of the top is to rotate about that axis while
resting on a point at its base. In general, the base point might be restrained only
from vertical motion (e.g., a top spinning on a flat surface), but for this problem we
will restrain all components of the motion. An example top is shown in Fig. 5.17.
We will use this geometric shape in our example later.
The main phenomena associated with the heavy top, in addition to rotation about
its axis of symmetry, are precession, which is a relatively slow rotation about the
vertical axis, and nutation, which is a periodic wobble to the motion caused by the
interplay of gravity’s tendency to topple the top and the stabilizing inertial action
caused by the rotational motion.
The simplest way to formulate this problem is to take the base point as the
reference point .C. Since that point is not the center of mass, we will need balance

Fig. 5.17 Heavy top


example. Rotation of a top o
about its axis of symmetry, z
resting on its point at the
base. The applied force is the
self-weight due to density .ρ
in gravitational field with the
acceleration of gravity g in
the vertical direction
y

@seismicisolation
@seismicisolation
5.6 Computation: Motion in Three Dimensions 243

of momentum Eqs. 5.23 and 5.32 as our starting point. Noting that .xC (t) = 0, these
equations have the form
| ( )|
F = mΛ ẇ × c + w × w × c
.
| |
MC = Λ JC ẇ + w × JC w

where .c is the vector from the origin to the center of mass. With only gravity acting,
the net force can be computed as
|
F=R+
. −ρge3 dV = R − mge3
B

where .R is the reaction force at the origin .C. The net moment of the gravity force
relative to the origin can be computed as
|
( ) ( )
MC =
. Λζ × −ρge3 dV = −Λ c × mgΛT e3
B

The reaction force .R causes no moment relative to point .C. The equations of motion
can be summarized as
( )
mΛ ẇ × c + w × (w × c) + mge3 = R
.
( ) (5.64)
JC ẇ + w × JC w + mg c × ΛTe3 = 0

where the angular velocity .w(t) and the rotation .Λ(t) are the time-dependent
variables. The tensor .JC is the mass moment of inertia about point .C, which is the
origin. The first equation can be viewed as an equation for .R. Once the motion
variables .w and .Λ are determined, this equation can be used to find .R. As such,
the first equation is not actually a differential equation to solve, but rather a post-
processing task to do once the second equation has been solved.
We can discretize the second equation and put it into residual form at time step
.n + 1. To wit,

( )
g(α) = JC α + ωn+1 (α) × JC ωn+1 (α) + mg c × ΛT (α)e3
. (5.65)

where we have used the notation .α = α n+1 to stand for the angular acceleration at
step .n + 1, which will be the iteration variable for Newton’s method. Hence, we
will solve for .α using Newton’s method and then substitute the value obtained to
determine the angular velocity .ωn+1 (α) and rotation .Λn+1 (α), which are functions
of the new angular acceleration through the generalized trapezoidal rule (Eq. 5.60).
The computation of the tangent matrices for Newton’s method is similar to the
previous developments. With a slight adjustment to the derivation of Eq. 5.63, we
get

@seismicisolation
@seismicisolation
244 5 Motion in Three Dimensions

| | | | |\
A = JC + η skew ωn+1 JC − skew JC ωn+1
. (5.66)

where, in this case, .JC is the mass moment of inertia relative to the fixed point on
the top. We are neglecting the contribution to the tangent matrix of the last term in
Eq. 5.65, which depends upon .α through .Λ. It is fairly complicated to compute and
does not enhance the convergence of Newton’s method by much for this problem,
so we have omitted it. Code 5.6 executes the time integration with Newton iterations
at each time step to satisfy the equation of motion.

Code 5.6 MATLAB code to compute the response of a heavy top subjected to initial angular
velocity and tilted at an initial angle
%- General 3D motion of a body with no motion at tip
clear; clc;

%. Input problem data


gravity = 981; % Acceleration of gravity
rho = 0.00092; % Mass density

%. Select body and compute inertial properties


nType = 9;
[x,ix,mass,c,Jc,~] = InertialProperties3D(nType,rho);

%. Compute weight and tracking point


wt = mass*gravity*[0;0;1]; % Total weight vector
Z = c; % Point to track for precession

%. Initial conditions
wo = 78.1; % Initial rotation speed
n = c/norm(c); % Axis of spin
Wo = wo*n; % Initial angular velocity
Ro = eye(3); % Initial rotation

%. Numerical analysis parameters


tf = 4.0; % Final analysis time
h = 0.001; % Time step
beta = 0.5; % Trapezoidal rule parameter
eta = (1-beta)*h; % Time integration parameter
zeta = eta^2; % Time integration parameter
nSteps = ceil(tf/h); % Number of time steps
tol = 1.e-8; % Newton iteration tolerance
MaxIt = 10; % Max. Newton iterations
ItHist = [0,0]; % Iteration history

%. Set up Hist struct for storage


Hist.T = zeros(nSteps,1); % Time
Hist.Z = zeros(nSteps,3); % Location of tip of top
Hist.R = zeros(nSteps,9); % Rotation matrix
Hist.W = zeros(nSteps,3); % Angular velocity
Hist.E = zeros(nSteps,3); % [T,U,E] energy
Hist.L = zeros(nSteps,1); % Mag. of angular momentum

%. Initialize state at time 0


t = 0;
Rold = Ro;
Wold = Wo;
Aold = -Jc\(cross(Wo,Jc*Wo) + cross(c,Ro'*wt));

%. Compute motion by numerical integration


for n=1:nSteps

@seismicisolation
@seismicisolation
5.6 Computation: Motion in Three Dimensions 245

%... Store values for plotting


Hist.T(n) = t; % Time
Hist.Z(n,:) = (Rold*Z)'; % Location of tip of top
Hist.R(n,:) = reshape(Rold,9,1); % Rotation matrix
Hist.W(n,:) = Wold'; % Angular velocity

%... Compute and store energy and angular momentum


T = 0.5*dot(Wold,Jc*Wold); % Kinetic energy
U = dot(Rold*c,wt); % Potential energy
E = T + U; % Total energy
Hist.E(n,:) = [T,U,E];
Hist.L(n,:) = norm(Jc*Wold); % Angular momentum

%... Compute the values for the next time step


t = t + h; err = 1; its = 0;
Bn = h*Wold + beta*(1-beta)*h^2*Aold;
Cn = Wold + beta*h*Aold;
Anew = Aold;

%... Newton iteration to compute the new acceleration


while (err > tol) && (its < MaxIt)
its = its + 1;
theta = Bn + zeta*Anew;
Rnew = Rold*Exp(theta);
Wnew = Cn + eta*Anew;
g = Jc*Anew + cross(Wnew,Jc*Wnew) + cross(c,Rnew'*wt);
A = Jc + eta*(skew(Wnew)*Jc - skew(Jc*Wnew));
Anew = Anew - A\g;
err = norm(g);
end
ItHist = ItCounter(ItHist,n,its,MaxIt,nSteps);

%... Final update of rotation and angular velocity


theta = Bn + zeta*Anew;
Rnew = Rold*Exp(theta);
Wnew = Cn + eta*Anew;

%... Put new state into old slot to get ready for next step
Aold = Anew;
Wold = Wnew;
Rold = Rnew;

end

%. Create graphical output


PlotHeavyTopFigs(Hist,x,ix,n)

This code is very similar to the previous one with the exception that in this one,
we do not need to track the motion of the center of mass because the point at the
base is fixed in space. The initial conditions are set in a way that there is an initial
tilt of the axis of symmetry of the top. The tilt is accomplished in the input function
by creating the vertices in the upright position and then rotating the coordinates with
a rotation tensor. If we do that, then the center of mass and mass moment of inertia,
which are computed relative to the inertial frame, are done automatically in the
code InertialProperties3D (i.e., Code 5.1). With this setup, the rotations
are measured relative to the initial position. Hence, the initial rotation tensor is the
identity. The main driving action is the initial angular velocity, which is specified
by giving a magnitude wo multiplied by a unit vector n. In this case, the unit
vector is created from the center of mass vector c so that the initial angular velocity
points along the axis of the top. For purposes of generating a figure that shows the
precession of the top, we introduce Z as a single point to track (set here as the center

@seismicisolation
@seismicisolation
246 5 Motion in Three Dimensions

of mass of the top, but it could be any point). The main changes in the code from the
previous one are the residual and tangent associated with the equations of motion.

Example 5.7 To illustrate the phenomenon of precession, we use the body


shown in Fig. 5.17, giving it an initial tilt of .0.2 rad from vertical in the .x−z
plane and an initial angular velocity of .ωo = 78.1 rad/sec about the axis of the
top. The body is 9.5 cm tall with a maximum radius of 6.5 cm. The center
of mass is located 5 cm from the base. The mass is 0.185 kg. The value of
the principal moments of inertia relative to the center of mass (i.e., .JG ) are
2 2
.2.70 kg-cm about the axis of symmetry and .1.46 kg-cm about the other two

axes. The principal moments of inertia relative to the fixed point (i.e., .JC ) are
2 2
.2.70 kg-cm about the axis of symmetry and .6.08 kg-cm about the other two

axes.
The motion of the center of mass is shown in Fig. 5.18 on the left. The
motion of this point lies on a sphere centered at the origin. The figure shows
a top view of that motion. As the body rotates about its axis of symmetry,
the center of mass wanders around the vertical axis. The primary motion is
called precession and the secondary motion is called nutation. Nutation is
responsible for the lobes. As the top precesses around a complete circle at
the spinning frequency .ωo = 78.1 rad/s, there are five nutation lobes. Observe
that the center of mass does not return to exactly the same spot because the
nutation frequency is not an integer multiple of the precession frequency. The
motion starts at the open circle on the plot and the center of mass moves in a
counterclockwise direction. In 4 seconds, the top completes over 3 complete
precession turns and nearly 15 nutation cycles.

Fig. 5.18 Heavy top example: trajectory of center of mass. Response of the heavy top
shown in Fig. 5.17 with initial tilt of .0.2 rad in the .x−z plane with an initial angular velocity
of .ωo = 78.1 rad/sec. The analysis time step is .h = 0.001. The left plot shows the trajectory
of the center of mass (top view). The plot on the right shows the components of the angular
velocity vector vs. time

(continued)

@seismicisolation
@seismicisolation
5.6 Computation: Motion in Three Dimensions 247

Example 5.7 (continued)


The plot on the right in Fig. 5.18 shows the variation of the three compo-
nents of the angular velocity vector relative to the inertial frame with time.
The main component is steady near .ωo . The two other components oscillate
slightly due to the effects of nutation. While difficult to discern in this case,
the oscillations have a periodic structure associated with the nutation.

Example 5.8 Consider a top with the same properties as the previous
example. Investigate how precession and nutation are affected by the initial
angular frequency .ωo by running multiple cases and recording the results.
Figure 5.19 shows the variation of the precession frequency .ωpre (on the
left) and the nutation frequency .ωnut (on the right) with the angular velocity,
.ωo , of the top. These plots were created by adjusting the frequency until the

nutation and precession were integer multiples of each other. That can be
accomplished by looking at a plot like Fig. 5.18 and adjusting the angular
velocity until the nutation lobes are on top of each other as the top precesses
around another cycle. The time is adjusted so that the precession completes
exactly one orbit. The precession period, then, is the time taken to complete
that one cycle. The frequency, in each case, is the .2π divided by the period.
Similarly, the nutation period is the time for one precession cycle divided by
the number of nutation lobes per cycle. The information collected from the
simulations is summarized in Table 5.1.

Fig. 5.19 Precession and nutation. The heavy top of Fig. 5.17 with initial angular velocity
.ωo .(a) Precession frequency .ωpre vs. .ωo . (b) Nutation frequency .ωnut vs. .ωo . Dashed line
is the least-squares fit to the points. All frequencies are in rad/s

(continued)

@seismicisolation
@seismicisolation
248 5 Motion in Three Dimensions

Example 5.8 (continued)

Table 5.1 Precession and Case .ωo .tpre Nutation lobes


nutation study. Angular
velocities and times for a 1 53.10 0.707 1
single cycle of precession, 2 61.92 0.893 2
with number of nutation lobes 3 67.68 1.023 3
4 72.93 1.150 4
5 77.83 1.250 5
6 82.45 1.367 6
7 86.83 1.450 7
8 91.00 1.540 8
9 119.20 2.120 16
10 142.10 2.590 24
11 178.90 3.310 40
12 207.30 3.880 55
13 241.40 4.560 76

(a) ( b) (c)

Fig. 5.20 Angular velocity and nutation. The heavy top of Fig. 5.17 with initial angular
velocity .ωo . (a) .ωo = 77.83, (b) .ωo = 119.2, (c) .ωo = 207.3

From the plot on the left in Fig. 5.19, it is apparent that .ωpre is inversely
proportional to .ωo , which is a well-known result for heavy tops that can
be proven mathematically. The plot on the right shows that the nutation
frequency .ωnut is proportional to .ωo . The dotted line is a least-squares fit
of the points on the graph.
As the angular velocity increases, the number of nutation lobes per pre-
cession cycle increases, and their amplitude decreases, as shown in Fig. 5.20.
Case (a) has five nutation lobes and is similar to the case shown in Fig. 5.18.
Case (b) has 16 nutation lobes and case (c) has 55 nutation lobes. The motion

(continued)

@seismicisolation
@seismicisolation
5.7 Summary 249

Example 5.8 (continued)


associated with nutation is nearly imperceptible in case (c). To an observer
of the top in motion, it would look like steady precession in a perfect circle.
There is always nutation if the top has an initial tilt, but for very high angular
velocities of the top, the effect of nutation is small.
Nutation happens due to the interplay between the tendency of the top to
act as a pendulum, which it would for zero angular velocity, and the stabilizing
action of the angular momentum of the top caused by rotation. Under the
influence of gravity, the top wants to rotate in the plane of the initial angle.
This rotation causes the angular momentum, which is directed along the axis
of the spinning top, to change. Angular momentum is conserved, however, so
the only possible response is precession (i.e., forward motion of the top). The
momentum of the pendulum motion causes the axis of the top to move past
the neutral point, so the top compensates and pushes the axis back up in the
reverse direction. Thus, nutation is an oscillatory motion.

5.7 Summary

The motion of rigid bodies in three dimensions is, in some sense, just another
application of the typical particle approach to formulating equations of motion.
However, rotation in three dimensions has some complications that were not
present in planar motion. The introduction of the rotation tensor provides the
framework needed to address the additional complication. From the point of view
of computation, we deal with rotation using the Rodrigues formula. Along the
way, we encountered the mass moment of inertia, which turns out to be a tensor
for three-dimensional motion. While the mass moment of inertia can be computed
analytically for some simple geometries, it is a tedious calculation for shapes of
interest in the real world. We developed an algorithm to automate the computation
of the mass, center of mass, and mass moment of inertia for uniform bodies that
can be represented with flat faceted faces. Finally, we showed how to implement
the computations numerically for rigid body projectile motion and the spinning of a
heavy top fixed at the origin.

@seismicisolation
@seismicisolation
Chapter 6
Euler–Lagrange Equations

Energy methods were introduced earlier in the book with a simple consideration
of conservation of energy and showed that it could be used to find equations of
motion for the system. Unfortunately, for nonlinear systems with more than one
degree of freedom, conservation of energy does not always provide an unambiguous
route to determining equations of motion. In this chapter, we derive Euler–Lagrange
equations to resolve the limitations associated with conservation of energy.
We got a lot of mileage out of the concept of conservation of energy for
particles and for rigid bodies with a single variable describing the motion. In
fact, conservation of energy was shown to be the first integral of equations of
motion, with the velocity being the integrating factor. Energy was useful for deriving
equations of motion, and it was useful for what we call two-state problems, where
the position and velocity are both known in one state and one of them is known
in another state. Conservation of energy then provides an equation to find the
remaining unknown.
When we consider the dynamics of systems of rigid bodies, the concept of
conservation of energy can still be useful, but in many cases, it does not prove
sufficient to derive equations of motion of the system. Fortunately, Lagrange and
Euler came to the rescue.1 Using a mathematical idea called the calculus of
variations, they showed that among all possible motions, the one that is consistent
with the actual motion is the one that minimizes the difference between the kinetic
and potential energy over some period of time. Arguing that it must be true for any
time window, we can deduce what are now commonly called the Euler–Lagrange

1 Joseph-LouisLagrange (1736–1813), a student of Euler, is acknowledged as the father of


energy methods or what we now call Lagrangian mechanics, which provide an alternative to
the Newtonian approach to mechanics. Leonhard Euler (1707–1783), the father of rigid body
dynamics, was famous for many things, among them Euler angles to describe rotation in three
dimensions.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2025 251
K. D. Hjelmstad, Engineering Dynamics,
https://doi.org/10.1007/978-3-031-56376-8_6
@seismicisolation
@seismicisolation
252 6 Euler–Lagrange Equations

equations. This argument is often called the principle of least action and stands as
an alternative to the Newtonian approach to mechanics (i.e., balance of momentum).
This method gives us a powerful approach to the derivation of equations of
motion for dynamical systems. It has the merit that it is based on work and energy
concepts where constraint forces like reactions, since they do no work, do not enter
the equations. This chapter provides a brief introduction to the calculus of variations
to lay the groundwork needed to derive Euler–Lagrange equations. Once they are
derived, we provide examples of how to use the Euler–Lagrange approach to find
equations of motion for rigid body dynamics problems.

6.1 Calculus of Variations

A function is a rule that takes in values of an independent variable and produces


output values. The function .q(t) is a function that depends upon the independent
variable t. If you plug in a value for t, then the function produces an output. For
example, consider the function .q(t) = 2t 2 − 1. At .t = 2, this function gives the
value .q(2) = 7. Functions can have multiple inputs, e.g., .q(x, t) = 3x + 5t has two
independent variables. Functions can be vector-valued, .q(t). Scalar functions can
be represented as graphs. We give this very brief review of the concept of function
to distinguish it from a different but related concept called a functional.
A functional is a function of a function. A functional is a rule that takes an
ordinary function as input and produces a number as output. Hence, we denote
a functional, for example, as .F(q(t)), where .q(t) is an ordinary function of the
independent variable t. Consider the simple example
| 1 () (
)2
F(q(t)) =
. q(t) + 3 dt (6.1)
0

The action of the functional is to square the function, add three, and then integrate
the result from zero to one. Let us make a few observations. First, .F is not a
function of t. In the present example, t, the argument of .q(t) is a dummy variable
of integration and is integrated out in the rule that defines .F. For that reason, it may
be better notation to write .F(q). Second, the value of .F depends upon the function
you put into it. For example, we could evaluate .F for the function .q(t) = t 2 + 1.
Plugging this function into .F gives
| 1 () (
)2
F(q) = t2 + 1 + 3 dt
0
| 1( (
. = t 4 + 2t 2 + 4 dt
0
| |1
= 1 5
5t + 23 t 3 + 4t = 73
15
0

@seismicisolation
@seismicisolation
6.1 Calculus of Variations 253

In other words, the value of .F for a specific function is just a number. Obviously,
we could plug any function into .F, and we would expect to get different results for
different functions. For example, if we use .q(t) = t − 1, we get
| 1 () (
)2
F(q) = t − 1 + 3 dt
0
| 1( (
. = t 2 − 2t + 4 dt
0
| |1
= 1 3
3t − t 2 + 4t = 10
3
0

Functions that can serve as inputs to a functional must have the appropriate
character. For example, in the functional of Eq. 6.1, the input function .q(t) must
be a scalar function of a scalar variable, defined on the range .t ∈ [ 0, 1 ], and it must
be integrable over that range when squared. We restrict the inputs of the functional
to these admissible functions, a term that simply means functions suitable to plug
into the functional.
A functional can have a vector-valued function as its input, i.e., .F(q(t)). The
nature of the value that .F produces depends upon the rule that defines it. For
example, we could have a functional like
| 1( (
F(q) =
. q(t) · q(t) + 3 dt
0

Because the integrand is a scalar function, .F will produce a scalar value as output.
Of course, many other rules are possible. Because our application of the calculus of
variations will involve vector-valued functions, we will use .q(t) as the argument of
.F in the developments that follow. Note that when we write the argument of .F, we

will generally suppress the fact that .q(t) depends upon t, but the above examples
should show the essential nature of that dependence. In other words, the function
that is plugged into the functional must be admissible.
A functional can also have the function and its derivatives as its argument, i.e.,
.F(q(t), q̇(t)). For example, we could have a functional like

| 1( (
F(q, q̇) =
. 5 q̇(t) · q̇(t) − 2 q(t) · q(t) + 3 dt (6.2)
0

Although .q̇(t) and .q(t) are not independent of each other—the first being the
derivative of the second—it will be useful to list both as arguments of .F. We will
see how this convention figures into the calculus of variations in the sequel. The
following example shows how to evaluate the functional given in Eq. 6.2, whose
inputs are a vector-valued function and its derivative. From this perspective, we
see that the evaluation of a functional involves the straightforward application of
principles of ordinary calculus.

@seismicisolation
@seismicisolation
254 6 Euler–Lagrange Equations

Example 6.1 Consider the functional defined in Eq. 6.2. Evaluate the func-
tional for the specific function .q(t) = 3t 2 e1 − 2te2 .
First, evaluate the derivative .q̇(t) = 6te1 − 2e2 . Second, compute the dot
products of the function and its derivative

q · q = 9t 4 + 4t 2 ,
. q̇ · q̇ = 36t 2 + 4

Finally, substitute the results into the integrand, and evaluate the integral
| 1( (
F(q, q̇) = 5 q̇ · q̇ − 2 q · q + 3 dt
0
| 1( (
) ) ) )
. = 5 36t 2 + 4 − 2 9t 4 + 4t 2 + 3 dt
0
| ) ) ) ) |1
= 5 12t 3 + 4t − 2 95 t 5 + 34 t 3 + 3t = 76.7333
0

You cannot produce a graph of a functional because there is no orderly way to


organize the input values for the abscissa as there is for ordinary functions (i.e., the
number line). Nevertheless, we can still ask whether or not the functional .F has
stationary values, i.e., is it possible to find functions .q(t) that either maximize or
minimize .F? The calculus of variations will help answer that question.
Variation of a Function The calculus of variations asks what happens to the value
of the functional .F(q, q̇) if we change the function .q(t) slightly. We call this change
a perturbation or variation. Let us designate the varied function as

qε (t) = q(t) + εp(t)


.

where .p(t) is simply a different function of t from the same class of admissible
functions as .q(t). The amount of variation is controlled by the scalar parameter .ε.
The concept of a varied function is illustrated in Fig. 6.1a. The dark solid line is
the original function .q(t), the lighter line is the varied function .qε (t), and the
difference between the two lines is .εp(t). You can see that .q and .p are not the
same function, as .p has more wiggles in it. The effect of the variation parameter is
illustrated in Fig. 6.1b. For small values of .ε, the varied function hews close to the
original function. As .ε → 0, the varied function approaches the original function,
i.e., .qε (t) → q(t). As .ε increases, the varied function gets farther from the original
function. In the calculus of variations, we will consider what the function looks like
just as it starts to move in the direction of the second function, i.e., after a small
nudge in the direction of .p.

@seismicisolation
@seismicisolation
6.1 Calculus of Variations 255

(a) (b) 0
q(t ) 0.1
p(t ) 0.2

0.3
q (t ) q(t ) p(t ) 0.4
ta tb t ta tb t

Fig. 6.1 Variation of a function. A variation of a function is a perturbation of the function by some
amount at every point. (a) The function .qε (t) is the variation of the function .q(t) in the direction
of the function .p(t). The amplitude of the variation is the scalar parameter .ε. (b) A variation of a
function showing varied functions with different values of the scalar parameter .ε. Smaller values
of .ε hew closer to the original function

The varied function .qε is a function of t. Therefore, we can differentiate it with


respect to t to get

q̇ε (t) = q̇(t) + εṗ(t)


.

Thus, if the functional involves the derivatives of .q(t), which is true for dynamics, it
will be straightforward to deal with the time derivatives because .ε does not depend
upon time.
The calculus of variations uses the varied function as a tool to derive equations
that the function .q(t) must obey. In essence, the hope is that we can make an
argument that because the function .p(t) is arbitrarily chosen, we can identify
conditions on .q(t) that will be true independent of the choice of .p(t). In the case
of the Euler–Lagrange equations, we will look for conditions that make the rate of
change of the functional equal to zero, which would correspond to a maximum or
minimum of the functional.
Variation of a Functional We vary the value of a functional by varying its
arguments. For example, if we have a functional .F(q, q̇), then its variation can be
expressed as

Fε = F(qε , q̇ε ) = F(q + εp, q̇ + εṗ)


.

Each time the function .q appears, we add .εp to it. Similarly, each time the function
.q̇ appears, we augment it by .εṗ. Keep in mind that .q(t) and .p(t) are both functions
of t, while .ε is not (i.e., it is an independent variable).
For the moment, let us consider .q and .p to be fixed functions. Viewed that way,
.Fε is an ordinary scalar function of .ε. Now, the ordinary rules of calculus apply. For

example, if we set the derivative of .Fε with respect to .ε equal to zero, then we can
find where .F is stationary. If we specialize that derivative by evaluating it at .ε = 0,
then we will find conditions under which .Fε is stationary in the neighborhood of

@seismicisolation
@seismicisolation
256 6 Euler–Lagrange Equations

ε = 0. That condition, of course, involves functions .q and .p. So, stationarity of .Fε
.

in the neighborhood of .ε = 0 indicates something about those two functions.


Directional Derivative of a Functional The directional derivative of .F is the
derivative with respect to .ε of the varied functional, evaluated at .ε = 0. To wit,

d | | d | |
.DF(q) · p = Fε = F(q + εp, q̇ + εṗ)
dε ε=0 dε ε=0

Thus, the directional derivative measures the rate of change of the functional at
q as we just start to move in the direction of the variation .p. In essence, we are
.

probing to see how fast the functional .F changes in the neighborhood of the input
function .q. For the probe, we are using the function .p. For more insight about how
the directional derivative works for a functional, please consult Appendix B, which
has an example of how to do the computation.
We can apply this tool to derive Lagrange’s principle of least action. The key will
be the functional that we call the action integral. The result will be Euler–Lagrange
equations. Since our focus is precisely on that particular functional, let us move
directly to its definition and use that to complete our discussion of the calculus of
variations.

6.2 Principle of Least Action

Let us assume that the time-dependent unknowns of a problem can be collected in


the array .q(t). This set of unknowns could include translations and rotations. They
are not necessarily all of the same character, as judged by their units, but they are
each scalar functions of time. Figure 6.2 shows an example of a system with multiple
degrees of freedom. The elements of the array .q(t) in this case are the four angles
required to characterize the motion of the system. The entries in .q are often called
generalized coordinates. For us, they are simply time-dependent variables that show
up in our geometry sketch—motion variables determine the number of degrees of
freedom of the system.
With this notation, we can write the kinetic and gravitational potential energy as
functions of the generalized coordinates. To wit,

Fig. 6.2 Motion variables.


Time-dependent variables are
contained in the array .q(t).
This system has four
time-dependent variables (the
rotations of the four bars)

@seismicisolation
@seismicisolation
6.2 Principle of Least Action 257

|
T (q, q̇) =
.
2 ρ ẋ(q, q̇) · ẋ(q, q̇) dV
1
B
|
U (q) = ρ x(q) · g dV
B

where .g is the acceleration of gravity (with magnitude g). Notice that the kinetic
energy can be thought of as a function of both .q and .q̇, while the potential energy
is only a function of .q, which is true of any potential energy function, not just
the gravitational potential. For example, the potential energy of a spring would be
expressed as .U (q) = 21 kΔ2 (q).
Define the Lagrangian function to be the difference between kinetic and potential
energy. To wit,

L(q, q̇) = T (q, q̇) − U (q)


. (6.3)

Contrast this quantity with the total energy E, which is the sum of kinetic and
potential energy. One way to think about dynamical systems is that they constantly
convert kinetic energy to potential energy and vice versa. The law of conservation
of energy says that the system does this in a way that makes the total energy (i.e.,
.T +U ) constant. For some systems, there are an infinite number of ways that energy

could be exchanged while still conserving it.


Let us define the action integral .H to be the integral of the Lagrangian between
two times .ta and .tb :
| tb
H(q, q̇) =
. L(q, q̇) dt (6.4)
ta

which is a functional. The principle of least action suggests that among all possible
motions .q(t), the actual motion is the one that minimizes the action integral.
This principle makes intuitive sense if you think of dynamical systems as being
systems that are constantly exchanging kinetic and potential energy. Among the
many possible ways that can happen, the one that accords with nature is the one that
minimizes the difference between the two. This is an efficiency argument of sorts,
claiming that nature finds a way to convert energy with the smallest fluctuations
possible. Remarkably, this hypothesis is distinctly different from Newton’s laws yet
yields the same equations of motion.
We can find the minimum of .H(q, q̇) using the directional derivative. Let .p(t) be
an arbitrary variation of the function .q(t). Then the directional derivative is

d | |
DH(q, q̇) · p =
. H(q + εp, q̇ + εṗ) (6.5)
dε ε=0

Substitute the kinetic and potential energies into the directional derivative. Apply
the chain rule of differentiation, and evaluate the result at .ε = 0. For example, the
directional derivative of the kinetic energy is

@seismicisolation
@seismicisolation
258 6 Euler–Lagrange Equations

d | |
DT (q, q̇) · p = T (q + εp, q̇ + εṗ)
dε ε=0
.
∂T ∂T
= · ṗ + ·p
∂ q̇ ∂q

with a similar result for the potential energy. We can move the derivative with respect
to .ε inside the integral. Therefore, the directional derivative of the action integral is
| tb ( ∂T (
∂T ∂U
.DH(q, q̇) · p = · ṗ + ·p− · p dt
ta ∂ q̇ ∂q ∂q

Integrating the first term by parts yields


| |
tb d ( ∂T ( ∂T ∂U | | ∂T | tb
.DH(q, q̇) · p = − + − · p dt + ·p
ta dt ∂ q̇ ∂q ∂q ∂ q̇ ta

This form of the directional derivative of .H is exactly equivalent to the original one.
We have some latitude on the selection of variations .p. To eliminate the last term,
let us restrict functions .p(t) to be zero at times .ta and .tb .
To find the minimum, the directional derivative must be zero for all choices of the
arbitrary function .p. Using the fundamental theorem of the calculus of variations,
we get Euler–Lagrange equations

d ( ∂T ( ∂T ∂U
. − + =0 (6.6)
dt ∂ q̇ ∂q ∂q

The proof of the fundamental theorem is simple. If .p can be anything, then we


could set it equal to the term in square brackets in the integral. That results in the
dot product of .p with itself, which must be positive. The only way for a positive
quantity to integrate to zero is if that quantity is, itself, equal to zero. Thus, the
term in square brackets must be zero, which is what Eq. 6.6 states. Euler–Lagrange
equations yield the proper equations of motion for any conservative system (i.e.,
a system where the forces possess a potential energy function). The equations are
exactly equivalent to those derived from balance of momentum.
Contrast the calculus of variations argument with the one we have made earlier
in the book when using conservation of energy to deduce equations of motion.
Invariably, we have found that conservation of energy gives an expression like
.[ • ]u̇(t) = 0, where .[ • ] is the collection of terms that show up when taking the time

derivative of the total energy, an expression that involves .u(t) and its derivatives.
We observe that if .u̇(t) was always equal to zero, then .u(t) = constant, implying no
motion. Thus, for energy to be conserved while motion occurs, it must be true that
.[ • ] = 0, a condition that yields the equation of motion. In the calculus of variations,

we make a similar argument about what must be true to make an expression equal
to zero. However, it concerns the variation .p and not the time derivative of one of

@seismicisolation
@seismicisolation
6.3 Application of Euler–Lagrange Equations 259

the real motion variables. Ultimately, the argument from the calculus of variations
eliminates .p entirely. Its presence serves only the role of determining the conditions
that must be true about the real function .q(t). Equation 6.6 does not involve the
variation .p at all. We never “solve” for .p(t). The variation gets used up in making
the argument that leads to Euler–Lagrange equations and plays no further role.

6.3 Application of Euler–Lagrange Equations

In this section, we apply Euler–Lagrange equations to some simple systems as a


means of illustrating how to organize calculations that give equations of motion. We
start with a simple oscillator to show the essence of the calculation. Next, we apply
Euler–Lagrange equations to a simple pendulum and show how the results relate to
the conservation of energy approach we used in earlier chapters. Finally, we add a
mass slider to the pendulum to illustrate why conservation of energy is inadequate to
the task of deriving the equations of motion and show that Euler–Lagrange equations
do not encounter those same issues.

6.3.1 Simple Oscillator

Consider the spring/mass oscillator with mass m and spring constant k, shown
in Fig. 6.3. The motion relative to the position of the mass where the spring is
unstretched is .u(t). The kinetic and potential energies are

T = 12 mu̇2 ,
. U = 12 ku2

There is no gravity potential because the mass does not change height. The
derivatives needed for Euler–Lagrange equations are

∂T ∂T ∂U
. = mu̇, = 0, = ku
∂ u̇ ∂u ∂u

Fig. 6.3 Example m


Mass/spring oscillator with k
mass m and spring constant k.
Displacement .u(t) is
measured from the position
where the spring is not u (t )
stretched

@seismicisolation
@seismicisolation
260 6 Euler–Lagrange Equations

Notice that when taking partial derivatives, we view u and .u̇ as independent
variables. Euler–Lagrange equations are

d ( ∂T ( ∂T ∂U
− + =0
dt ∂ u̇ ∂u ∂u
d) )
.
mu̇ − 0 + ku = 0
dt
mü + ku = 0

The last line is the equation of motion governing the evolution of .u(t).
We can contrast this approach with conservation of energy. The time derivative
of the total energy is zero. Thus,

d( (
T +U =0
dt
(
d 1 2 1 2(
2 mu̇ + 2 ku =0
. dt
) ) 1 ) )
2 m 2u̇ü + 2 k 2uu̇ = 0
1

) )
mü + ku u̇ = 0

With conservation of energy, we must make the additional argument that the velocity
u̇ will not be zero all the time. Hence, the term in parentheses must be zero. Setting
.

that term to zero gives the equation of motion

mü + ku = 0
.

These two approaches have a lot of similarities, but they are fundamentally different.
One must take care with the derivatives, noting which are derivatives with arguments
like u or .u̇ and which are time derivatives.

6.3.2 Simple Pendulum

Consider the simple pendulum shown in Fig. 6.4. The pendulum has length L and
mass per unit length .ρ̄ and is hinged at point .O. The time-dependent variable
describing the motion of the pendulum is the angle .θ (t), measured from vertical.
The distance to the typical particle is s, measured from the origin .O. The standard
base vectors .{e1 , e2 } are shown, along with unit vectors .n(t) and .m(t), defined as

@seismicisolation
@seismicisolation
6.3 Application of Euler–Lagrange Equations 261

Fig. 6.4 Example (a) Simple


pendulum of length L and
uniform mass per unit length
.ρ̄ hinged at .O . (b) Geometry
sketch defining
time-dependent variable .θ(t)
and the position vector of the
typical particle, .x(s, t)

n(t) = sin θ (t)e1 − cos θ (t)e2


. (6.7)
m(t) = cos θ (t)e1 + sin θ (t)e2

Time derivatives of these vectors are .ṅ = θ̇m and .ṁ = −θ̇n. The position and
velocity of the typical particle are

x(s, t) = s n(t)
. (6.8)
ẋ(s, t) = s θ̇ (t)m(t)

The potential energy due to gravity of the system can be computed as


| L
U= x(s, t) · ρ̄ g ds
0
| L
.
= s n · ρ̄g e2 ds (6.9)
0

= − 12 ρ̄gL2 cos θ

The kinetic energy is


| L
T = 2 ρ̄ ẋ(s, t) · ẋ(s, t) ds
1
0
| L ) ) ) ) (6.10)
.
= 1
2 ρ̄ s θ̇m · s θ̇m ds
0

= 61 ρ̄L3 θ̇ 2

It is evident in this case that .q(t) = {θ (t)}. There is a single time-dependent


variable that completely describes the motion. With these energy expressions, we
can compute the derivatives needed for Euler–Lagrange equations. To wit,

@seismicisolation
@seismicisolation
262 6 Euler–Lagrange Equations

∂T ∂T ∂U
. = 31 ρ̄L3 θ̇ , = 0, = 12 ρ̄L2 sin θ
∂ θ̇ ∂θ ∂θ

Substituting these expressions into Euler–Lagrange equations gives

d ( ∂T ( ∂T ∂U
. − + = 31 ρ̄L3 θ̈ + 21 ρ̄gL2 sin θ = 0
dt ∂ θ̇ ∂θ ∂θ

This equation of motion is exactly the same one we would obtain from a balance of
angular momentum.
It is also interesting to consider conservation of energy for this system. The total
energy is .E = T + U , which is constant. Therefore, the time rate of change of the
total energy must be zero. To wit,

d) ) d )1 3 2 1 )
T +U = ρ̄L θ̇ − 2 ρ̄gL2 cos θ
dt dt 6
) ) ) )
. = 61 ρ̄L3 2θ̇ θ̈ + 12 ρ̄gL2 sin θ θ̇
| |
= 1 3
3 ρ̄L θ̈ + 12 ρ̄gL2 sin θ θ̇ = 0

If we observe, .θ̇ cannot be equal to zero for all t if the system is in motion. Therefore,
the term in square brackets must, itself, be equal to zero. This assertion gives the
equation of motion

.
1 3
3 ρ̄L θ̈ + 21 ρ̄gL2 sin θ = 0

which is identical to the one obtained from Euler–Lagrange equations.

6.3.3 Pendulum with Mass Slider

Consider the pendulum with a spring and mass slider shown in Fig. 6.5. The
pendulum has length L and mass per unit length .ρ̄ and is hinged at point .O. A
mass m slides without friction on the bar and is restrained by a spring of modulus
k and unstretched length .Lo . The spring is attached at the hinge. Time-dependent
variables describing the motion of the pendulum and mass are the angle .θ (t) and
the distance .z(t), as shown in the figure. The distance to the typical particle is s,
measured from the origin .O. The distance to the mass m is .z(t). The standard base
vectors .{e1 , e2 } are shown, along with unit vectors .n(t) and .m(t), which are the
same as those defined in Eq. 6.7.
The position and velocity of the typical particle is the same as the previous
example and is given by Eq. 6.8. The position and velocity of the mass m are

@seismicisolation
@seismicisolation
6.3 Application of Euler–Lagrange Equations 263

Fig. 6.5 Example (a) Simple


pendulum of length L and
uniform mass per unit length
.ρ̄ hinged at .O . The mass m
slides without friction on the
rod and is restrained by a
spring of modulus k with
unstretched length .Lo . (b)
Geometry sketch defining
.z(t) and .θ(t) and position
vector .x(s, t)

xm (t) = z(t)n(t)
.
ẋm (t) = ż(t)n(t) + z(t) θ̇(t)m(t)

The potential and kinetic energy of the bar is the same as the previous example,
Eqs. 6.9 and 6.10. The potential energy of the mass m due to gravity of the system
can be computed as

Um = x m · m g
. = z n · mg e2
= −mg z cos θ

Observe that there is no integration because the mass is treated as a particle. The
kinetic energy of mass m is

Tm = 21 m ẋm · ẋm
) ) ) )
. = 21 m żn + z θ̇m · żn + z θ̇ m
) )
= 12 m ż2 + z2 θ̇ 2

The potential energy of the spring is .Us = 21 kΔ2 , where .Δ = z(t) − Lo is the change
in length of the spring. The total potential energy is the potential energy of the bar
and mass due to gravity plus the potential energy of the spring. Similarly, the total
kinetic energy is the kinetic energy of the bar plus the kinetic energy of the mass.
Thus,
) )2 ) )
U = 12 k z − Lo − 21 ρ̄L2 + mz g cos θ
.
) )
T = 16 ρ̄L3 θ̇ 2 + 21 m ż2 + z2 θ̇ 2

In this case, the generalized coordinates are .q(t) = {z(t), θ (t)}. With the energy
expressions, we can compute the derivatives needed for Euler–Lagrange equations.

@seismicisolation
@seismicisolation
264 6 Euler–Lagrange Equations

Since there are two time-dependent variables, we will have two Euler–Lagrange
equations. The first one is associated with .θ (t). The necessary derivatives are

∂T ) ) ∂T ∂U ) )
. = 13 ρ̄L3 + mz2 θ̇ , = 0, = 21 ρ̄L2 + mz g sin θ
∂ θ̇ ∂θ ∂θ

Substituting these expressions into Euler–Lagrange equations gives

d ( ∂T ( ∂T ∂U
− + =0
. dt ∂ θ̇ ∂θ ∂θ (6.11)
)1 3 ) )1 2 )
3 ρ̄L + mz θ̈ + 2mzżθ̇ + 2 ρ̄L + mz g sin θ = 0
2

The second equation is associated with .z(t). The necessary derivatives are

∂T ∂T ∂U ) )
. = mż, = mzθ̇ 2 , = k z − Lo − mg cos θ
∂ ż ∂z ∂z

Substituting these expressions into Euler–Lagrange equations gives

d ( ∂T ( ∂T ∂U
− + =0
. dt ∂ ż ∂z ∂z (6.12)
) ) ) )
m z̈ − zθ̇ 2 + k z − Lo − mg cos θ = 0

Equations 6.11 and 6.12 constitute the equations of motion of the system.
We can try to apply conservation of energy for this system too. The total energy is
.E = T + U , which is constant. Therefore, the time rate of change of the total energy

must be zero. To wit,

dE ) ) ) )
= 61 ρ̄L3 2θ̇ θ̈ + 12 m 2żz̈ + 2zżθ̇ 2 + 2z2 θ̇ θ̈
. dt
) ) ) ) ) )
+ 21 ρ̄L2 + mz g sin θ θ̇ + mżg cos θ + k z − Lo ż = 0

We can rearrange the terms to group quantities multiplying .θ̇ and quantities
multiplying .ż. Doing so results in

dE |) ) ) ) |
= 31 ρ̄L3 + mz2 θ̈ + 21 ρ̄L2 + mz g sin θ θ̇
dt (6.13)
. | ) )|
+ mz̈ + mg cos θ + k z − Lo ż + mzżθ̇ 2 = 0

What we would like to do is make the argument that since .θ̇ and .ż are independent
and since they cannot be zero all the time, quantities in square brackets must,
themselves, be zero. That would give two equations of motion. However, while most

@seismicisolation
@seismicisolation
6.3 Application of Euler–Lagrange Equations 265

of the terms fall uniquely into one of the two square brackets, one term does not.
The term .mzżθ̇ 2 could be associated with either .θ̇ or .ż. Let us write that term in the
form
| | ) )| |
mzżθ̇ 2 = β mzθ̇ 2 ż + 1−β mzżθ̇ θ̇
. (6.14)

which is clearly true for any value of .β. Now, we can rewrite the equation of
conservation of energy as

dE |) ) ) ) ) ) |
= 13 ρL3 + mz2 θ̈ + 12 ρL2 + mz g sin θ + 1−β mzżθ̇ θ̇
dt
. | ) ) |
+ mz̈ + mg cos θ + k z − Lo + βmzθ̇ 2 ż = 0

Now, make the argument that .θ̇ and .ż are not zero all the time, so the terms they
multiply must be zero. Equations that emanate from this argument are, apparently,
)1 ) ) ) ) )
3 ρL
3
+ mz2 θ̈ + 21 ρL2 + mz g sin θ + 1−β mzżθ̇ = 0
. ) )
mz̈ + mg cos θ + k z − Lo + βmzθ̇ 2 = 0

While these equations are consistent with conservation of energy, they are not
unique because .β can be any value. Comparing these equations with those obtained
from Euler–Lagrange equations, we can see that the value .β = −1 gives the correct
equations. There is no way conservation of energy can tell us that. Hence, the
conservation of energy approach is not adequate to determine equations of motion
for this system.
It is also evident in this example that Euler–Lagrange equations are consistent
with conservation of energy, even though we did not use conservation of energy
to derive them. It is possible to determine when Euler–Lagrange equations are
consistent with conservation of energy, as we will show later in the chapter.
There are certain cases in which conservation of energy will unambiguously
lead to equations of motion of the system. First, when there is only one time-
dependent variable, the ambiguity cannot arise because we do not have the problem
of associating terms with different bins (e.g., the terms in square brackets in
Eq. 6.13). Also, equations are unambiguous for linear systems with multiple degrees
of freedom. For example, consider a system that has kinetic and potential energy in
the form

T = 21 u̇T Mu̇,
. U = 21 uT Ku

where .M and .K are constant square symmetric matrices. Conservation of energy


gives

@seismicisolation
@seismicisolation
266 6 Euler–Lagrange Equations

dE d (1 T (
= 2 u̇ Mu̇ + 21 uT Ku
dt dt
.
= u̇T Mü + u̇T Ku
| |
= u̇T Mü + Ku = 0

Now, we can make the argument that .u̇ is not zero all the time; therefore, the term
in square brackets must be, yielding the unique equations of motion,

Mü(t) + Ku(t) = 0
.

The ambiguity does not appear in this context because the kinetic energy does not
depend upon .u.

Example 6.2 Derive the equations of motion of the double pendulum shown
in Fig. 3.16 using Euler–Lagrange equations. Equations for kinetic energy and
potential energy, given in Eqs. 3.31 and 3.32, are
| ) ) |
T = 21 m2 L22 λ2 1 + 31 μ θ̇12 + λ cos ϕ θ̇1 θ̇2 + 31 θ̇22
.
| ) ) |
U = − 12 m2 L22 λ 2 + μ cos θ1 + cos θ2 γ

where .λ = L1 /L2 , .μ = m1 /m2 , and .γ = g/L2 Also, .ϕ = θ2 − θ1 .


We can ignore the quantity sitting in front of the square brackets in each
term because we will be able to divide it out in Euler–Lagrange equations.
Now, compute the derivatives needed for the first equation of motion:

d ( ∂T ( d ( 2) ) (
= λ 2 + 23 μ θ̇1 + λ cos ϕ θ̇2
dt ∂ θ̇1 dt
) ) ) )
= λ2 2 + 32 μ θ̈1 + λ cos ϕ θ̈2 − λ sin ϕ θ̇2 θ̇2 − θ̇1
.
∂T
= λ sin ϕ θ̇1 θ̇2
∂θ1
∂U ) )
= λγ 2 + μ sin θ1
∂θ1

Plugging these expressions into Euler–Lagrange equation gives


) ) ) )
λ2 2 + 23 μ θ̈1 + λ cos ϕ θ̈2 − λ sin ϕ θ̇22 + λγ 2 + μ sin θ1 = 0
.

(continued)

@seismicisolation
@seismicisolation
6.4 Conservation of Energy 267

Example 6.2 (continued)


Similarly, for the second equation, we can write

d ( ∂T ( d( (
= λ cos ϕ θ̇1 + 23 θ̇2
dt ∂ θ̇2 dt
) )
= λ cos ϕ θ̈1 − λ sin ϕ θ̇1 θ̇2 − θ̇1 + 32 θ̈2
.
∂T
= −λ sin ϕ θ̇1 θ̇2
∂θ2
∂U
= γ sin θ2
∂θ2

Plugging these expressions into Euler–Lagrange equation gives

.λ cos ϕ θ̈1 + 32 θ̈2 + λ sin ϕ θ̇12 + γ sin θ2 = 0

These equations are exactly the same as Eqs. 3.30, which were derived using
balance of momentum.

6.4 Conservation of Energy

Euler–Lagrange equations are based upon minimizing the difference between


kinetic and potential energy. Conservation of energy is based upon the sum of kinetic
and potential energy being constant. We can show that Euler–Lagrange equations
are consistent with the notion of conservation of energy when the kinetic energy
function meets certain criteria. Euler–Lagrange equations can be written in the form
| \
d ∂T ∂T ∂U
. = − (6.15)
dt ∂ q̇ ∂q ∂q

Let us first simply compute the time derivative of the Lagrangian function. From the
definition of .L = T − U , applying the chain rule, we get
| \
d) ) ∂T d q̇ ∂T ∂U dq
. T −U = · + − ·
dt ∂ q̇ dt ∂q ∂q dt

where we have noted that U does not depend upon .q̇. Substituting Eq. 6.15 for the
term in parentheses on the right side, we get

@seismicisolation
@seismicisolation
268 6 Euler–Lagrange Equations

| \ | \
d) ) ∂T d q̇ d ∂T d ∂T
. T −U = · + · q̇ = · q̇
dt ∂ q̇ dt dt ∂ q̇ dt ∂ q̇

Moving all terms to one side, we can see that


| \
d ∂T
. · q̇ − T + U =0
dt ∂ q̇

which is a conservation principle. Specifically, a zero time rate of change of any


quantity means that quantity does not change with time. In other words, it is
conserved. Hence,

∂T
E=
. · q̇ − T + U = Constant (6.16)
∂ q̇

Let us call this quantity the total energy. In certain cases, this quantity corresponds
to the actual total mechanical energy .E = T + U . In fact, they will be equal to each
other if the kinetic energy can be written in the form

T (q, q̇) =
.
1
2 q̇ · A(q)q̇ (6.17)

where .A(q) is a symmetric matrix that depends upon .q. The partial derivative of T
can be computed using the partial derivative version of the directional derivative, if
we note that
∂T d | |
. ·h= T (q, q̇ + εh)
∂ q̇ dε ε=0

Notice that the partial directional derivative varies .q̇ while holding .q constant, which
is the definition of partial derivative. For the kinetic energy in the special form of
Eq. 6.17, we can compute

∂T d |1 ) ) ) )|
·h= q̇ + εh · A(q) q̇ + εh
∂ q̇ dε 2 ε=0
( (
.
= 12 h · A(q)q̇ + q̇ · A(q)h
| |
= A(q)q̇ · h

The first step is product rule for differentiation. The last step is true because
u · Av = v · Au for any two vectors .u and .v, as long as the matrix .A is symmetric.
.

By association, the partial derivative of T with respect to .q̇ for the special form of
kinetic energy is

∂T
. = A(q)q̇
∂ q̇

@seismicisolation
@seismicisolation
6.5 Summary 269

Dotting this result with .q̇ gives

∂T
. · q̇ = q̇ · A(q)q̇
∂ q̇

which is equal to 2T because of Eq. 6.17. It follows from Eq. 6.16 that

∂T
E=
. · q̇ − T + U = T + U = Constant (6.18)
∂ q̇

The sum of kinetic and potential energy is, therefore, conserved.

Example 6.3 Show that the kinetic energy function for the double pendulum
meets the conditions required for conservation of energy.
The kinetic energy function was defined in the previous example. Dividing
out the constant term .m2 L22 , which does not affect the final result, we can
write the kinetic energy as
) 2) ) )
T =
.
1
2 λ 1 + 13 μ θ̇12 + λ cos ϕ θ̇1 θ̇2 + 13 θ̇22

This function can be put into matrix form (also known as a quadratic form) as
| ) ) || |
{ } λ2 1 + 13 μ2 1
2 λ cos ϕ θ̇1
T =
.
1
2 θ̇1 θ̇2 1 1
= 12 θ̇ TA(θ)θ̇
2 λ cos ϕ 3 θ̇2

where
| ) ) | | |
λ2 1 + 13 μ2 1
2 λ cos ϕ θ1
A(θ) =
.
1 1
, θ=
2 λ cos ϕ 3 θ2

The dependence of .A on .θ is through .ϕ = θ2 − θ1 . The result can be verified


by carrying out the matrix multiplication indicated. Since .A(θ ) is symmetric
and depends only on .θ, the kinetic energy meets the criterion for conservation
of energy.

6.5 Summary

The principle of least action says that among all possible motions, the actual
motion minimizes the difference between the kinetic and potential energy. The
action integral .H was defined as the integral over a certain time period of the

@seismicisolation
@seismicisolation
270 6 Euler–Lagrange Equations

Lagrangian function, which is simply the difference between the kinetic energy and
the potential energy. The minimization of the action integral, upon invocation of the
fundamental theorem of the calculus of variations, gave Euler–Lagrange equations.
These equations are exactly equivalent to equations obtained from Newtonian
balance of momentum. Hence, this method provides an alternative to drawing a
free body diagram and setting force equal to mass times acceleration.
The beauty of this approach—like all energy methods—is that constraint forces
do not enter the calculation because those forces do no work. Examples of such
forces are reaction forces, for which the velocity is zero, and normal forces, for
which the velocity is perpendicular to the direction of the force. To calculate those
forces, one must write an equation of balance of momentum.
While the derivation of Euler–Lagrange equations requires knowledge of the
calculus of variations and the directional derivative of a functional, the application
of the result to rigid bodies is as straightforward as the application of conservation
of energy. So, we can use this approach as we have used conservation of energy
for systems with only a single degree of freedom and systems where the kinetic
energy does not depend upon .q (e.g., linear systems). Note that like conservation of
energy, it is possible to extend the ideas to include forces that dissipate energy. That
extension, however, is beyond the scope of this book.

6.6 Problems

6.1 There are two rods of length L and mass per unit length of ρ̄; one is pinned at
A, and the other is pinned at B, a distance L from A. A spring of modulus k and
unstretched length L connects the two rods together. Find the equations of motion
using Euler–Lagrange equations.

L L

6.2 The right-angle bent rod OAB rotates freely about the pin at O. There are two
collars, each with a mass of m that are free to slide along their respective parts of the
rod. The mass of the rod is negligible. The collars are attached to (massless) springs
of modulus k that restrain their motion relative to the attachment points at B and O,
respectively. The springs are unstretched when the collars are at the midpoint of the
rod. Find the equations of motion using Euler–Lagrange equations. Find the static
position. Physical properties are related as kL = 10mg.

@seismicisolation
@seismicisolation
6.6 Problems 271

k k
m m
L
L

6.3 The uniform slender rod of mass per unit length of ρ̄ and length L rolls on a
smooth incline. The rod is free to rotate about the roller at C. Find the equations of
motion using Euler–Lagrange equations.

6.4 A collar C of mass m slides without friction along a semi-circular rod of radius
R that rotates freely about the vertical axis. Assume that the mass of the rod is
negligible. Find the equations of motion using Euler–Lagrange equations. Find the
vertical height h of the collar, relative to O, when the rod is rotating at a constant
angular velocity ω.

e2 Top view
e1

e3 e3
e1 R
e2

Side view End view

6.5 The small collar C of mass m slides with negligible friction on the bar of
length L. The bar is pinned at O and has a mass per unit length that varies linearly
from a value of ρ̄o at the right end to a value of 2ρ̄o at the left end, where ρ̄o is
constant. A vertical spring is attached to the tip of the bar and a horizontal spring
attached to the collar and point O. Both springs have stiffness k. The length of the

@seismicisolation
@seismicisolation
272 6 Euler–Lagrange Equations

vertical spring is adjusted so that the system is in static equilibrium in the horizontal
position. The support assures that the vertical spring always remains vertical. The
horizontal spring is not stretched in the position shown. Neglect the mass of the
spring compared with that of the bar and collar. Use Euler–Lagrange equations
to find the equations of motion for the system. Physical properties are related as
ρ̄o L = m and kL = 10mg.

2
3
L
k k

6.6 A particle of mass m slides without friction on a horizontal bar, restrained by a


spring of modulus k. The particle is hinged to a rigid rod of length L with negligible
mass, which is hinged to a particle of mass 3m at the end. Compute the kinetic and
potential energy of the system. Find the equations of motion for the system using
Euler–Lagrange equations.

k m

L
3m

6.7 Blocks A and B, of mass m and 3m, respectively, are connected by elastic
springs of stiffness k and 2k, as shown. Springs have negligible mass. The system
is constrained to move in the vertical direction. Find the equations of motion using
Euler–Lagrange equations.

3m

2k

6.8 Blocks A and B, of mass m and 3m, respectively, slide without friction on the
perpendicular inclines of angle ϕ, as shown. Masses are connected by an elastic
cable of stiffness 2k that is slung over a frictionless pulley. Block A is also attached

@seismicisolation
@seismicisolation
6.6 Problems 273

to a fixed support with an elastic cable of stiffness k. Find the equations of motion
using Euler–Lagrange equations. Neglect the mass of the cables.

2k
m

k
3m

6.9 The half-circle rigid rod of radius R and center C has a mass per unit length of
ρ̄, rotates about a hinge at point O, and is subjected to a constant moment M acting
at the hinge. A block B of mass m slides without friction along the rod. Find the
equations of motion using Euler–Lagrange equations.

6.10 The thin hoop has a total mass m and radius r. It is supported by the small peg
at O. The friction is adequate to prevent the hoop from slipping on the peg for small
motions. Use Euler–Lagrange equations to establish the equation of motion.

6.11 The thin hoop has a mass per unit length of ρ̄ and radius R and is welded to a
bar of length R and hinged at O. The mass of the straight bar can be neglected. Use
Euler–Lagrange equations to establish the equation of motion.

@seismicisolation
@seismicisolation
274 6 Euler–Lagrange Equations

6.12 A mass m is attached to two springs of modulus k. One spring is attached to


a fixed support and the other to the end of a bar of uniform density ρ̄ and length L
that swings freely from a hinge at O. Springs are unstretched in the position shown.
Find the Euler–Lagrange equations of motion.

L,
k m k

6.13 The double pendulum comprises two bars of length L, each with mass per unit
length ρ̄. The bars are hinged together at B and hinged to a support at O. Hinges
have negligible friction. Find the Euler–Lagrange equations of motion.

1
L

L
2

@seismicisolation
@seismicisolation
Chapter 7
Impact

The collision between bodies and the impact of a body with a stationary surface
are important problems in mechanics. Pounding of buildings during an earthquake,
car collisions, and the contact between a golf ball and club are among the diverse
scenarios that involve impact. All real bodies are deformable, and hence, the impact
between two bodies is a complex process that takes time to resolve. The assumption
in particle mechanics that the body has no spatial dimension and of rigidity in rigid
body mechanics pushes the impact process to be one of infinitesimal duration. In this
chapter, we develop a model based upon the concept of the coefficient of restitution,
which is inspired by the impact process for deformable bodies. Using this model,
we show how conservation of momentum can yield useful information about the
effects of impact, even for particles and rigid bodies. We present a practical strategy
for solving impact problems based upon directly integrating the equations of motion
over the infinitesimal duration of contact. To broaden the range of impact problems
we can solve, we show how to implement impact detection and resolution in a
computational setting based upon numerical integration of the equations of motion.

7.1 Impulse

The impulse of a force is the integral of the force over a specific period of time, as
shown in Fig. 2.6. For a particle, we showed that the impulse is the area under the
force versus time curve, and due to Newton’s second law, it is equal to the change
in momentum (see Eq. 2.9). One of the most common applications of impulse-
momentum concepts is in impact problems. To warm up to that idea, let’s first
take a look at the relationship between position, velocity, and acceleration during
a loading that rises and falls quickly. For rigid bodies, we will go to the limit where
the rise and fall happen instantaneously. Examining a special case where we can

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2025 275
K. D. Hjelmstad, Engineering Dynamics,
https://doi.org/10.1007/978-3-031-56376-8_7
@seismicisolation
@seismicisolation
276 7 Impact

actually integrate acceleration to get velocity and velocity to get position should
help understand what happens in the limit, as the duration of the loading is very
small.
Example of Impulse To help us understand what happens as we pass to the
mathematical limit of rigidity, let us consider a particle acted on by a force .F (t),
for which we can vary the duration of the action while holding the total impulse
of the function constant. In essence, we aim to examine how position, velocity,
and acceleration are affected by the duration of the impulse. Assume that there
are no other forces acting on the particle. Hence, from Newton’s second law, the
acceleration is .a(t) = F (t)/m. In this section, we will examine the special case
where this acceleration function has the explicit form

Δ| | 2π t ||
a(t) =
. 1 − cos (7.1)
ε ε
where .2Δ/ε is the peak value of the acceleration and .ε is the duration of the impulse,
as shown in Fig. 7.1 on the left. The constant .Δ incorporates the magnitude of
the force .F (t) as well as the mass m. The right side of the figure shows how the
acceleration function looks for different values of .ε. For larger values of .ε, the
function is spread out with a smaller peak value, and for smaller values of .ε, it has a
sharper peak with a larger peak value. In the limit, as .ε → 0, the amplitude goes to
infinity as the duration goes to zero. Thus, the function .a(t) itself gets a bit unruly in
the limit. However, certain other features of the problem remain well behaved as we
approach the limit, and therein lies the key to solving rigid body impact problems.
While the function in Eq. 7.1 is a special case, it is representative of a broad class
of functions that start from zero, rise over some time, and eventually fall back to
zero. Since we are looking at the impulse as a function of the duration, the only
aspect that can vary from one case to the next is the shape of the graph between 0
and .ε while assuring that the area under the curve remains the same. We could, for
example, use the function that rises linearly from zero to a peak value and then falls
linearly back to zero. We selected the function in Eq. 7.1 only because it is easy to
deal with mathematically.

0.1
a (t )
0.2

0.3
2
0.4
0.5

1
0 2 t

Fig. 7.1 Acceleration due to an impulse. The figure on the left shows the function .a(t) from
Eq. 7.1. The figure on the right shows this function for different values of .ε

@seismicisolation
@seismicisolation
7.1 Impulse 277

As a first step, let us integrate this function over the duration of the impulse.
Carrying out the integration gives
| |
ε Δ| ε| 2π t ||
a(t) dt = 1 − cos dt
0 0 ε ε
Δ| | 2π t ||ε
.
ε
= t− sin =Δ
ε 2π ε 0

showing that the area under the curve is equal to .Δ for any value of .ε. In other
words, this function reflects the same impulse no matter how it is spread out in time.
This feature is what makes it possible to make headway with impact problems for
rigid bodies. Note that the impulse of the force .F (t) is .mΔ.
The velocity for times during the impulse can be computed as the integral of the
acceleration function .a(t). To wit,
|
Δ| t| 2π τ ||
v(t) = vo + 1 − cos dτ
0 ε ε
(7.2)
Δ| | 2π t ||
.
ε
= vo + t− sin
ε 2π ε
where .vo is the initial velocity. The velocity at the end of the impulse, i.e., at .t = ε,
can be evaluated from this equation to give .v(ε) = vo + Δ. Observe that this value
is not a function of .ε. This result shows that .Δ, which is simply a constant in the
definition of .a(t), is exactly equal to the change in velocity from the beginning to
the end of the impulse, no matter what the duration of the load is.
The position during the impulse can be computed as the integral of the velocity:
|
Δ| ε t | 2π τ ||
x(t) = xo + vo t + τ− sin dτ
0 ε 2π ε
. (7.3)
Δ|1 2 ε2 | | 2π t | ||
= xo + vo t + t + cos − 1
ε 2 4π 2 ε
where .xo is the initial position. The position at the end of the impulse, i.e., at .t = ε,
can be evaluated from this equation to give .x(ε) = xo + (vo + 12 Δ)ε. Observe that

. lim x(ε) = xo (7.4)


ε→0

In other words, in the limit, the impulse happens so fast that the position does not
have time to change. This phenomenon is illustrated in Fig. 7.2. The figure shows the
functions .a(t), .v(t), and .x(t) from Eqs. 7.1–7.3 for values of the impulse duration
of .ε = 0.05, 0.1, 0.2, 0.3, 0.4, and 0.5 with .Δ = 4. Areas under the .a(t) curves are
all equal to .Δ. The initial values are taken as .xo = 0 and .vo = 0.
It is evident that for .ε = 0.5, the rise and fall of the acceleration is very gradual.
During that time, the position goes from 0 to 1, and the velocity changes gradually

@seismicisolation
@seismicisolation
278 7 Impact

Fig. 7.2 Impulse functions of


various duration. The
acceleration .a(t) is computed
from Eq. 7.1 for values of .ε =
0.05, 0.1, 0.2, 0.3, 0.4, and
0.5 with .Δ = 4. Associated
velocities and positions from
Eqs. 7.2 and 7.3, respectively,
are also shown

from 0 to 4. As the duration of the load decreases, the amount by which the position
changes by the end of the impulse gets smaller, but the change in velocity remains
the same. For very short duration impulses, the displacement changes very little,
and the velocity goes quickly from 0 to 4. In the limit, as .ε → 0, the position
does not change at all, and the velocity changes abruptly from 0 to 4. The reason
for considering this example is to see how the response changes as we approach
instantaneous impact. While we used a specific function to make this demonstration,
the same basic results hold for any shape of the impulsive loading function .F (t). The
main conclusions that position does not have time to change and velocity changes
instantaneously are valid independent of the shape of the loading curve. Thus, our
primary aim in the analysis of impact is to evaluate the change in velocity.
As we approach the limit of instantaneous impact, the acceleration .a(t) becomes
a function with infinite magnitude and infinitesimal duration with area under
the curve equal to a finite value. Some authors call this the delta function.1
From a physical point of view, this limit seems problematic. Wouldn’t an infinite

1 The delta function is denoted as .δ(z−zo ) and is defined to be zero everywhere except the
point .zo , where it is infinite. As such, the delta function isn’t actually a function but rather what
mathematicians call a distribution. The delta function cannot be differentiated or integrated in the
normal sense, but through the limiting process, we can start to understand as least one of the basic
rules for this distribution, i.e.,
| ∞
. f (z) δ(z−zo ) dz = f (zo )
−∞

@seismicisolation
@seismicisolation
7.2 Modeling Impact 279

acceleration be the result of a force of infinite magnitude? Wouldn’t any material


fail under a force that intense? Indeed, these questions are relevant but beyond the
reach of rigid body mechanics. When interpreting results for rigid body impact,
we must realize two things. First, the loading process in the real world is not
instantaneous. Therefore, the force has finite magnitude even for impacts that are
very short in duration. Second, impact can result in material failure. In fact, that is
the goal of some impacts (e.g., a pickaxe or wrecking ball). If failure due to impact
is a concern, then rigid body mechanics is not the right modeling tool, and a more
detailed analysis is warranted.
The key observation about the impulse-momentum relationship is that conserva-
tion of momentum always tells us how velocity changes as a result of a force acting
over time. In an impact, the duration of the impulse is infinitesimal, but the value of
the impulse (i.e., area under the curve) is finite. For a very short impulse, the position
does not have time to change. Hence, in impact problems, we use conservation of
momentum to determine only the change in velocity during the infinitesimally brief
period of impact.

7.2 Modeling Impact

To get a better understanding of impact, it is useful to think about the impact as


contact between deformable bodies and then pass to the limit mathematically to get
the result for rigid bodies. Figure 7.3 illustrates the process of impact, which we
can think of as three phases of motion. During phase 1 (.t < 0− ), the bodies are
moving toward each other, but have not yet come into contact. Because there is no
contact, the two bodies do not affect each other. At .t = 0− , the bodies come into
first contact. At that instant, the force of contact is still zero because they have not
yet started to push against each other. During phase 2 (.0− ≤ t ≤ 0+ ), the bodies
are in contact. The deformation phase is the part of phase 2 where the bodies are

Fig. 7.3 Contact force R (t )


during impact. The force Deformation
.R(t) is the magnitude of the
contact force between two Recovery
bodies during impact. Contact
commences at .0− and ends at
+
.0 . Time a represents the
point where the two bodies 0 a 0 t
agree on velocity
phase 1 phase 2 phase 3

for any function .f (z). Note that the limits of integration just need to be wide enough to make sure
that .zo is included.

@seismicisolation
@seismicisolation
280 7 Impact

still moving toward each other, and the recovery phase is the part of phase 2 where
the bodies are moving away from each other. At time .t = a, therefore, the bodies
have come into agreement on their mutual velocity. In phase 3 (.t > 0+ ), the bodies
separate and are no longer in contact.
Notations .0− and .0+ are selected in anticipation of transitioning to the rigid body
limit, where both times converge to a single point in time (i.e., time 0). These two
times are distinct in Fig. 7.3 but represent the before and after states of an abrupt
change. Indeed, the velocity function is discontinuous at that point in time, with
different values on the .0− and .0+ sides. The actual time of impact depends upon
when you start the clock. We use notations .0− and .0+ as a convenient representation
for a more general .tc− and .tc+ for a contact that happens at time .tc .
For a finite-sized deformable body, phase 2 involves a very complex interaction
in which waves propagate around the body. Slow-motion videography reveals the
nature of this complexity (e.g., showing what happens when a soccer ball hits you in
the face or how the interaction between a golf club head and golf ball evolves during
contact). Sometimes, understanding the details of what happens during phase 2 is
important, and that suggests using a model more refined than rigid body mechanics.
However, there are many cases where the main interest is what happens after contact,
and we wish to only characterize the net result of all that complex interaction.
One model that allows us to accomplish that goal makes use of the coefficient of
restitution, which is defined as
| 0+
R(t) dt
Recovery Impulse
.e = |a a = (7.5)
Deformation Impulse
R(t) dt
0−

The largest value, .e = 1, represents perfectly elastic impact with zero energy loss.
The smallest value, .e = 0, represents a fully plastic impact, where there is no
recovery impulse and, hence, no rebound. The bodies generally stick together after
impact in that case. It is not possible to have a value of e greater than one (that would
create energy) or values of e less than zero.
Notice that the coefficient of restitution does not directly concern the energy
contained in the system, but it does affect it. There is energy lost in most contact—
energy that is converted to sound or heat. The simple model provides a mathematical
framework in which to quantify some of the features of the contact interaction. In
applications, the coefficient of restitution usually yields an equation that relates the
approach velocities of the system to the separation velocities.
The parameter e seems like a material parameter, but it really isn’t. The nature
of impact depends upon the materials and surface conditions of both bodies coming
into contact. Hence, you might expect to use a different value of e for steel-on-steel
impact than you would steel-on-concrete impact. Reasonable ranges of values for
different contact scenarios are available in the literature. One should always keep
in mind that the coefficient of restitution is a single-parameter summary of a very
complicated physical phenomenon.

@seismicisolation
@seismicisolation
7.2 Modeling Impact 281

One of the beauties of the coefficient of restitution is that we can still think of
contact through this lens even as we pass to the limit for rigid body impact. As we
approach the rigid limit, the times .0− , a, and .0+ coalesce to a single instant in time,
and the intensity of the force approaches infinity. We can still specify a value of e
to capture the overall nature of contact, even though the two impulse areas in the
definition cannot themselves be calculated.

7.2.1 Impact of Two Particles

To get a better understanding of the mechanics of impact, let us consider the problem
of impact between two particles. The situation is illustrated in Fig. 7.4. The two
particles have different masses, .m1 and .m2 . Just prior to impact, the particles have
velocities .v1− and .v2− , respectively. Figure 7.4b shows the particles during phase 2
with an exploded view to show the free body diagrams of the individual particles
with the equal and opposite contact force .R(t) acting between them. Figure 7.4c
shows the velocities of the particles just after impact are .v1+ and .v2+ . We will assume
that the force .R(t) can be idealized as in Fig. 7.3 and the times .0− and .0+ represent
the beginning and end of the contact period (i.e., phase 2). Time a is the instant
where the two particles agree on their mutual velocity. The given velocities then use
the shorthand notation

.v1− = ẋ1 (0− ), v2− = ẋ2 (0− ), v1+ = ẋ1 (0+ ), v2+ = ẋ2 (0+ )

Note that free body diagrams include only the contact force. Just imagine that
particles are moving on a smooth surface. In that case, Fig. 7.4 is a top view of the
scenario. The particles would also be subjected to gravity forces and the normal
force between the surface and the particle, but we can show that those are equal
and opposite and do not affect the dynamics in the plane of motion. Of course, we
will assume that .v1− > v2− ; otherwise, contact will not happen because the first ball

Re1 Re1

v1 v2 v1 v2

m1 m2 m1 m2

(a) (b) (c)

Fig. 7.4 Colliding balls. Impact between two particles with masses .m1 and .m2 . (a) End of phase
1. The particles are traveling at velocities .v1− and .v2− just before impact. (b) Phase 2, during impact.
Free body diagrams show the contact force .R(t) acting on both particles. (c) Beginning of phase
3. Just after impact the masses have velocities .v1+ and .v2+

@seismicisolation
@seismicisolation
282 7 Impact

cannot catch up with the second one. Negative values of velocities mean that the
motion is in the opposite direction. For example, if .v1− > 0 and .v2− < 0, then the
ball on the left is moving to the right, and the ball on the right is moving to the left.
In other words, they are heading toward each other. If both velocities are positive,
then the ball on the left must be moving faster than the ball on the right in order to
catch up with it.
Assume that particles are moving in a straight line in the .e1 direction and that
the force of contact is along that line. Equations of motion of both particles can be
written as

. − R(t) = m1 ẍ1 (t), R(t) = m2 ẍ2 (t) (7.6)

where .x1 (t) and .x2 (t) are positions of particles (both purely in the .e1 direction). The
two equations can be added together to get the combined equation

m1 ẍ1 (t) + m2 ẍ2 (t) = 0


. (7.7)

which is not a new equation but rather a restatement of the original equations that
algebraically eliminates the contact force. Both forms of equations will be useful in
the subsequent analysis.
Let us first integrate Eq. 7.7 from time .0− to time .0+ . The result is
| 0+( )
m1 ẍ1 (t) + m2 ẍ2 (t) dt = 0
0−
| |0+
.
m1 ẋ1 (t) + m2 ẋ2 (t) − = 0
0
( −) ( )
m1 v1+ − v1 + m2 v2+ − v2− = 0

This result is called conservation of momentum. The momentum (mass times


velocity) of the two particles together before impact is equal to the momentum of
the two particles together after impact. Dividing through by .m2 gives
( ) ( )
β v1+ − v1− + v2+ − v2− = 0
. (7.8)

where .β = m1 /m2 is the ratio of masses. There are two velocities after impact, so
this one equation is not adequate to completely determine both velocities at time
+
.0 .

The second step is to integrate Eqs. 7.6 first from .0− to a and then from a to
+
.0 . To economize the notation, let us define the deformation and recovery impulses,

respectively, as
| a | 0+
R̂def =
. R(t) dt, R̂rec = R(t) dt
0− a

@seismicisolation
@seismicisolation
7.2 Modeling Impact 283

Now, integrating Eqs. 7.6, successively, between the two different limits gives
( ) ( )
−R̂def = m1 v1a − v1− R̂def = m2 v2a − v2−
.
( ) ( )
−R̂rec = m1 v1+ − v1a R̂rec = m2 v2+ − v2a

Noting the definition of the coefficient of restitution in Eq. 7.5, we can take the ratios
of the recovery impulses to the deformation impulses to get

v1+ − v1a v2+ − v2a


e=
. e=
v1a − v1− v2a − v2−

Both of these equations can be solved for the velocities at time a. To wit,

v1+ + ev1− v2+ + ev2−


v1a =
. v2a =
1+e 1+e

By definition, the velocities at time a are the same. Setting these two equations equal
to each other gives the result
( )
v2+ − v1+ + e v2− − v1− = 0
. (7.9)

This equation can be rearranged to show that the coefficient of restitution e


is equal to the velocity of separation divided by the velocity of approach for
this particular problem. This interpretation does not necessarily carry over to
other impact problems (e.g., impact between two rigid bodies), but it is a useful
interpretation of what the coefficient of restitution means in the context of particle
impact problems.
Our goal, of course, is to determine velocities after impact in terms of velocities
before impact. Equations 7.8 and 7.9 can be put into matrix form as
| || | | | | −|
β 1 v1+ β 1 v1
=
v2+ v2−
.
−1 1 e −e

which can be solved to give


| +| | | | −|
v1 1 β −e 1+e v1
+ = ( ) (7.10)
v2−
.
v2 1 + β β 1 + e 1 − βe

This equation allows us to find velocities of two masses after impact in terms of
velocities prior to impact. Notice that the result depends only on the ratio of masses
.β and the coefficient of restitution e, which are both dimensionless quantities.

@seismicisolation
@seismicisolation
284 7 Impact

Example 7.1 A ball of mass m moving to the right at velocity .vo impacts a
ball of mass .3m at rest. What are the velocities of the two balls after impact if
the impact is elastic? Show that energy is conserved.
The ratio of masses is .β = 1/3. Elastic impact implies that .e = 1.
Equation 7.10, for these values of the parameters, gives
| | | || | | 1 |
v1+ 1 − 23 2 vo − 2 vo
. = =
v2+ 1+ 1
3
2
3
2
3 0 1
2 vo

Thus, the mass on the left rebounds to the left with a velocity equal to half its
original value, and the mass on the right begins moving with the same post-
impact velocity as the first mass, but to the right. The fact that the two masses
have the same post-impact speed is coincidental. To prove it, just repeat this
problem with a different ratio of masses.
The kinetic energies (potential energy does not change during impact)
before and after impact are

E − = 21 mvo2
( )2 ( )2
E + = 12 m − 12 vo + 21 (3m) 21 vo
.
= 81 mvo2 + 38 mvo2
= 21 mvo2 = E −

Thus, energy is conserved in this impact. Observe that the larger ball has three
times as much energy as the smaller ball after impact.

This example opens the question of whether or not there is a mass ratio for which
the post-impact energy of the two balls is equal. The following example explores
that question.

Example 7.2 A ball of mass .m1 moving to the right at velocity .vo impacts
a ball of mass .m2 at rest. Find the values of the mass ratio .β = m1 /m2 for
which the post-impact energies of the two balls are equal if the impact is
elastic.
Equation 7.10, in this case, gives
| +| | || | | |
v1 1 β −1 2 vo vo β −1
. = =
v2+ 1+β 2β 1−β 0 1+β 2β

(continued)

@seismicisolation
@seismicisolation
7.2 Modeling Impact 285

Example 7.2 (continued)


The kinetic energies after impact are
| β − 1 |2 m1 2 | 2β |2
.E1+ = 21 m1 vo2 , E2+ = 1
v
1+β 2 β o 1+β

For the post-impact energies to be the same, we must have .E1+ = E2+ . Setting
the values equal to each other and dividing out common terms gives
( )2
.β − 1 = 4β → β 2 − 6β + 1 = 0

Solving this equation with the quadratic formula gives .β = 3 ± 2 2. There
are two roots: .β1 = 0.17157 and .β2 = 5.8284. In the first case, the ball on the
left is much smaller than the one on the right. The second case is the reverse
of that. It is interesting to note that the two .β values are reciprocals of each
other, implying that it does not matter whether the larger or smaller ball is the
one moving prior to impact.

In general, energy is not conserved in impact. Figure 7.5 shows the variation of
the ratio of energy of the system after impact to the energy before impact for the
case where mass 1 has initial velocity .vo and mass 2 is initially at rest.
There are several features of this figure worthy of note. First, the graph confirms
that .e = 1 represents elastic impact, with energy after impact being the same
as energy before impact. The result is independent of the mass ratio .β. Second,
inelastic impact occurs when .e = 0. For this case, the two masses have the same
velocity after impact, which can be confirmed by substituting .e = 0 into Eq. 7.10.
As the mass ratio approaches zero, we see that all the energy is lost in impact. For
small values of .β, the moving mass essentially hits a wall and sticks. The larger

Fig. 7.5 Energy loss in


impact. The ratio of energy
after impact to energy before
impact for different values of
1
the mass ratio .β = m1 /m2 0.8
and coefficient of restitution e 0.6
0.4
for the case where mass 1 has 0.2
initial velocity .vo and mass 2 e=0
is initially at rest

@seismicisolation
@seismicisolation
286 7 Impact

mass (i.e., the wall) is so massive that it does not move—its velocity after impact is
nearly zero. But that is the only case where all the energy is lost. For larger values
of .β, the second mass does gain some momentum after impact, but only when the
second mass is much smaller than the first one does the system conserve most of
its energy. Third, the effect of e for values that are nearly elastic is much greater
than the effect for values that are close to inelastic (i.e., sticking). Specifically, the
difference in the curves with .e = 1 and .e = 0.8 is much greater than the difference
between the curves with .e = 0 and .e = 0.2.
Most of the problems at the end of the chapter consider the case where .e = 0.
This choice is not because inelastic impact is most common but rather because the
math is simpler due to the fact that the post-impact velocities of the two bodies are
equal.

Example 7.3 A ball of mass m moving to the right at velocity .vo impacts a
ball of the same mass at rest. Find the velocities of the two balls after impact
if the impact is elastic.
In this case, .β = 1, and .e = 1. For these values, Eq. 7.10 reduces to
| | | || | | |
v1+ 0 1 vo 0
= =
v2+
.
1 0 0 vo

In this case, the mass on the left comes to a complete stop, and the mass on
the right assumes the full velocity .vo . There is a perfect exchange of energy
from the mass on the left, which had all the energy initially, to the mass on
the right, which has all the energy after impact. It is obvious that energy is
conserved.

The previous example might get you thinking about Newton’s cradle, illustrated
in Fig. 7.6. In Newton’s cradle, a certain number of balls of equal mass are hung
with light wires at the same level so when they hang freely, they are touching (or
nearly touching) each other. When you draw back the leftmost ball and let it go, it
swings down and impacts the second mass. Just prior to impact, the first mass has
gained a certain velocity (call it .vo ). The impact causes the second mass to gain the
velocity .vo , as the previous example shows, but it almost immediately impacts the
third ball, which then gains the velocity .vo . Each time, the impacting mass comes
to an abrupt stop. The process continues and terminates when the penultimate ball
impacts the last one. The last ball is ejected and swings upward to the same level
that the first ball was released from. Then the whole sequence repeats in reverse. If
you look at this process as a sequence of impacts like the previous example, it is
clear why the motion works the way it does. It should also be evident why the balls
all need to have the same mass. A Newton’s cradle with varied masses simply would
not give the same result.

@seismicisolation
@seismicisolation
7.2 Modeling Impact 287

Fig. 7.6 Newton’s cradle.


Newton’s cradle consists of
equal masses hanging as
pendulums adjacent to each
other with very light wires

7.2.2 Conservation of Momentum

To generalize the ideas of particle impact, it is useful to return to the concept of


conservation of momentum. For a particle, momentum is defined as mass times
velocity, i.e.,

P(t) = mẋ(t)
.

Newton’s second law, then, takes the form

dP
F(t) =
.
dt

where .F(t) is the net force acting on the particle. Integrating this equation gives the
impulse–momentum form
| tb
. F(t) dt = P(tb ) − P(ta )
ta

We can specialize this equation to the short time frame .[ 0− , 0+ ] to give


| 0+
. F(t) dt = P(0+ ) − P(0− ) = mẋ(0+ ) − mẋ(0− )
0−

This equation only yields useful results for problems where there are impact forces.
To see why, consider the case where forces contributing to the net force .F(t) are all
smoothly varying, with the worst case being a finite jump in value at a certain time.
The mean value theorem of calculus says that for a piecewise continuous function
.g(t), there is a value .ḡ that satisfies

| |
b b ( )
. g(t) dt = ḡ dt = b − a ḡ (7.11)
a a

where .min(g) ≤ ḡ ≤ max(g) in the interval. We usually refer to .ḡ as the average
value. Thus, the impulse of a non-impulsive force is the average value of force
between the two times multiplied by the duration. If we consider the infinitesimal
time frame .[ 0− , 0+ ], the duration is zero. Hence, the impulse is zero, and the

@seismicisolation
@seismicisolation
288 7 Impact

momentum does not change. For this case, we learn nothing from the impulse–
momentum equations.
Impact forces are a different story. Consider now that at least one of the forces
contributing to .F(t) is an impact force. Further, let us assume that we know the value
of the impulse of that force, i.e.,
| 0+
. F(t) dt = F̂
0−

Now, applying the impulse–momentum relationship gives

F̂ = mẋ(0+ ) − mẋ(0− )
.

If we know the velocity of the particle before impact, i.e., we know .ẋ(0− ), then we
can compute the velocity after impact from this equation. As we saw in the example
of two particles impacting each other, the impulsive force .R(t) was present during
the time of contact. The reason that the mean value theorem does not apply in this
case is because there is no average value for a function with infinite magnitude.
Hence, the impulse does not go to zero.
The upshot of the preceding discussion is that we will always be able to break
the net force into impulsive and non-impulsive contributions

F(t) = Fimp (t) + Fnon (t)


.

When we integrate from .0− to .0+ , we get


| 0+ | 0+| |
. F(t) dt = Fimp (t) + Fnon (t) dt = F̂imp
0− 0−

In other words, only the impulsive forces contribute to the impulse of the net force.
The others integrate to zero due to the infinitesimal time frame.
Rigid Body Impact Impact involving a rigid body requires the consideration of
both conservation of linear momentum and conservation of angular momentum. For
a rigid body in planar motion, we found that linear and angular momentum are
given, respectively, by
( )
P(t) = m ẋC + θ̇ Ωc ,
. L(t) = Ωc · mẋC + JC θ̇ (7.12)

where m is the mass, .c is the vector from the reference point for translation .C to the
center of mass, .JC is the mass moment of inertia relative to .C, .ẋC is the velocity of
point .C, and .θ̇ is the angular velocity of the body. The tensor .Ω is defined in Eq. 4.5
and rotates the vector .c by an angle .θ (t) + π/2. Conservation of linear momentum
gives

@seismicisolation
@seismicisolation
7.2 Modeling Impact 289

| 0+
. F(t) dt = P(0+ ) − P(0− )
0−

as it was for a particle, with the suitable change in the definition of the linear
momentum .P(t).
Balance of angular momentum is slightly different. Recall from Eq. 4.18 that
balance of angular momentum had the form

dL ( )
MC (t) =
. + θ̇ Λ(t)c · mẋC (t)
dt

where .MC is the net moment relative to point .C. The tensor .Λ(t) rotates .c by the
angle .θ (t). Integrating this equation from .0− to .0+ gives
| 0+ | 0+( )
. MC (t) dt = L(0+ ) − L(0− ) + θ̇ (t)Λ(t)s · ẋC (t) dt
0− 0−

Notice that the integrand in the last term involves only first derivatives of the motion
variables. While these functions (i.e., .θ̇ and .ẋC ) may jump due to the impact, they
remain finite and hence are amenable to the mean value theorem. Specifically,
| 0+( ) | |( )
. θ̇ (t)Λ(t)s · ẋC (t) dt = θ̇ (0)Λ(0)c · mẋC (0) 0+ − 0− = 0
0−

because .0+ −0− = 0. Thus, conservation of angular momentum in an impact reduces


to
| 0+
. MC (t) dt = L(0+ ) − L(0− )
0−

where the angular momentum is as defined in Eq. 7.12. The net moment will also
have contributions from impulsive and non-impulsive forces. These results extend
perfectly to the case of motion in three dimensions, with suitable adjustments to
definitions of linear and angular momentum. The integration over the very brief
time frame is key to eliminating the non-impulsive forces and the additional term in
the balance of angular momentum.

7.2.3 A Practical Approach to Impact Problems

There is another way to look at applying conservation of momentum. Let us assume


that we have found our equations of motion for phase 2 using any of the strategies
developed in the book. These equations either include impulsive forces directly or
their effects if, for example, the contact force has been algebraically eliminated, as

@seismicisolation
@seismicisolation
290 7 Impact

it was in our example on the collision of two particles. To clarify the ideas, consider
a problem with a single time-dependent variable .θ (t). Let us write the equation of
motion in the form

G(θ, θ̇ , θ̈ ) = 0
.

In other words, we have moved all terms in the equation of motion to the left side.
We can simply write the equation of conservation of momentum as
| 0+
. G(θ, θ̇ , θ̈ ) dt = 0
0−

This approach is consistent with conservation of linear and angular momentum but
is specialized for the case where the time integral is over the very brief period of
contact. The advantage of this approach is that there is no need to remember the
definition of linear of angular momentum. All of the information is implicit in the
equation of motion.
Now, any term with .θ̈ (t) will integrate to .θ̇ (t). The slowly varying terms will
integrate to zero. Sometimes, there will be functions of the time-dependent variable
multiplying the second derivative terms. In those cases, we can appeal to a second
version of the mean value theorem, which says that if .f (t) is a continuous function,
then
| b | b
. f (t)g(t) dt = f (c) g(t) dt (7.13)
a a

where c is some point in the interval between a and b. Applying this theorem to
dynamic equations of motion, we might have a case like
| 0+ | 0+
f (θ (t)) θ̈(t) dt = f (θ (0)) θ̈ (t) dt
. 0− 0−
| |
= f (θ (0)) θ̇ (0+ ) − θ̇ (0− )

Terms involving the motion variable .θ (t) itself can be considered constant and equal
to their values at 0 since the interval in this case is infinitesimally small and centered
at zero. The following example illustrates the integration of an equation of motion
over the brief time period of impact.

Example 7.4 Consider a problem for which the equation of motion during
impact has the form
( )
a θ̈ (t) + b sin θ (t) + c v(θ (t)) · ge2 + ẍm (t) = 0
.

(continued)

@seismicisolation
@seismicisolation
7.2 Modeling Impact 291

Example 7.4 (continued)


where g, a, b, and c are constant. The time-dependent variables are .θ (t) and
.xm (t). The function
( ) ( )
v(θ (t)) = sin θ (t) + cos θ (t) e1 + sin θ (t) − cos θ (t) e2
.

is a function of time because it is a function of .θ (t). Integrate the equation of


motion over the infinitesimal time period .[ 0− , 0+ ].
The goal is to evaluate
| |
0+ ( )|
. a θ̈ (t) + b sin θ (t) + c v(t) · ge2 + ẍm (t) dt = 0
0−

First, let us consider the terms that integrate to zero. The second term
integrates as
| 0+ | 0+ ( )
. b sin θ (t) dt = b sin θ (0) dt = b sin θ (0) 0+ − 0− = 0
0− 0−

because .sin θ (t) is a continuous function and the mean value theorem,
Eq. 7.13, applies. We do not yet know the function .θ (t), but the term vanishes
because the time period is so brief. Similarly, the first part of the third term
integrates as
| 0+ | |( )
. c v(θ (t)) · ge2 dt = c v(θ (0)) · ge2 0+ − 0− = 0
0−

for the same reason.


Now, consider the terms with second derivatives. The first term is straight-
forward:
| 0+ | |
. a θ̈ (t) dt = a θ̇(0+ ) − θ̇(0− )
0−

Here we are integrating an exact differential. The function .θ̈ (t) integrates to
.θ̇(t), which is then evaluated between the limits of integration. The last term
integrates as
| 0+ | 0+
c v(t) · ẍm (t) dt = c v(0) · ẍm (t) dt
. 0− 0−
| |
= c v(0) · ẋm (0+ ) − ẋm (0− )
(continued)

@seismicisolation
@seismicisolation
292 7 Impact

Example 7.4 (continued)


The vector function .v(t) is continuous because .θ (t) is continuous. Therefore,
Eq. 7.13 applies. The remaining integral of .ẍm (t) is then treated the same way
as the .θ̈ (t) term was. Putting all these together, we get the final result
| | | |
a θ̇ (0+ ) − θ̇ (0− ) + c v(0) · ẋm (0+ ) − ẋm (0− ) = 0
.

which is an equation relating the time-dependent variables before impact to


their values after impact.

Many of the terms that appear in the equations of motion drop out or simplify
with this approach to solving impact problems. In rigid body problems, we generally
integrate over the spatial domain as a mathematical step on the way to getting the
equations of motion. Integration over time is done after that, on the completed
equations of motion. However, the terms that will integrate to zero do not need
to be evaluated, and if they involve integration over the domain (e.g., self-weight),
then those domain integrals can be avoided.
The nature of an impulse is an action that gives rise to accelerations that are
infinitely high over an infinitesimally short duration. The integral of acceleration
over a time containing that burst must be finite. If the integral over the acceleration
is finite, then the most extreme result for velocity is a sudden jump. And if the
velocity takes a sudden jump, then the position can do no worse than show a kink
in the curve (i.e., it is continuous). Of course, the essence of impulse/momentum
problems is that we are trying to find that jump in velocities to get a “before-and-
after” picture in a phase 1/phase 2/phase 3 type of problem. The impact happens
during phase 2, and we need to know how the velocities at the end of phase 1 are
related to the velocities at the start of phase 3.

7.2.4 Example: Ball Impacting Pendulum

To explore impact involving a rigid body, let us consider the example shown in
Fig. 7.7a. A ball of mass m impacts a slender rod of length L and mass per unit
length .ρ̄ at a distance .ro from the pin support. At the time of impact, the bar is at
an angle .ϕo , the angular velocity of the rod is .ωo , and the velocity of the ball is .vo
in the direction of the unit vector .p, which makes an angle .αo with the horizontal.
Upon impact, the ball sticks to the rod (i.e., .e = 0). Our task is to find the angular
velocity of the system after impact.
The geometry of motion is shown in Fig. 7.7b. The origin is taken at the pin, and
the time-dependent variables are .θ (t), which measures the rotation of the bar from

@seismicisolation
@seismicisolation
7.2 Modeling Impact 293

Q
e2
s e1 s ro
ro xo (t )
o
x( s, t )
g ds e 2

o (t ) R
vo p m(t ) R
n(t )
(a) (b) mge2 (c)

Fig. 7.7 Ball impacting rod. (a) A ball of mass m impacts a slender rod of length L and mass per
unit length .ρ̄ at a distance .ro from the pin support. The ball has velocity .vo in the direction of unit
vector .p, and the rod has angular velocity .ωo at the time of impact. (b) Geometry sketch. (c) Free
body diagrams

vertical, and .xo (t), which measures the position of the ball. We identify a typical
particle in the bar at a distance s from the pin and define orthogonal unit vectors

n(t) = sin θ (t)e1 − cos θ (t)e2


. (7.14)
m(t) = cos θ (t)e1 + sin θ (t)e2

Taking the time derivatives of these vectors shows that .ṅ = θ̇ m and .ṁ = −θ̇n. The
position, velocity, and acceleration of the typical particle are

x(s, t) = sn(t)
. ẋ(s, t) = s θ̇ (t)m(t) (7.15)
( )
ẍ(s, t) = s θ̈ (t)m(t) − θ̇ 2 (t)n(t)

The position of the ball must be defined piecewise because the motion is
constrained to move with the rod after impact. Hence, the position and velocity
of the ball can be written as
| |
xo (t) t ≤ 0− ẋo (t) t ≤ 0−
.xB (t) = ẋ (t) =
t ≥ 0+ t ≥ 0+
B
ro n(t) ro θ̇ (t)m(t)

The free body diagrams of the ball and rod are shown in Fig. 7.7c. Balance of linear
momentum of the ball gives

R(t) + mg e2 + m ẍB (t) = 0


. (7.16)

We will execute conservation of momentum by integrating this equation over the


brief time from .0− to .0+ . To wit,

@seismicisolation
@seismicisolation
294 7 Impact

| 0+ | |
. R(t) + mge2 + m ẍB (t) dt = 0 (7.17)
0−

The second term on the left side of this equation integrates to zero because the
integrand is constant and the difference between the upper limit of integration and
the lower limit is vanishingly small. Let us denote the impulse of the contact force
as
| 0+
R̂ =
. R(t) dt (7.18)
0−

Carrying out the integrals and substituting the expressions for velocity before and
after impact, and noting that .ẋB (0− ) = vo p, gives
| |
R̂ = −m ẋB (0+ ) − ẋB (0− )
. | | (7.19)
= −m ro θ̇ (0+ )m(0) − vo p

where we have noted that .m(0+ ) = m(0) since the angle .θ does not have time to
change during the impact.
Now, let us consider the response of the bar. Balance of angular momentum of
the bar, taking the point .O as the reference, gives
| |
L ( ) L ( )
ro n × R +
. sn × −ρ̄g e2 ds = sn × ρ̄s θ̈ m − θ̇ 2 n ds
0 0

The first term is the moment caused by the impact force. The second term is the
moment caused by the weight of the typical particle (and the integral sums up the
contributions of all the particles). The right side is the moment of the mass times
acceleration of the typical particle, summed over all particles. Evaluating the spatial
integrals, noting that .n × e2 = sin θ e3 , and dotting the equation with .e3 , gives
( )
.ro n × R · e3 − 12 ρ̄gL2 sin θ = 13 ρ̄L3 θ̈

( that .e3) × n = m,
The fact ( along
) with the cyclic nature of the triple scalar product,
gives . ro n × R · e3 = ro m · R . Thus, we can write balance of angular momentum
of the rod as
( )
.
1 3
3 ρ̄L θ̈ + 12 ρ̄gL2 sin θ − ro m · R = 0 (7.20)

Recall that .m · R is the projection of .R on .m. Therefore, the physical meaning


of the last term is that the only part of .R that causes moment is the component
perpendicular to the bar. The perpendicular distance associated with the moment
arm is .ro .

@seismicisolation
@seismicisolation
7.2 Modeling Impact 295

Now, let us integrate Eq. 7.20 from .0− to .0+ . To wit,


| |
0+ ( )|
.
1 3
3 ρ̄L θ̈ + 12 ρ̄gL2 sin θ − ro m · R dt = 0
0−

Again, the second term on the left side of the equation integrates to zero because the
integrand is a smooth, slowly varying, function of time. The third term integrates to
.ro m(0) · R̂ because .m is a function of .θ , which is varying slowly in time relative to

the accelerations and impulsive force. The antiderivative of .θ̈ (t) is .θ̇ (t), which can
be evaluated between the limits .0− and .0+ . The angular velocity before impact is

.θ̇ (0 ) = ωo . Substituting the expression for the impulse of the contact force from

Eq. 7.19 gives


| | | |
.
1
3 ρ̄L
3
θ̇ (0+ ) − ωo + ro m ro θ̇ (0+ ) − vo p · m(0) = 0

The dot product between unit vectors .p and .m(0) is simply the cosine of the angle
between the two vectors, which is .ϕo − αo , as illustrated in Fig. 7.8. We can solve
for the angular velocity after impact as

1 | vo |
θ̇ (0+ ) =
. ωo + β cos(ϕo − αo )
1+β ro

where .β = 3mro2 /ρ̄L3 is the ratio of the mass moment of inertia of the ball to the
mass moment of inertia of the rod relative to .O.
It is worth noting some special cases. If the mass of the ball is negligible
compared with the mass of the rod, then .β = 0, and the angular velocity after impact
is the same as the angular velocity before impact (i.e., .ωo ). In this case, the small
mass has no effect on the large bar, no matter how fast it goes. If the velocity of the
ball is zero, then the angular velocity after impact equals the angular velocity before
impact divided by .1 + β. The bar slows down because at the instant of impact, it

m(0)
o
o p o
o

o
vo p n(0)
m(0) o

n(0)

Fig. 7.8 Angle between the direction of ball and the axis of the bar at impact. The angle between
vectors .p and .m at impact is .ϕo − αo

@seismicisolation
@seismicisolation
296 7 Impact

simply gains the mass of the ball. That would be equivalent to a swinging bar hitting
a stationary ball. If the ball is also very massive compared with the rod (i.e., .β ⟫ 1),
then the impact with the stationary ball would bring the bar to rest. If the velocity
of the ball is not zero, then it is evident that the greatest change in angular velocity
occurs when .cos(ϕo − αo ) = 1 or .ϕo = αo —in other words, when the ball impacts
the bar at a 90.◦ angle.

7.2.5 Example: Sliding Block Hits an Obstacle

Consider the example shown in Fig. 7.9. A block of dimensions a by b with mass per
unit area of .ρ̂ is sliding with a velocity of magnitude .vo in the horizontal direction
when it encounters an obstacle. The block hits and sticks to the obstacle at point .B,
causing the block to rotate. Find the angular velocity of the block after impact and
the energy lost in impact.
The motion of the block is characterized by the time-dependent variables .θ (t)
and .z(t), as shown in Fig. 7.10a, which also shows that the typical particle .A is
located at distances s and r from the lower-right corner along the .n and .m directions,
respectively. Thus, the position vector of the typical particle can be expressed as

.x(s, r, t) = z(t)e1 + sn(t) + rm(t)

as shown in Fig. 7.10b. The unit vectors along the sides of the block can be expressed
in terms of .θ (t) as

n(t) = − cos θ (t)e1 + sin θ (t)e2 ,


. m(t) = sin θ (t)e1 + cos θ (t)e2

It is straightforward to show that .ṅ = θ̇ m and .ṁ = −θ̇ n. The velocity and
acceleration of .A are obtained by differentiating the position vector. To wit,
( )
ẋ(s, r, t) = ż(t)e1 + sm(t) − rn(t) θ̇ (t)
. ( ) ( )
ẍ(s, r, t) = z̈(t)e1 + sm(t) − rn(t) θ̈ (t) − sn(t) + rm(t) θ̇ 2 (t)

The free body diagram of the block is shown in Fig. 7.10c. The reaction force .R
is impulsive due to the impact. If we balance angular momentum at point .B, then

Fig. 7.9 Sliding block hits an vo


obstacle. A block of
dimension a by b moving at
speed .vo hits an obstacle at b
point .B

@seismicisolation
@seismicisolation
7.2 Modeling Impact 297

(a) (b) (c)

e2 r s
e1 rm ˆ g e 2 dA
x
n m sn
(t )
z e1
z (t ) R

Fig. 7.10 Sliding block example. Sliding block hits obstacle. (a) Geometry, (b) position vector for
typical particle .A, and (c) free body diagram

we can find the angular velocity after impact. To economize the notation, let .r =
sn + rm and .s = sm − rn. With this notation, we can write the acceleration of the
typical particle .A as .ẍ = z̈ e1 +s θ̈ −r θ̇ 2 . Now, balance of angular momentum takes
the form
| b| | b|
a ( ) a ( )
. r × −ρ̂ge2 ds dr = r × ρ̂ z̈ e1 + s θ̈ − r θ̇ 2 ds dr
0 0 0 0

First, compute the left side as


| b| a ( )
LH S = r × −ρ̂ge2 ds dr
0 0
| b| a ( )
.
= −ρ̂g sn + rm × e2 ds dr
0 0
( )
= 12 ρ̂g a 2 b cos θ − ab2 sin θ e3

where we have noted that .n × e2 = − cos θ e3 and .m × e2 = sin θ e3 . Next, compute


the right-hand side as
| b| a ( )
RH S = r × ρ̂ z̈ e1 + s θ̈ − r θ̇ 2 ds dr
0 0
| b| a( ) | ( ) |
= ρ̂ sn + rm × z̈e1 + sm − rn θ̈ ds dr
. 0 0
| b| a( | b|
) a( )
= −ρ̂ z̈ e3 s sin θ + r cos θ ds dr − ρ̂ θ̈ e3 s 2 + r 2 ds dr
0 0 0 0
( ) ( )
= − 12 ρ̂ a 2 b sin θ + ab2 cos θ z̈ e3 − 31 ρ̂ a 3 b + ab3 θ̈ e3

where we have noted that .r × r = 0, along with the following relationships, which
are based upon the definitions of .n and .m:

@seismicisolation
@seismicisolation
298 7 Impact

.n × e1 = − sin θ e3 , m × e1 = − cos θ e3 , n × m = −e3 , m × n = e3


( )
and that .r × s = − s 2 + r 2 e3 . Setting the left-hand side equal to the right-hand
side, dividing through by . 12 ρ̂ab, and dotting with .e3 gives the equation of motion
( ) ( ) ( )
g a cos θ − b sin θ = − a sin θ + b cos θ z̈ − 23 a 2 + b2 θ̈
.

We can integrate this equation between the times .0− and .0+ , noting that all terms
on the left side of the equation are smoothly varying and, therefore, integrate to zero
over that infinitesimally short time. We also know the initial conditions .θ (0) = 0,
− −
.ż(0 ) = vo , and, since the block is not rotating prior to impact, .θ̇ (0 ) = 0. The
+
block sticks to the obstacle, so .ż(0 ) = 0. Thus,
| 0+ | 0+
( )
0 = −b z̈ dt − 2
3 a +b
2 2
θ̈ dt
0− 0−
| | ( )| |
= −b ż(0+ ) − ż(0− ) − 23 a 2 + b2 θ̇ (0+ ) − θ̇ (0− )
.
| | ( )| |
= −b 0 − vo − 23 a 2 + b2 θ̇ (0+ ) − 0
( 2 )
= b vo − 2
3 a + b2 θ̇ (0+ )

Therefore, the angular velocity after impact is

b vo
θ̇ (0+ ) =
.
3
2 a2 + b2

This value can be used as the initial condition for phase 3 of the motion where the
block rotates about the point .B. One might ask, for example, how fast must the block
travel to rotate all the way around after impact.
We can compute the energy lost in impact. The potential energy does not change
during impact, so all we need to do is evaluate the kinetic energy. To wit,
| b| a ( )
T = 1
2 ρ̂ ẋ · ẋ ds dr
0 0
| b| |
a ( ) )| | ( ) )|
= 12 ρ̂ że1 + sm − rn θ̇ · że1 + sm − rn θ̇ ds dr
0 0
| b| |
. a ( ) ( ) |
= 12 ρ̂ ż2 + 2 s sin θ + r cos θ żθ̇ + s 2 + r 2 θ̇ 2 ds dr
0 0
| ( ) ( ) |
= abż2 + a 2 b sin θ + ab2 cos θ żθ̇ + 13 a 3 b + ab3 θ̇ 2
1
2 ρ̂
| ( ) ( ) |
= 12 m ż2 + a sin θ + b cos θ żθ̇ + 13 a 2 + b2 θ̇ 2

@seismicisolation
@seismicisolation
7.3 Computation: Particle Impacting a Surface 299

where .n · e1 = − cos θ, .m · e1 = sin θ, and .m = ρ̂ab is the total mass of the block.
Before impact, .θ̇ = 0 and .ż = vo . After impact, .ż = 0 and .θ̇ = θ̇ (0+ ). Hence, the
energy before impact is .E(0− ) = 12 mvo2 , and the energy after impact is

( )| b vo |2 ( )| b 2 |
E(0+ ) = 16 m a 2 + b2 32
. = 3 1
mv 2
o
a 2 + b2 4 2 a 2 + b2

The fraction of energy lost relative to the energy before impact is

E(0− ) − E(0+ ) | b2 | 4 + β2
n=
. = 1 − 3
=
E(0− ) 4 a 2 + b2 4 + 4β 2

where .β = b/a is the ratio of the height of the block to its width. For small values
of .β, nearly all of the energy is lost, because as .β → 0, .n → 1. In such a case, the
block reduces to a stick with no height. When the stick hits the obstacle, it comes to
a complete stop and does not rotate because there is no mass above the level of the
obstacle to drive the rotation. In the limit for tall and narrow blocks, i.e., as .β → ∞,
.n → 0.25, and about a quarter of the energy is lost.

Rigid bodies possess the capacity to convert linear momentum to angular


momentum. These examples have shown how conservation of momentum in impact
can be done by integrating the equation of motion over the infinitesimal time period
− +
.[ 0 , 0 ].

7.3 Computation: Particle Impacting a Surface

In this section, we develop a computational algorithm for solving the problem of a


ball bouncing off a curved surface. A particle in projectile motion will, from time
to time, encounter the surface. The algorithm will detect contact, interpolate to find
the exact time of contact, and resolve the impact using the coefficient of restitution
as a model of impact.
The key to the algorithm lies in the definition of the surface, an example of which
is shown in Fig. 7.11. Consider a function .g(x, y) that has the properties that points

Fig. 7.11 Definition of y


surface. The function .g(x, y) g ( x, y ) 0
defines the surface and what n
it means to be on either side
of the surface g ( x, y ) 0

x
g ( x, y ) 0

@seismicisolation
@seismicisolation
300 7 Impact

(x, y) that satisfy the equation .g(x, y) = 0 lie on the surface, points with .g(x, y) >
.

0 are in the region above the surface, and points with .g(x, y) < 0 are in the region
below the surface. We will adopt the convention that points above the surface are
admissible (i.e., they are places that the ball can be) and points below the surface
are not (i.e., they represent places that the ball cannot get to). In the sequel, we will
often use the notation .g(x) as an abbreviation for .g(x, y), implying that .x = (x, y)
are the components of the position vector.
At each point on the surface, there is a unit normal vector .n pointing into
the admissible region and away from the inadmissible region. This vector can be
computed from the function .g(x, y) as

∇g ∂g ∂g
n=
. , ∇g = e1 + e2
||∇g|| ∂x ∂y

where .{e1 , e2 } are the standard base vectors.

Example 7.5 Compute the normal vector for the function .g(x, y) = y − x 2 ,
which defines a parabolic region.
First, note that the surface .g(x, y) = 0 implies the equation .y = x 2 , which
is the equation of a parabola. The gradient of g is
| |
−2x
.∇g = (−2x)e1 + (1)e2 =
1

The length of the gradient is the square root of the dot product of the vector
with itself. Thus, the unit normal vector is
| |
∇g 1 −2x
.n = =√
||∇g|| 1 + 4x 2 1

For positive values of x, the unit normal vector has a negative .e1 component
and a positive .e2 component. Therefore, it points into the region above the
parabola.

7.3.1 Equations of Motion

We divide all impact problems into three phases: phase 1 (prior to impact), phase
2 (during impact), and phase 3 (after impact). In phases 1 and 3, the ball is in
projectile motion, subject only to the force of its own weight (and possibly fluid
drag forces, if those are included in the formulation). During contact (phase 2),

@seismicisolation
@seismicisolation
7.3 Computation: Particle Impacting a Surface 301

Fig. 7.12 Free body n


diagram. During phase 2, the
free body diagram includes
the contact force of the
surface acting on the ball
Rn
mg e 2

the free body diagram is as shown in Fig. 7.12. We will assume smooth contact
(i.e., no friction). Hence, the force of the surface acting on the particle is normal
to the surface and has unknown magnitude .R(t). In reality, a contact friction force
would induce the ball to spin. However, when idealized as a particle, the ball has
no rotational inertia and hence spins without resistance. Thus, the assumption of
smooth contact is appropriate.
Balance of linear momentum during phase 2 gives

. − mg e2 + R(t) n = mẍ(t)

We can project out the part of this equation that is not in the normal direction using
the projection tensor .P = I − n ⊗ n. This tensor will eliminate the component in the
.n direction of any vector. To see why, let’s apply it to the vector .n itself. To wit,

| |
Pn = I − n⊗n n
( )
. =n− n·n n
=n−n=0

If we multiply both sides of the equation of motion during phase 2 by the projection
tensor, we get

. − mg Pe2 = mPẍ(t)

If we integrate this equation from .0− to .0+ , we get


| 0+ | 0+
−mg Pe2 dt = mPẍ(t) dt
. 0− 0−
| |
0 = mP ẋ(0+ ) − ẋ(0− )

The left side of the equation integrates to zero because the integrand is constant and
the duration of integration is infinitesimal (i.e., .0+ − 0− → 0). A finite force acting
over an infinitesimal time causes no impulse. On the right side of the equation, we
get the projected difference between the momentum after impact and the momentum
before impact. This is an equation of conservation of momentum, but it only applies
in the direction perpendicular to the normal direction. What this equation implies
is that the velocity in the plane tangent to the surface is not changed by the impact.

@seismicisolation
@seismicisolation
302 7 Impact

What we do not know is how the velocity will change in the direction normal to that
plane. Because we do not know the exact nature of the impact force .R(t) (i.e., how it
varies with time during the very brief impact), we will need to make an assumption
about the impact in the normal direction.
If we dot the equation of motion during phase 2 with .n, then we get

. − mg e2 · n + R(t) = mẍ(t) · n

We can integrate this equation between the limits .0− and a, which is the deformation
part, and between the limits a and .0+ , which is the recovery part. First, define the
impulses of deformation and recovery, respectively, as
| a | 0+
.R̂def = R(t) dt, R̂rec = R(t) dt
0− a

Now, integrating the equation of motion between both limits, noting that the first
term on the left side integrates to zero in both cases because it is slowly varying and
denoting the normal component of the velocity as .v(t) = ẋ(t) · n, we get
| | | |
R̂def = m v(a) − v(0− ) ,
. R̂rec = m v(0+ ) − v(a)

The definition of the coefficient of restitution e is the ratio of the impulse of recovery
to the impulse of deformation. Also, the time a is when the two colliding bodies
agree on the velocity. Since the surface is not moving, that agreement must be
.v(a) = 0. Therefore, we can write

R̂rec v(0+ ) − 0 v(0+ )


e=
. = = −
R̂def 0 − v(0− ) v(0− )

which implies that .v(0+ ) = −e v(0− ). In words, the normal component of velocity
after impact is the opposite of the normal component of velocity before impact
multiplied by the coefficient of restitution.
Model of Impact The rebound of the particle bouncing off the surface is shown
schematically in Fig. 7.13. Let us call the velocity just prior to impact .ẋ(0− ) = v−
and the velocity just after impact .ẋ(0+ ) = v+ . We know the velocity before impact,

.v , completely. What we want to find is the velocity after impact. We know we must

Fig. 7.13 Resolution of v


contact. The velocity of the
particle just prior to impact is v

.v , and the velocity just after
impact is .v+ n

@seismicisolation
@seismicisolation
7.3 Computation: Particle Impacting a Surface 303

leave the in-plane part the same, and the normal part is modeled with the coefficient
of restitution. Thus, we can write the new velocity as

.v+ = v n + Pv−

where v is the normal component of the rebound velocity given by


( )
v = −e n · v−
.

because .n · v− = v(0− ) is the normal component of velocity before impact. Note


that, by construction, we have guaranteed .Pv+ = Pv− , so no matter what value v
takes on, we will still conserve momentum in the plane tangent to the surface at the
point of contact. The quantity e is the coefficient of restitution. The value of e must
be between 0 and 1, the former being completely plastic impact (no normal rebound
velocity component) and the latter being elastic impact (the energy is unchanged by
the impact). This model is a good qualitative approach to impact problems, with one
of the main values being the ability to capture and quantify energy loss in impact.
Energy Loss in Impact We can compute the energy lost during impact as the
difference between the energy before impact and the energy after impact, which
are
( ) (( )2 )
E − = 12 m v− · v− = 12 m n · v− + Pv− · Pv−
.
( ) ( ( )2 )
E + = 12 m v+ · v+ = 12 m e2 n · v− + Pv− · Pv−

The difference in energy before and after impact is the energy lost in impact. To wit,
( )( )2
Eloss = E − − E + = 12 m 1 − e2 n · v−
.

It is evident from this equation that .e = 1 is elastic impact because the energy does
not change, no matter what the approach velocity is. However, the value .e = 0
does not imply that all the energy of the particle is lost because the velocity in
the tangent plane is preserved, as is the energy associated with it. The direction of
impact influences energy loss. If the direction of the velocity aligns with the normal
direction, then all the energy is lost in impact if .e = 0. If the direction of the velocity
before impact is tangent to the surface, then no energy is lost in impact.

7.3.2 Detection of Contact

In the computational context, we are tracking the motion of the particle at discrete
time points. The time between adjacent states is determined by the size of the time
step h. Let us assume that the position of the particle at time step n, i.e., .xn , is in the

@seismicisolation
@seismicisolation
304 7 Impact

Fig. 7.14 Contact detection.


The position vector at time
steps n and .n + 1. Contact is xn
detected if .g(xn ) > 0 and
.g(xn+1 ) < 0

xn 1

admissible region. We know that it is in the admissible region because .g(xn ) > 0.
We have computed the position of the particle in the next time step, .xn+1 , using the
generalized trapezoidal rule and iteration of the equations of motion using Newton’s
method. We can test the new state by plugging it into the function .g(x). If the value
is negative, i.e., .g(xn+1 ) < 0, then we know that the particle passed through the
surface at some time between state n and state .n + 1, as shown in Fig. 7.14. Thus,
we detect contact between steps n and .n + 1 if

g(xn ) > 0 and g(xn+1 ) < 0


.

7.3.3 Interpolation to Find the Time of Contact

To find the exact time of contact, we need to interpolate to find a state that satisfies
g(x) = 0. There are several ways to do the interpolation. The basic question is what
.

the time step should have been to just arrive at the surface. One simple way to solve
the problem is to linearly interpolate between the states .xn and .xn+1 . That means
the linearly interpolated state is

x(ξ ) = xn + ξ Δx
.

where .Δx = xn+1 − xn is simply the difference between the two position vectors at
states n and .n + 1, the latter having been predicted by the generalized trapezoidal
rule, not knowing that contact was going to happen. The scalar variable .ξ is between
0 and 1. The goal is to find a value of .ξ such that

g(ξ ) = g(xn + ξ Δx) = 0


.

The function g is now a scalar function of the scalar variable .ξ because both .xn and
Δx are fixed. We can solve this equation using Newton’s method. With an initial
.

guess .ξ0 , we do a Newton iteration

g(ξi )
ξi+1 = ξi −
.
∇g(ξi ) · Δx

@seismicisolation
@seismicisolation
7.3 Computation: Particle Impacting a Surface 305

The iteration continues until .g(ξN ) < tol, where tol is a suitably small number.
We can start the iteration with .ξ = 0. Sometimes, this starting point will fail,
and it may be necessary to find a strategy to get convergence. One approach is
to detect convergence failure by limiting the Newton iteration to a certain number
of iterations. If it takes them all, then the starting value can be changed using,
for example, a random number generator. Alternatively, we could use bisection
or regula falsi (method of false position) to solve the nonlinear equations. The
guardrails on Newton’s method are that .0 ≤ ξ ≤ 1 since we know that contact
happened within the time step. Intermediate values of .ξ that are outside these bounds
can also give reason to restart the iteration with a different starting value.
Once the converged value of .ξ is found, we can interpolate the time and state as
( )
tn+1 ← 1−ξ tn + ξ tn+1
( )
xn+1 ← 1−ξ xn + ξ xn+1
. ( )
vn+1 ← 1−ξ vn + ξ vn+1
( )
an+1 ← 1−ξ an + ξ an+1

This is the new and improved state .n + 1. This approximation is not exact but should
be accurate if the time step is reasonably small. The reason interpolation is important
is because it is possible to get stuck in the inadmissible region if you don’t do it,
especially if the normal component of velocity is small.

Example 7.6 In Newton’s method for a scalar ( function, the


) correction term
is .g(x)/g ' (x). How does that turn into .g(ξi )/ ∇g(ξi ) · Δx for this problem?
The function .g(x) is originally a scalar valued function of a vector variable.
In this context, the vector variable is parameterized by a scalar as .g(x(ξ )).
Hence, we can compute .g ' (x(ξ )) by the chain rule for differentiation, where
the prime indicates a derivative with respect to .ξ . For clarity in executing
the chain rule, let us write the position vector in components as .x(ξ ) =
(x(ξ ), y(ξ )). Now, compute the derivative as

∂g dx ∂g dy dx
g ' (x(ξ ), y(ξ )) =
. + = ∇g ·
∂x dξ ∂y dξ dξ

where .∇g = [ ∂g/∂x, ∂g/∂y ] is the gradient of the function .g(x, y). Because
the position vector is interpolated as .x(ξ ) = xn + ξ Δx, we can compute

dx
. = Δx

thereby completing the proof.

@seismicisolation
@seismicisolation
306 7 Impact

7.3.4 Resolution of Impact

With the state interpolated, we have just arrived at time .0− for the impact problem.
The next step is to resolve the contact using the interpolated value of the velocity
as .v− . Remember that this entire process is meant to redefine state .n + 1 so
that it respects the equations of motion and the impact equations. Our aim is to
establish the value of .vn+1 that is correct after impact. We started with a .vn+1 from
generalized trapezoidal rule. We interpolated to get a new and improved value of
.vn+1 , one that does not violate the surface constraint but is still headed in the wrong

direction. For the impact resolution, we use .v− = vn+1 from the interpolation
stage, because that is the velocity just before impact. What we are looking for is
the velocity just after impact, which will be our even better version of .vn+1 , one
good enough to move on to the next time step. Of course, the revised velocity is
( )
v+ = −e n · v− n + Pv−
.

We can now assign this value to the new velocity to finally give

vn+1 ← v+
.

The time, position, and acceleration do not need to be changed after interpolation.
Only the velocity changes due to the impact. With this final state .{xn+1 , vn+1 , an+1 },
we can move to the next time step.

7.3.5 Implementation in Code

Code 7.1 implements contact detection, interpolation, and impact resolution in the
projectile motion code from Chap. 2 (i.e., it is a variation of Code 2.1). This code
illustrates how the computations for contact and impact problems are organized.

Code 7.1 MATLAB code for computing the response of a ball bouncing off of a surface.
%- Impact of Particle on Curved Surface (with Fluid Drag)
clear; clc;

%. Input physical problem data


gravity = 9.81; % Acceleration of gravity
e2 = [0; 1]; % Direction of gravity
mass = 2.0; % Mass of particle
drag = 0.0; % Coefficient for drag force
e = 0.90; % Coefficient of restitution
tf = 25; % Final time

%. Establish the surface


[S] = SurfaceInput;

%. Initial conditions
xo = [ 5.0; 10.0]; % Initial position of particle

@seismicisolation
@seismicisolation
7.3 Computation: Particle Impacting a Surface 307

vo = [ 8.0; -15.0]; % Initial velocity of particle

%. Set up print of contact history to command window


fprintf(' Contact History\n')
fprintf(' time frac its Eloss Normal v')
Cformat = '\n%9.3f%8.3f%5i%12.2e%12.2e';

%. Verify that the particle is inside the admissible domain


[gold,~] = Surface(xo,S);
if gold < 0; EStop(0); end

%. Numerical analysis parameters


h = 0.01; % Analysis time step
beta = 0.5; % Numerical integration parameter
eta = (1-beta)*h; % Time integration parameter
zeta = eta^2; % Time integration parameter
nSteps = ceil(tf/h); % Number of time steps
tol = 1.e-8; % Newton iteration tolerance
itmax = 10; % Max. allowable Newton iterations

%. Set up Hist to store information for plotting


Hist.T = zeros(nSteps,1); % Time
Hist.X = zeros(nSteps,2); % Position
Hist.V = zeros(nSteps,2); % Velocitiy
Hist.E = zeros(nSteps,3); % Potential, kinetic, total energy

%. Initialize time and state and 'oldold' position


t = 0;
xooo = xo;
xold = xo;
vold = vo;
aold = -gravity*e2 - drag*norm(vold)*vold/mass;

%. Compute motion by numerical integration


for i=1:nSteps

%... Write the values out to history


T = mass*dot(vold,vold)/2;
U = mass*gravity*dot(xold,e2);
E = T + U;
Hist.T(i,:) = t;
Hist.X(i,:) = xold';
Hist.V(i,:) = vold';
Hist.E(i,:) = [U,T,E];

%... Compute the values for the next time step


t = t + h; err = 1; its = 0;
bn = xold + h*vold + beta*(1-beta)*h^2*aold;
cn = vold + beta*h*aold;
anew = aold;

%... Newton iteration to compute the acceleration


while (err > tol) && (its < itmax)
its = its + 1;
vnew = cn + eta*anew;
v = norm(vnew);
mvec = vnew/v;
coeff = drag*v*eta;
G = mass*(anew + gravity*e2) + drag*v*vnew;
A = (mass + coeff)*eye(2) + coeff*(mvec*mvec');
anew = anew - A\G;
err = norm(G);
end % while

%... Compute new velocity and position by trapezoidal rule


vnew = cn + eta*anew;
xnew = bn + zeta*anew;

@seismicisolation
@seismicisolation
308 7 Impact

%... Detect contact


[gold,~] = Surface(xold,S);
[gnew,~] = Surface(xnew,S);

if (gnew < 0) && (gold >= 0)

%..... Interpolate to find exact contact


dx = xnew - xold;
dv = vnew - vold;
da = anew - aold;
frac = gold/(gold-gnew); err = 1; it = 0;

while (err > tol) && (it < itmax)


it = it + 1;
x = xold + frac*dx;
[g,dg] = Surface(x,S);
frac = frac - g/dot(dg,dx);
if frac < 0 || frac > 1; frac = rand; end
err = abs(g);
end

t = t - h + frac*h; % Time of contact


xnew = xold + frac*dx; % Position at contact
vnew = vold + frac*dv; % Velocity at contact
anew = aold + frac*da; % Acceleration at contact

%..... Resolve contact


[~,dg] = Surface(xnew,S);
nvec = dg/norm(dg); % Normal to surface
vn = dot(vnew,nvec); % Normal velocity
v = -e*vn; % Rebound velocity
P = eye(2) - (nvec*nvec'); % Projection matrix
vnew = v*nvec + P*vnew; % Velocity after contact

Eloss = 0.5*mass*(1-e^2)*vn^2; % Energy loss from impact


fprintf(Cformat,t,frac,it,Eloss,v); % Print result
end

%... Check early termination criteria


if xnew(2) < S.bottom; EStop(1); break; end
if norm(xnew-xold)< tol; EStop(2); break; end
[gooo,~] = Surface(xooo,S);
[gold,~] = Surface(xold,S);
[gnew,~] = Surface(xnew,S);
if gold<0 && gnew<0 && gooo<0; EStop(3); break; end

%... Update to prepare for next time step


xooo = xold;
xold = xnew;
vold = vnew;
aold = anew;

end

%. Output results
EchoProperties(S,gravity,mass,drag,e,xo,vo,tf);
ImpactSurfaceFigs(Hist,S,i,xo,tf);

This code builds on the particle with drag code from Chap. 2. The function
SurfaceInput gets the surface parameters and stores them in the “struct” S,
allowing the specification of functions in terms of adjustable parameters. For
example, the function for a parabolic surface is .g(x, y) = y − ax 2 − bx − c,
where a, b, and c are specified as user input. Those are the values stored in S.

@seismicisolation
@seismicisolation
7.3 Computation: Particle Impacting a Surface 309

This information is used every time the function Surface is called (to evaluate the
function and its gradient, see Code 7.2).
Each contact is printed to the command window along with the value of
the converged iteration fraction .ξ , the number of iterations required, the energy
loss, and the normal velocity. The state values .{xn , vn , an } and energy values
are stored in a “struct” called Hist for later plotting through the function
ImpactSurfaceFigs, which is not included here but only has the function of
producing the graphs you see in the examples.
Contact detection, interpolation, and resolution follow the equations presented
in this section closely. There are several early termination criteria implemented in
the code. Printing of the error message is done in the function EStop (the code is
not included here). The cases included are (0) initial point is not in the admissible
domain, (1) particle hit bottom, (2) particle motion is stalled, and (3) particle has
fallen through the surface. The value of bottom, which is the lowest vertical point
the particle is allowed to go if it falls through, is specified in SurfaceInput
and stored in S. The last case is typically the result of exhausting all the energy
associated with the normal velocity, and the rebound is so small that the roundoff
error puts the particle in the inadmissible zone. Once it is there, it cannot get back
to the admissible region because there is insufficient energy to get it there. The
equations of motion are not suited to the particle sliding on the surface.

Code 7.2 MATLAB code to compute .g(x, y) and .∇g(x, y) for contact detection and resolution.
function [g,grad_g] = Surface(z,S)
% Compute functon value and gradient
% z = [x;y] coordinates
% S.Type = Surface type
% S.param = Surface function parameter values

switch S.Type
case 1 % Plane: g(x,y) = y - (a*x + b)
a = S.param(1);
b = S.param(2);
x = z(1); y = z(2);
g = y - (a*x + b);
grad_g = [ -a; 1];

case 2 % Parabola: g(x,y) = y - (a*x^2 + b*x + c)


a = S.param(1);
b = S.param(2);
c = S.param(3);
x = z(1); y = z(2);
g = y - (a*x^2 + b*x + c);
grad_g = [ -2*a*x - b; 1];

case 3 % Corrugated: g(x,y) = y - a*cos(pi*x/b)


a = S.param(1);
b = S.param(2);
x = z(1); y = z(2);
g = y - a*cos(pi*x/b);
grad_g = [(a*pi/b)*sin(pi*x/b); 1];

case 4 % Corrugated parabola: g(x,y) = y - c*x^2 - a*cos(pi*x/b)


a = S.param(1);
b = S.param(2);
c = S.param(3);
x = z(1); y = z(2);

@seismicisolation
@seismicisolation
310 7 Impact

g = y - c*x^2 - a*cos(pi*x/b);
grad_g = [-2*c*x+(a*pi/b)*sin(pi*x/b); 1];

case 5 % Ellipse: g(x,y) = 1 - (x/a)^2 - (y/b)^2


a = S.param(1);
b = S.param(2);
x = z(1); y = z(2);
g = 1 - (x/a)^2 - (y/b)^2;
grad_g = [ -2*x/a^2; -2*y/b^2];

case 6 % Hyperbola: g(x,y) = y - (a/x)^2


a = S.param(1);
b = S.param(2);
x = z(1); y = z(2);
g = y + (a/x)^b;
grad_g = [ -(b/x)*(a/x)^b; 1];

case 7 % Wedge: g(x,y) = y - a*sqrt((x/b)^2)


a = S.param(1);
b = S.param(2);
x = z(1); y = z(2);
g = y - a*sqrt((x/b)^2);
grad_g = [-(a/b)*(x/b)/(sqrt((x/b)^2)); 1];

case 8 % Flattened ellipse: g(x,y) = 1 - (x/a)^n - (y/b)^n


a = S.param(1);
b = S.param(2);
n = S.param(3);
x = z(1); y = z(2);
g = 1 - (x/a)^n - (y/b)^n;
grad_g = [-(n/a)*(x/a)^(n-1); -(n/b)*(y/b)^(n-1)];

end

end

This function can be expanded to add more surfaces. The values of the parameters
are set in the function SurfaceInput, which is Code 7.3.

Code 7.3 MATLAB code to establish the parameter values for the different surfaces.
function [S] = SurfaceInput
%. Establish parameter values for contact surface g(x,y)
% The array 'param' has the form param = [a, b, c, ...],
% where a, b, c, ... are the parameters used to define the function

%. Library of surface types


Sshape = {'Plane';'Parabola';'Corrugated';'Corrugated parabola';...
'Ellipse';'Hyperbola';'Wedge';'Flattened ellipse'};

%. Select surface type by menu


msg = 'Select Surface';
S.Type = listdlg('PromptString',msg,'ListString',Sshape);
S.SurfaceName = char(Sshape(S.Type));

%. Set parameters
switch S.Type
case 1 % plane
S.Fcn = 'g(x,y) = y - (a*x + b)';
S.param = [0.25, 0];
S.bottom = -50;

case 2 % parabola
S.Fcn = 'g(x,y) = y - (a*x^2 + b*x + c)';
S.param = [0.05, 0, 0];

@seismicisolation
@seismicisolation
7.3 Computation: Particle Impacting a Surface 311

S.bottom = -2;

case 3 % corrugated
S.Fcn = 'g(x,y) = y - a*cos(pi*x/b)';
S.param = [1, 2];
S.bottom = -1.1*S.param(1);

case 4 % corrugated parabola


S.Fcn = 'g(x,y) = y - c*x^2 - a*cos(pi*x/b)';
S.param = [ 1, 2, 0.20];
S.bottom = -1.1*S.param(1);

case 5 % ellipse
S.Fcn = 'g(x,y) = 1 - (x/a)^2 - (y/b)^2';
S.param = [20, 19];
S.bottom = -1.1*S.param(2);

case 6 % hyperbola
S.Fcn = 'g(x,y) = y + (a/x)^b';
S.param = [ 57, 2];
S.bottom = -100;

case 7 % wedge
S.Fcn = 'g(x,y) = y - a*sqrt((x/b)^2)';
S.param = [1, 0.511];
S.bottom = -1;

case 8 % flattened ellipse


S.Fcn = 'g(x,y) = 1 - (x/a)^n - (y/b)^n';
S.param = [12, 20, 8]; % n = param(3) must be even
S.bottom = -1.1*S.param(2);

end

This function uses a menu input to select the type of surface. The parameters are
stored in a “struct” called S.

Example 7.7 Compute the response of a ball of mass .m = 2, bouncing off


a parabolic surface .y = x 2 /20, with coefficient of restitution of .e = 0.9.
Start from an initial position of .xo = (10, 20) with an initial velocity of .vo =
(8, −15). Compute the response for 25 seconds.
The response is shown in Fig. 7.15. The plot on the left shows the path of
motion of the ball. The black dot is the initial location of the ball. The open
circle is the final location. The dotted lines show the path from start to finish.
The plot on the right shows the kinetic energy (dot-dashed), potential energy
(dashed), and the total energy (solid). The only energy loss mechanism in the
system is impact because the fluid drag coefficient is set to zero. Each time the
ball hits the surface, there is an abrupt loss of energy. The amount of energy
lost in each impact varies for the reasons discussed earlier.
The possible cases for investigation with this code are endless. Some
conditions and surfaces give very interesting results, showing patterns that
might not, at first, be intuitive. Figure 7.16 shows the same ball bouncing on

(continued)

@seismicisolation
@seismicisolation
312 7 Impact

Example 7.7 (continued)

Fig. 7.15 Example. The path of the ball bouncing off a parabolic surface with coefficient
of restitution of .e = 0.9 (left). Plot of energy vs. time (right)

(a ) (b)

Fig. 7.16 Effect of time step size. The path of the ball bouncing off a parabolic surface with
coefficient of restitution of .e = 1.0. (a) Analysis done with .h = 0.05. (b) Analysis done
with .h = 0.01. The duration of analysis is .100 s

the same parabolic surface with .e = 1. The analysis has been done for 100
seconds, showing an emerging pattern to the path of the ball. One must be
wary of numerical integration errors. Figure 7.16a carries out the analysis
using a time step of .h = 0.05 seconds, while Fig. 7.16b does the same
analysis, with .h = 0.01 seconds. The smaller time step is more accurate.
With long time calculations, you can often see the effects of integration error
that are not apparent for shorter analyses.

7.4 Computation: Impacting Pendulums

Impact of two rigid bodies opens up some interesting challenges that are not present
in the problem of a particle impacting a surface or two particles impacting each

@seismicisolation
@seismicisolation
7.4 Computation: Impacting Pendulums 313

other. In particular, we must sort out which part of one body impacts the other and
where that impact happens. While the location of contact for the particle impacting
a surface was not known in advance, the surface was stationary. For two rigid bodies
in motion, the point of impact is a moving target. The resolution of impact will be
based upon the coefficient of restitution, as it was for particle impact, but the way
it manifests in the equations requires a careful analysis. The concepts of contact
detection, interpolation to find the time of contact, and impact resolution will be
similar, at least in concept, to the previous application of a particle impacting a
surface.
To explore what is at stake for rigid body impact, let us consider the problem
of two pendulums impacting each other. The setup for this problem is shown in
Fig. 7.17, where we have two pendulums swinging from independent fixed hinges:
one at .O, which we will take as our origin, and one at .C. The vector .c between the
two hinges is constant. Each bar potentially has a different length .Li and mass per
unit length .ρ̄i . The time-dependent variable for each bar is .θi (t), which measures
the rotation of the bar relative to vertical.
The equations of motion for the bars swinging independently have been done
previously. The equation of motion for bar i can be expressed as

Ji θ̈i (t) + Di sin θi (t) = 0


. (7.21)

and the total energy, which is conserved, has the form


( )
Ei (t) = 12 Ji θ̇i2 (t) + Di 1 − cos θi (t)
. (7.22)

where the first term is the kinetic energy and the second term is the potential energy
due to gravity, with datum adjusted so that the potential energy is zero when the bar
is hanging straight down in static equilibrium. In these equations, the mass moment
of inertia .Ji and the constant .Di are

Ji = 13 mi L2i ,
. Di = 12 mi gLi (7.23)

Fig. 7.17 Impacting e2


pendulums. Two pendulums c e1
swinging from pins at .O and
.B . Pendulum i has length .Li
and mass per unit length of .ρ̄i
and rotates by an angle .θi (t),
1 2
where .i = 1, 2
m2
m1
n2
n1

@seismicisolation
@seismicisolation
314 7 Impact

Fig. 7.18 Two cases. The


two possible cases of impact
between the bars. (a) Case 1
z2
The tip of bar 2 hits the side z1
of bar 1. (b) Case 2 The tip of
bar 1 hits the side of bar 2

(a) (b)

where .i = 1, 2, and .mi is the total mass of bar i. As the bars swing, each is governed
by Eq. 7.21. The individual bars are independent from each other almost all the
time. From time to time, the bars might hit each other, creating an impact problem.
Dealing with that impact is the main focus of this section.
There are two possible cases of impact, as shown in Fig. 7.18. Case 1 has the tip
of bar 2 hitting the side of bar 1. Case 2 has the tip of bar 1 hitting the side of bar
2. Note that the location of the contact is labeled .z1 in the first case and .z2 in the
second case (the subscript is associated with the bar whose side gets hit). We will
assume that the contact is smooth and, therefore, that the force of contact is normal
to the bar that gets hit. Each case yields different equations governing the detection
and resolution of the contact. We will develop Case 1 in some detail with a brief
overview of Case 2.

7.4.1 Detection of Contact

In the numerical setting, we compute the values of the state variables at discrete
times. To detect contact, we need a measure like the function .g(x, y) that we defined
for the problem of the particle impacting a surface. For the impacting pendulums,
we will develop a way to decide if the tip of one bar is on the right or left side of the
other bar, one of which is admissible and the other is not (e.g., it is fine to have the
tip of bar 2 on the right side of bar 1 but not vice versa).
Figure 7.19 can help us with the generic case of deciding if the vector .v is on
the right or left of vector .u. The scalar .g = v · m is the projection of the vector .v
on .m. The dot product is also the cosine of the angle between .v and .m as shown
on the sketch, i.e., .cos α = v · m. For the case on the left, the angle is acute (i.e.,
less than 90 degrees). For the case on the right, the angle is obtuse (i.e., greater
than 90 degrees). The cosine function gives positive values in the first quadrant and
negative values in the second quadrant. Hence, the value of g for the case on the left
is positive, and the value for the case on the right is negative. Thus, we can use g to
decide if one vector is on the right or left of another.

@seismicisolation
@seismicisolation
7.4 Computation: Impacting Pendulums 315

Fig. 7.19 Contact detection. m m


Two possible locations of the
vector .v relative to the vector
.u, at steps n and .n + 1. The n n
unit vector .n points in the
direction of .u and the unit vn
vn 1
vector .m is rotated
counterclockwise from .n by g g
90 degrees. The scalar g is
the projection of .v on .m un un 1

The two cases shown in Fig. 7.19 give the vectors .vn and .vn+1 at two adjacent
time steps. The fact that .g > 0 at step n and .g < 0 at step .n + 1 is a necessary, but
not sufficient, condition for contact. It is possible to have a false detection of contact
based only on the test for g. If the point .P is within the length of the vector .u, then
the detection will be true. If the point .P lies either beyond the length of the vector
or on the other side of .O, then the detection will be false (i.e., there is no contact
even though the vector .v went from one side to the other). This could happen, for
example, if the vector .v is much longer than the vector .u.
Case 1 To see the contact detection scheme in the context of the two bars, consider
Fig. 7.20, which shows the two bars at time step n and .n + 1. The black vectors
represent bar 1. The vector goes from the origin to the tip of the bar. The dark gray
vectors represent the location of the tip of bar 2, which is the vector sum of the light
gray vectors, one going from the origin to .C and the second going from .C to the tip
of the bar (which is the actual bar 2).
The .n and .m vectors point along the bar and perpendicular to it, respectively. The
.m vectors are defined such that .n × m = e3 . The mathematical expressions for the

vectors are

ni = sin θi (t)e1 − cos θi (t)e2


.
mi = cos θi (t)e1 + sin θi (t)e2

Fig. 7.20 Contact detection. c c


Case 1. The locations of the L2n 2n 1
two bars at time steps n n z1n 1
L2n 2 c
(sketch on left) and .n + 1 L1n1n 1
(sketch on right). The
n
z
1 L2n n m1n 1
2 n 1
superscripts refer to the time L2n 2 c n1n 1
step. The subscripts refer to n
g1 g1n 1
the bar. Bar 1 is black
n
Ln 1 1
m1n
n1n

@seismicisolation
@seismicisolation
316 7 Impact

for .i = 1, 2. The subscript refers to the bar. For example, .n1 means the .n vector
along bar 1. The .n and .m vectors are shown for bar 1 in Fig. 7.20 and for bar 2 in
Fig. 7.21. The superscript refers to the time step.
The values of .g1 represent the perpendicular distances of the tip of bar 2 to the
side of bar 1. The values of .z1 refer to the distance from point .O to point .P, which is
the point where the tip of bar 2 projects onto the side of bar 2. Now, we can compute
these values as
( ) ( )
g1n = L2 nn2 + c · mn1 g1n+1 = L2 nn+1
2 + c · mn+1 1
. ( ) n n+1 ( n+1 ) n+1
z1 = L2 n2 + c · n1
n n z1 = L2 n2 + c · n1

Note that .z1n and .z1n+1 are both estimates of the location of the point of contact .z1
along bar 1. We can select one to be part of the contact detection strategy. Here we
will use the value at step .n + 1 as the criterion for contact between steps n and .n + 1.
Thus, if

g1n > 0 and g1n+1 < 0 and 0 ≤ z1n+1 ≤ L1


. (7.24)

then we can conclude that contact happened between step n and step .n + 1. The
location of the point of contact can be improved once the state has been interpolated,
but that value is not available when trying to detect contact.
Case 2 To detect contact for Case 2, we need to consider the projection of the tip
of bar 1 on the side of bar 2, as shown in Fig. 7.21. For this case, we have
( ) ( )
g2n = L1 nn1 − c · mn2 g2n+1 = L1 nn+1
1 − c · mn+1 2
. ( ) ( ) n+1
z2n = L1 nn1 − c · nn2 z2n+1 = L1 nn+1
1 − c · n2

where .z2n and .z2n+1 are estimates of the location of the point of contact .z2 along bar
2. Again, we will use value at step .n + 1 as the criterion for contact between steps n
and .n + 1. Thus, if

Fig. 7.21 Contact detection. c c


Case 2. The locations of the
two bars at time steps n z2n 1
(sketch on left) and .n + 1 L1n1n c z2n n 1 L1n1n 1 c
Ln
1 1
(sketch on right). The
superscripts refer to the time
step. The subscripts refer to L1n1n L2n 2n 1
L2n n2
the bar. Bar 2 is black g 2n 1
g 2n n
m 2
n m n2 1
n 2 n n2 1

@seismicisolation
@seismicisolation
7.4 Computation: Impacting Pendulums 317

g2n < 0 and g2n+1 > 0 and 0 ≤ z2n+1 ≤ L2


.

then we can conclude that contact happened between step n and step .n + 1. Notice
the subtle differences. Since bar 1 is on the left of bar 2 and the .m vector points to
the right, the value of .g2n will be negative if the tip of bar 1 is to the left of bar 2.
That is admissible. The value of .g2n+1 will be positive if the tip of bar 1 is on the
right side of bar 2 (which is inadmissible).

7.4.2 Interpolation to Find the Time of Contact

We can estimate the exact time of contact by linearly interpolating between state n
and state .n + 1. The bars would just reach contact if the time step was some fraction,
.ξ of h. We can estimate this value as

gin
ξ=
. (7.25)
gin − gin+1

This equation works for both Case 1 and Case 2 even though the algebraic signs on
gin and .gin+1 are reversed. The change of sign is consistent in both the numerator
.

and denominator.
For Case 1, the denominator is a measure of the total perpendicular distance of
the tip of bar 2 from state n to the tip at state .n + 1 since .g1n+1 is negative. If .g1n
is very small, that means that bar 2 was just barely to the right of bar 1 at step n.
Hence, there was very little distance to go to achieve contact. In that case .ξ is very
small. On the other hand, if .g1n+1 is very small, that means bar 2 is just barely past
bar 1 at state .n + 1. In this case .ξ will be close to 1. While this approach is not exact,
for normal time-step size the approximation should be very good.
Once .ξ has been determined, the state variables can be interpolated to give the
new and improved state .n + 1 that just gets to contact. In particular,

t n+1 ← t n + ξ h
( )
θin+1 ← 1 − ξ θin + ξ θin+1
. ( )
θ̇in+1 ← 1 − ξ θ̇in + ξ θ̇in+1
( )
θ̈in+1 ← 1 − ξ θ̈in + ξ θ̈in+1

for .i = 1, 2. This is the state we should have gotten to if we had only known what
time step to take to just get there. Thus, we discard the previous estimate of state
.n + 1 and replace it with the interpolated one. This step is like rolling back time to

the point just before contact. Hence, the interpolated values represent the time .0−
for phase 2.

@seismicisolation
@seismicisolation
318 7 Impact

7.4.3 Resolution of Impact

Recall that we divide impact problems into three phases. Phase 1 is the time before
impact, .t ≤ 0− . Phase 2 is the time during impact, .0− ≤ t ≤ 0+ , including time a,
which divides the deformation part of impact and the recovery part, as shown in
Fig. 7.3. Phase 3 is the time after impact, .t ≥ 0+ . Phases 1 and 3 are governed by
Eq. 7.21. The impact force is active during phase 2 of the impact. Let us derive
equations of motion for phase 2.
Case 1 Let us first examine Case 1, where the tip of bar 2 hits the side of bar 1 at
distance .z1 from .O, as shown in Fig. 7.22a. The free body diagrams in Fig. 7.22b
show the reaction forces at the hinges, the self-weight acting at the center of mass,
and the impact force .R(t). Note that our assumption of smooth contact has the
impact force perpendicular to bar 1. Hence, the direction of the force on bar 1 is in
the .−m1 direction, and the equal and opposite force on bar 2 is in the .m1 direction.
We will use the construction in Fig. 7.22c to determine the relationship between the
two angular velocities at the time when they agree (i.e., time a in Fig. 7.3).
Balance of angular momentum relative to their respective pins gives

J1 θ̈1 + D1 sin θ1 + z1 R = 0
. (7.26)
J2 θ̈2 + D2 sin θ2 − L2 cos ϕ R = 0

where .Ji and .Di are defined in Eq. 7.23 and .z1 is the distance to the point of contact
shown in Fig. 7.22a. Note that we have defined .ϕ = θ2 − θ1 as a shorthand notation.
This quantity arises in the cross product between .n2 and .m1 when computing the
moment of the impact force relative to point .C for bar 2. As we did for the two-
particle impact problem, we will integrate these equations over the full impact
period (i.e., .0− to .0+ ) and also over the deformation and recovery periods .0− to a
and a to .0+ , respectively, to get relationships between the angular velocities before
and after impact. Let

θ̇i− = θ̇i (0− ),


. θ̇ia = θ̇i (a), θ̇i+ = θ̇i (0+ )

F1
F2 c

z1 z1n1 L2n 2
m1 ge 2 Rm1 m2 ge 2
Rm1

(a) (b) (c)

Fig. 7.22 Case 1. The tip of bar 2 hits the side of bar 1 a distance .z1 from .O. (a) Geometry of
contact. (b) Free body diagrams. (c) Correlation of motion at time .ta

@seismicisolation
@seismicisolation
7.4 Computation: Impacting Pendulums 319

for .i = 1, 2 be the angular velocities at the three times of interest during phase 2.
Also, let
| 0+ | a | 0+
R̂ =
. R(t) dt, R̂def = R(t) dt, R̂rec = R(t) dt
0− 0− a

be the total impulse, the impulse of deformation, and the impulse of recovery,
respectively, of the force .R(t). First, integrate Eqs. 7.26 over the full impulse, noting
that the second term integrates to zero because it is slowly varying. We get
| |
J1 θ̇1+ − θ̇1− + z1 R̂ = 0
. | |
J2 θ̇2+ − θ̇2− − L2 cos ϕ R̂ = 0

We can eliminate .R̂ from these two equations algebraically by multiplying the first
by .L2 cos ϕ, the second by .z1 , and adding the equations together to get
| | | |
J1 L2 cos ϕ θ̇1+ − θ̇1− + z1 J2 θ̇2+ − θ̇2− = 0
. (7.27)

Next, integrate over the deformation and recovery parts of phase 2. Doing so for the
first equation gives
| |
J1 θ̇1a − θ̇1− + z1 R̂def = 0
. | |
J1 θ̇1+ − θ̇1a + z1 R̂rec = 0

Solving for the two impulses, taking their ratio, and noting the definition of the
coefficient of restitution gives

R̂rec θ̇1+ − θ̇1a


e=
. = (7.28)
R̂def θ̇1a − θ̇1−

We can do exactly the same operation with the second equation to show that

θ̇2+ − θ̇2a
.e= (7.29)
θ̇2a − θ̇2−

In other words, the two angular velocities are related to the coefficient of restitution
in exactly the same way. As previously noted, the coefficient of restitution must be
a value between 0 (plastic impact) and 1 (elastic impact). We can solve Eqs. 7.28
and 7.29 for the angular velocities at time a. The result is

θ̇1+ + eθ̇1− θ̇2+ + eθ̇2−


θ̇1a =
. , θ̇2a = (7.30)
1+e 1+e

@seismicisolation
@seismicisolation
320 7 Impact

Unfortunately, to get e into our equations, we had to introduce the angular


velocities at time a, which are new unknowns. Unlike the problem of two particles
impacting each other, the two angular velocities .θ̇1a and .θ̇2a are not necessarily equal
to each other. However, what we know is that at time a, the two bars agree on their
mutual velocity at the point of impact. From Fig. 7.22c, we note that

z1 n1 = c + L2 n2
. (7.31)

Dot this equation with .n1 to get an equation for the location .z1 . To wit,
( )
z 1 = c + L2 n 2 · n 1
. (7.32)

a relationship we have already encountered in the discussion of interpolation. Taking


the time derivative of Eq. 7.31 gives

ż1 n1 + z1 θ̇1 m1 = L2 θ̇2 m2


.

These equations only hold precisely at time a because that is the only time the
two bars agree on their mutual motion. Dotting the velocity equation with .m1 (to
eliminate the .ż1 term) gives

z1 θ̇1a = L2 cos ϕ θ̇2a


.

Substituting the expressions from Eq. 7.30 for .θ̇1a and .θ̇2a into this equation, and
multiplying by .1 + e, gives
| | | |
z1 θ̇1+ + eθ̇1− = L2 cos ϕ θ̇2+ + eθ̇2−
. (7.33)

Finally, we can put Eqs. 7.27 and 7.33 into the form

β1 θ̇1+ + γ1 θ̇2+ = β1 θ̇1− + γ1 θ̇2−


. (7.34)
−θ̇1+ + β1 θ̇2+ = e θ̇1− − eβ1 θ̇2−

where
J2 L2 cos ϕ
γ1 =
. , β1 = (7.35)
J1 z1

Recall that .ϕ = θ2 −θ1 . These equations represent two equations relating the angular
velocities just prior to impact to the angular velocities just after impact. We can solve
these equations to give
| | | | | −|
θ̇1+ 1 β12 − eγ1 (1 + e)β1 γ1 θ̇1
. = (7.36)
θ̇2+ γ1 + β1 (1 + e)β1
2
γ1 − eβ12 θ̇2−

@seismicisolation
@seismicisolation
7.4 Computation: Impacting Pendulums 321

F1
F2 c

z2 z2n 2
m1 ge 2 Rm 2 m2 ge 2 L1n1

Rm 2
(a) (b) (c)

Fig. 7.23 Case 2. The tip of bar 1 hits the side of bar 2 a distance .z2 from .C . (a) Geometry of
contact. (b) Free body diagrams. (c) Correlation of motion at time .ta

This matrix equation provides the relationship that resolves the angular velocities of
the two bars due to impact. The relationship looks quite different from the particle
impacting a surface. A more useful comparison is the relationship of velocities
of two particles impacting each other, given by Eq. 7.10. The complex interaction
between the different properties of the bar, which are embedded in both .γ1 and .β1 ,
and the location of contact .z1 are evident in Eq. 7.36. The result is far from intuitive.
It is also interesting to note that both .γ1 and .β1 are dimensionless.
Case 2 We can do a similar analysis for Case 2, with reference to Fig. 7.23. We will
simply summarize the results for this case, leaving the details of the derivations to
the reader as an exercise. The steps are identical to Case 1, but there are some key
differences that one must take into account.
To resolve contact, we must establish equations of motion for phase 2. The
free body diagrams are shown in Fig. 7.23b. In this case, the impact force is
perpendicular to bar 2. Otherwise, the development of the equations of motion and
the subsequent manipulations to compute the impulses is the same. The equations
that result are

γ2 θ̇1+ + β2 θ̇2+ = γ2 θ̇1− + β2 θ̇2−


. (7.37)
−β2 θ̇1+ + θ̇2+ = eβ2 θ̇1− − e θ̇2−

where
J1 L1 cos ϕ
γ2 =
. , β2 = (7.38)
J2 z2

These equations can be solved to arrive at the final result giving the angular
velocities after impact in terms of the angular velocities before impact:
| | | | | −|
θ̇1+ 1 γ2 − eβ22 (1 + e)β2 θ̇1
. = (7.39)
θ̇2+ γ2 + β2 (1 + e)β2 γ2 β22 − eγ2
2
θ̇2−

@seismicisolation
@seismicisolation
322 7 Impact

The differences between the two cases are subtle but important. For example, .γ1 =
1/γ2 . The role of the lengths and the distance to the point of contact are also reversed
in the definitions of .β1 and .β2 .

7.4.4 Implementation in Code

The strategy for analyzing the impacting pendulums laid out in the previous sections
is implemented as Code 7.4.

Code 7.4 MATLAB code to analyze two impacting pendulums using the generalized trapezoidal
rule along with contact detection, interpolation, and impact resolution derived in this section
clear; clc;

%. Input problem data


gravity = 9.81; % Acceleration of gravity
L = [10; 8]; % Pendulum lengths [L1,L2]
mass = [1; 1]; % Pendulum masses [m1,m2]
e = 0.9; % Coefficient of restitution
xOrig1 = [0; 0]; % Origin of bar 1
xOrig2 = [4; -2]; % Origin of bar 2
c = xOrig2 - xOrig1; % Vector from O to C
tf = 10; % Analysis duration

%. Initial conditions
xo = [-pi/2; pi/3]; % Initial angles
vo = [0; 0]; % Initial angular velocities

%. Compute derived physical quantities


J = mass.*L.^2/3;
Q = 1.5*gravity./L;

%. Numerical analysis parameters


h = 0.01; % Time step
beta = 0.5; % GTR parameter
eta = (1-beta)*h; % GTR parameter
zeta = eta^2; % GTR parameter
nSteps = ceil(tf/h)+1; % Number of time steps
tol = 10e-8; % Newton iteration tolerance
MaxIt = 10; % Max. Newton iterations

EchoInputIP(gravity,e,L,mass,c,tf,h,beta,nSteps,xo,vo)

%. Storage for later plotting


Hist.T = zeros(nSteps,1); % Time
Hist.X = zeros(nSteps,2); % Angles
Hist.V = zeros(nSteps,2); % Angular velocities
Hist.E = zeros(nSteps,2); % Energy [E1,E2]
Hist.B1 = zeros(nSteps,2); % Tip of bar 1
Hist.B2 = zeros(nSteps,2); % Tip of bar 2

%. Initialize state
t = 0;
xold = xo;
vold = vo;
aold = -Q.*sin(xold);

%. Compute motion by numerical integration


for n=1:nSteps

@seismicisolation
@seismicisolation
7.4 Computation: Impacting Pendulums 323

%... Compute output values, store to Hist


nold = [sin(xold), -cos(xold)];
xtip1 = xOrig1' + L(1)*nold(1,:);
xtip2 = xOrig2' + L(2)*nold(2,:);
E = J.*(vold.^2/2 - Q.*cos(xold));
Hist.T(n,:) = t;
Hist.X(n,:) = xold';
Hist.V(n,:) = vold';
Hist.E(n,:) = E';
Hist.B1(n,:) = xtip1;
Hist.B2(n,:) = xtip2;

%... Compute the values for the next time step


t = t + h; err = 1; its = 0;
bn = xold + h*vold + beta*(1-beta)*h^2*aold;
cn = vold + beta*h*aold;
anew = aold;

%... Newton iteration to find new angular acceleration


while (err > tol) && (its < MaxIt)
xnew = bn + zeta*anew;
G = anew + Q.*sin(xnew);
T = eye(2) + zeta*diag(Q.*cos(xnew));
anew = anew - T\G;
err = norm(G);
its = its + 1;
end

%... Compute new angle and angular velocity by integration rule


xnew = bn + zeta*anew;
vnew = cn + eta*anew;

%... Compute n and m vectors at old and new time steps


nold = [sin(xold), -cos(xold)];
nnew = [sin(xnew), -cos(xnew)];
mold = [cos(xold), sin(xold)];
mnew = [cos(xnew), sin(xnew)];

%... Set up contact detection cases


zold2 = L(2)*nold(2,:)' + c;
znew2 = L(2)*nnew(2,:)' + c;
gold1 = dot(zold2,mold(1,:));
gnew1 = dot(znew2,mnew(1,:));
z1 = dot(znew2,nnew(1,:));
Case1 = (gold1 > 0) && (gnew1 < 0) && (0 < z1) && (z1 < L(1));

zold1 = L(1)*nold(1,:)' - c;
znew1 = L(1)*nnew(1,:)' - c;
gold2 = dot(zold1,mold(2,:));
gnew2 = dot(znew1,mnew(2,:));
z2 = dot(znew1,nnew(2,:));
Case2 = (gold2 < 0) && (gnew2 > 0) && (0 < z2) && (z2 < L(2));

%... Contact detection, interpolation, and impact resolution


if (Case1 || Case2)

if (Case1) % Tip 2 hits side 1

%....... Interpolate time and state


frac = gold1/(gold1-gnew1); % Time step fraction
t = t - h*(1-frac); % Time of contact
xnew = xold + frac*(xnew - xold); % Angle at contact
vnew = vold + frac*(vnew - vold); % Velocity at contact
anew = aold + frac*(anew - aold); % Acceleration at contact

%....... Compute contact point at time a

@seismicisolation
@seismicisolation
324 7 Impact

nnew = [sin(xnew), -cos(xnew)]; % Recompute z1 with


znew2 = L(2)*nnew(2,:)' + c; % interpolated xnew value
z1 = dot(znew2,nnew(1,:)); % to improve accuracy

%....... Resolve contact


g = J(2)/J(1);
b = L(2)*cos(xnew(2)-xnew(1))/z1;
A = [ b^2-e*g, (1+e)*b*g; ...
(1+e)*b, g-e*b^2]/(g+b^2);
vnew = A*vnew;

elseif (Case2) % Tip 1 hits side 2

%....... Interpolate time and state


frac = gold2/(gold2-gnew2); % Time step fraction
t = t - h*(1-frac); % Time of contact
xnew = xold + frac*(xnew - xold); % Angle at contact
vnew = vold + frac*(vnew - vold); % Velocity at contact
anew = aold + frac*(anew - aold); % Acceleration at contact

%....... Compute contact point at time a


nnew = [sin(xnew), -cos(xnew)]; % Recompute z2 with
znew1 = L(1)*nnew(1,:)' - c; % interpolated xnew value
z2 = dot(znew1,nnew(2,:)); % to improve accuracy

%....... Resolve contact


g = J(1)/J(2);
b = L(1)*cos(xnew(2)-xnew(1))/z2;
A = [ g-e*b^2, (1+e)*b; ...
(1+e)*b*g, b^2-e*g]/(g+b^2);
vnew = A*vnew;
end
ContactReport(t,frac,z1,z2,Case1,Case2)

end % Case 1 || Case 2

%... Update state for next iteration


aold = anew;
vold = vnew;
xold = xnew;

end % loop over time steps

ImpactPendulumFigs(Hist,xOrig1,xOrig2,n,tf)

The code starts with input of the physical parameters, including the lengths and
total masses of the bars, the coefficient of restitution, the locations of the hinges, and
the duration of analysis tf. Next, we establish the initial conditions on angles xo
and angular velocities vo, followed by the mass moment of inertia J and constant
Q, which holds the values of

Di g
.Qi = = 3
2
Ji Li

where .Ji and .Di are defined in Eq. 7.23. Then come the numerical analysis
parameters (which are the same as all of the other codes) and the initialization of
Hist, the “struct” we use to store values we wish to plot later with the function
ImpactPendulumFigs.
Observe that we have kept the names for the state variables the same as previous
codes, choosing to reinterpret them rather than rename them. The associations of
variable names in this code are:

@seismicisolation
@seismicisolation
7.4 Computation: Impacting Pendulums 325

(θ1 , θ2 ) ← xo, xold, xnew


. (θ̇1 , θ̇2 ) ← vo, vold, vnew
(θ̈1 , θ̈2 ) ← aold, anew

The state variables are stored as arrays, so we keep track of the state of both bars in
the same array (e.g., the initial angles are both stored in xo). The time-stepping part
of the code is the same as all previous codes with the exception of the code segment
where we detect contact, interpolate, and resolve impact. Variable names for the
contact detection and impact resolution code segment are very similar to variable
names used in the derivation. Any variable with old in its name means that it is a
quantity associated with time step n. Similarly, any variable with new is associated
with time step .n + 1. Variable names that end with a number 1 or 2 are associated
with bar 1 or bar 2, respectively. Logical variables Case1 and Case2 are either
true or false, depending on whether or not the four conditions for contact of the
respective cases are met. The reason for embedding the two cases within an if that
tests for either case being true (i.e., Case1 || Case2) is because if we detect
contact of any kind, then we want to call the function ContactReport. This
function prints the time of contact, the fraction .ξ (which is represented in the code
as frac), the location of contact each time a contact is detected, and an indication
of which case occurred. This function is not included here.

Example 7.8 Consider a system with two pendulums with .L1 = 10, .L2 = 8,
m1 = 1, .m2 = 1, .e = 1, .c = (4, −2). Find the response of the system if the
.

bars start from rest at initial angles .θ(0) = (−π/2, π/3). Analyze the system
for 10 seconds.
The results are shown in Fig. 7.24 for a time step of .h = 0.01. The upper-
left corner plot shows the evolution of the angles of the bars with time, the
upper-right plot shows the angular velocities versus time, and the lower-left
plot shows the phase portraits for both bars (i.e., the angles plotted against
the angular velocities). The lower-right plot shows the energies of bar 1 (light
gray), bar 2 (dot-dashed line), and the total energy (black).
The bars make contact three times. At .t = 1.570, the tip of bar 1 hits the
side of bar 2. At .t = 4.723, the tip of bar 2 hits the side of bar 1. At .t = 7.935,
the tip of bar 1 hits the side of bar 2 again. The evidence of the impacts are in
all four of the graphs. In the angles versus time plots, the impact results in a
cusp in both the .θ1 (t) and .θ2 (t) graphs. In the plots of angular velocity, both
graphs jump at the times of contact. The discrete jumps are also evident in the
phase portraits (plots of angle versus angular velocity).

(continued)

@seismicisolation
@seismicisolation
326 7 Impact

Example 7.8 (continued)

2
2

1 1

bar 2
bar 2

total

bar 1 bar 1

Fig. 7.24 Example. Impacting pendulums with .L1 = 10, .L2 = 8, .m1 = 1, .m2 = 1, .e = 1,
.c = (4, −2). The bars start from rest at initial angles .θ (0) = (−π/2, π/3). The time step
is .h = 0.01. The acceleration of gravity is .g = 9.81 m/s

In the energy versus time graph, it is evident that there is an exchange


of energy between the two bars. Initially, bar 1 has zero energy, and bar 2 has
energy of .−20 units. Both values are all potential energy as the bars start from
rest. In the first impact, a large amount of the energy in bar 1 is transferred to
bar 2. The situation reverses in the second impact. The evolution isn’t exactly
like a Newton’s cradle exchange, but there are similarities. It is evident by the
black line for total energy that energy is conserved at all times, which is a
result of using .e = 1.

This example shows how the code operates, including the specification of the
physical inputs and the initial conditions. The next example attempts to apply the
code to the well-known problem of Newton’s cradle (except with distributed masses
rather than discrete masses).

@seismicisolation
@seismicisolation
7.4 Computation: Impacting Pendulums 327

Example 7.9 Create a Newton’s cradle experiment by using two bars with
the same length, .L1 = L2 = 10, and mass, .m1 = m2 = 1. Give the bar
on the left an initial rotation with the bar on the right hanging straight down,
i.e., .θ (0) = (−π/2, 0). Investigate the response for three different horizontal
distances between the hinges of 0, 2, and 4.
The results of the analyses are summarized in Fig. 7.25. It is evident that
for no separation, i.e., .c = 0, the results resemble Newton’s cradle, where all
the energy in one bar is transferred to the other with each impact. Each time,
the moving bar comes to a complete stop, and the stationary bar gets enough
energy to achieve the same maximum angle that the first bar started with (i.e.,
.π/2).

c 0
c

1 (0) 1
2

c 2 c 4

Fig. 7.25 Example. Impacting pendulums with .L1 = 10, .L2 = 10, .m1 = 1, .m2 = 1,
.e = 1, for different distances c between supports. The bars start from rest at initial angles
.θ (0) = (−π/2, 0). The time step is .h = 0.01. The acceleration of gravity is .g = 9.81 m/s

(continued)

@seismicisolation
@seismicisolation
328 7 Impact

Example 7.9 (continued)


Fig. 7.26 Example.
Impacting pendulums with
.L1 = 10, .L2 = 10, .m1 = 1,
.m2 = 1, .e = 1, for distances
.c = 2 between supports. The
bars start from rest at initial
angles .θ(0) = (−π/2, 0).
The time step is .h = 0.01.
The acceleration of gravity is
.g = 9.81 m/s

For separations of .c = 2 and .c = 4, the exchange of energy gets more


jumbled with each contact. For the case with .c = 2, the first contact comes
close to a complete transfer of energy, but you can still see that bar 1 is moving
after that contact. As time progresses, the fact that the principal moving bar
(i.e., the one that is moving the most) is hitting a non-stationary bar further
degrades the exchange. Moving bar 2 to .c = 4 amplifies the effects just
mentioned. The experiment works for .c = 0 because the contact happens
right at the tip of both bars. The normal direction at that point remains at .±e1 .
For bars with separation, the contact does not happen at the end of the bar,
and the influence of both the normal direction of the force of impact on the
side of the impacted bar and the location of the impact takes hold.
The energy graph for the case with .c = 2, run for 50 seconds, is shown
in Fig. 7.26. This graph shows that the exchange of energy still takes place at
roughly a constant frequency but that the amount of energy exchanged varies,
first decreasing with each impact but eventually increasing again. The energy
exchange appears to exhibit a beating phenomenon.

The analysis of impacting pendulums highlights the important mix between


theoretical development and computational implementation. Impact problems are
ideal for the computational framework because the conditions for contact are a result
of evolution of the system and are not known a priori. The examples presented in
this section illustrate the phenomena associated with two bars impacting each other.
There are many parameter variations to investigate, including the effect of lower
values of the coefficient of restitution.

@seismicisolation
@seismicisolation
7.6 Problems 329

7.5 Summary

In this chapter, we considered a special but important class of problems called


impact. Impact occurs only at certain discrete times, not continuously. Hence, we
divide the problem into phases, one of which (what we call phase 2) includes the
impact force that dictates how the parts of the system interact. The individual parts
of the system do not interact in the other phases (what we call phases 1 and 3).
Conservation of momentum gives a route to find the change in velocity caused
by impact. For particles and rigid bodies, the effects of impact can be modeled
using the coefficient of restitution, which measures how much impulse is associated
with deformation versus recovery. The analysis process was illustrated with three
examples, including particles and rigid bodies. Problems with a particle hitting a
rigid body with .e = 0 are fairly easy to deal with analytically because the particle
sticks upon impact with subsequent motion dictated by the rigid body it hits. For
any other value of e, there would be rebound, and the bookkeeping for the motion
gets pretty complicated.
We also established a computational framework for two specific but fairly broad
problems. The first was the problem of a particle bouncing off a curved surface.
The second was two pendulums impacting each other. The three-step algorithmic
strategy of contact detection, interpolation, and impact resolution can be applied to
any rigid impact problem and forms a solid basis for numerical analysis of more
general contact problems.

7.6 Problems

7.1 A block of mass m is positioned a distance ho above a block of mass M,


which rests in static equilibrium on a spring of modulus k. Both masses slide
without friction on the vertical rod. Mass m is released from rest and eventually
impacts mass M. The two masses stick together after impact. Assume that the spring
connected to the masses acts in both directions. Find the maximum height hf above
the original position of mass M that the combined system reaches for the specific
case where M = 3m and kho = 5mg.

ho
hf

@seismicisolation
@seismicisolation
330 7 Impact

7.2 A block A, of mass m, is moving to the left with speed vo when it collides with
block B, of mass 2m, which is at rest. The masses stick together and travel along
the frictionless horizontal rod. The spring of stiffness k has an unstretched length of
b. Find the velocity v1 of the masses just after they impact. Find maximum distance
zf that the two-block system will travel before being pulled back by the spring for
the specific case where mvo2 = 6kb2 .

b k

vo

7.3 A block of mass m hits and sticks to the end B of a rigid bar of length 4L. The
block has a downward velocity of vo just before impacting the bar, as shown. The
bar has a mass per unit length ρ̄. The bar is at rest prior to impact, and the spring of
modulus k attached at A is stretched before impact to hold the bar in a horizontal
position. The bar can pivot freely at point O and is free to rotate once impacted.
Find the angular velocity ω of the bar just after impact. How large does the initial
velocity vo of the mass have to be to rotate the bar to an angle of θ = π/6 before
the spring pulls it back? Assume that ρ̄L = 3m and kL = 48mg.

m
vo

L 3L

7.4 Two bars of length L are welded together forming a right angle. The system
hangs at rest from a frictionless hinge at O. Each bar has a mass per unit length
ρ̄. The bar is struck at end B by a mass m that is traveling at a speed vo in the
horizontal direction just prior to impact. The mass sticks to the bar after impact.
Find the velocity vA of point A right after impact. Find the energy Eloss lost in
impact.

L L

m
vo

@seismicisolation
@seismicisolation
7.6 Problems 331

7.5 A uniform rod of mass per unit length of ρ̄ and length L is dropped at an angle
ϕ with the vertical, and both ends have a velocity vo as end B hits the ground.
Determine the angular velocity ω just after impact. If end B pivots about its contact
point during the remainder of the motion, determine the speed v1 just before end C
hits the ground.

vo

vo
v1

7.6 A hollow uniform disk of inside radius 0.5R and outside radius R, with mass
per unit area of ρ̂, is rigidly connected to a bar with negligible mass that is hinged
at point O. The disk, initially at rest, is struck at by an impulsive force P (t). Find
the total impulse P̂ needed to rotate the bar to the horizontal position (i.e., to rotate
90◦ from its initial position). The disk can rotate freely without interference from
the support hinge.

R
P(t )

1
2
R

7.7 A rectangular plate of dimensions 2L by L with uniform mass per unit area
of ρ̂ is hinged and rotates freely about point O. The plate is resting in the position
shown at left when it is struck by mass m with velocity vo moving in the vertical
direction. The mass sticks to the plate on impact. Determine the velocity vo required
to get the plate/mass system to just rotate up to 90◦ .

@seismicisolation
@seismicisolation
332 7 Impact

2L

m
vo

7.8 The billiard ball of total mass m and radius r is at rest on a table when it is
struck horizontally by the cue. Immediately after impact, the velocity of the center
of the ball is v. Find the angular velocity ω of the ball immediately after the impact.
The coefficient of friction between the ball and table is μ.

1
2
r

7.9 The half ring of radius R has a mass per unit length of ρ̄. The ring can rotate
freely about the vertical axis. A bullet of mass m = 0.1ρR, traveling at a speed
of vo , strikes the ring at point C perpendicular to the plane of the ring. The bullet
becomes embedded in the ring. Determine the angular velocity ω of the ring after
the impact. The ring is initially at rest.

e2 Top view
e1

vo

R
vo

e3 e3
e1 e2

Side view End view

@seismicisolation
@seismicisolation
7.6 Problems 333

7.10 A ball of mass m is dropped from a height h. It impacts and sticks to a cup
attached to a hollow uniform disk of outer radius R, inner radius 0.5R, thickness t,
and mass density ρ. The disk starts at rest and can rotate freely about a pin at point
O. Compute the angular velocity ω of the disk and mass system immediately after
impact. Assume that the dimensions of the ball and cup are small compared to the
radius of the disk and that the cups and spokes have negligible mass. Express the
result in terms of the ratio γ of the mass of the disk to the mass of the ball.

R
h
1
2
R

7.11 A uniform thin plate of dimension L by L has a mass per unit area of ρ̂. The
plate is held by ball and socket joints at two corners and is at rest in the position
shown. An object strikes the plate at the lower-right corner with an impulsive force
F that is perpendicular to the initial plane of the plate. Find the equations of motion
during the impact phase. Determine the angular velocity ω and kinetic energy T of
the plate just after impact in terms of the impulse of the force F̂ .

F x

7.12 A solid uniform square plate of dimensions b, with mass per unit area of ρ̂,
is rigidly connected to a bar (with negligible mass) that is hinged at point O. The
plate, initially at rest, is struck by a particle of mass m traveling at speed vo in
the direction shown. The particle impacts the plate at point B, as shown in the
sketch, and becomes embedded in the plate. Find the angular velocity ω and the
kinetic energy T + of the system immediately after impact. Compute the fraction of
energy lost due to the impact. The disk can rotate freely without interference from
the support hinge. Use m = ρ̂ b2 /10, i.e., the particle has one tenth the mass of the
plate.

@seismicisolation
@seismicisolation
334 7 Impact

b
m
45
vo b
1
4
b

1
2
b 1
2
b

7.13 A uniform circular disk of mass density ρ̂ per unit area rolls without slipping
with a velocity vo along a horizontal plane. The disk encounters an abrupt change in
the direction of its motion as it rolls onto the incline at angle γ . Determine the new
velocity v1 of the center of the disk as it starts up the incline, and find the fraction n
of the energy that is lost due to impact with the incline if γ = 20◦ .

vo

7.14 The uniform disk has a mass per unit area of ρ̂ and is pinned at O. Note that
the pin at O does not impede the rotation. The outside radius is R, and the inside
radius is half the outside radius. The disk is initially at rest and is struck by a mass
m moving horizontally at a velocity of vo just prior to impact. The mass sticks to
the disk and rotates with it after impact. Find the velocity vo required to rotate the
system by 90◦ . Express the results in terms of the ratio γ of the total mass of the
disk to the mass m.

R
vo
m 1
2
R

7.15 A solid uniform right triangular plate with two sides of length h and mass per
unit area of ρ̂ is hinged at point O. The plate is struck at point B by a particle of
mass m traveling at a speed of vo in the horizontal direction. The particle impacts
and embeds into the plate. Prior to the impact, the plate was at rest in the static

@seismicisolation
@seismicisolation
7.6 Problems 335

position. Determine the angular velocity ω and loss of energy Eloss of the system
due to impact. The plate can rotate freely without interference from the support
hinge. Express your results in terms of the ratio γ of the mass of the triangle to the
mass m.

h h
vo

7.16 A solid uniform rectangular plate of dimension 2b by b, with mass per unit
area of ρ̂, is rigidly connected to a bar of negligible mass that is hinged at point O.
The plate, initially at rest, is struck by a particle of mass m traveling at speed vo in
the direction shown. The particle impacts the plate at point B shown in the sketch
and becomes embedded in the plate. Find the angular velocity ω and kinetic energy
T + of the plate immediately after impact. Compute the fraction n of energy lost
due to the impact. The disk can rotate freely without interference from the support
hinge. Note that m = ρ̂b2 /5, i.e., the particle has ten percent of the mass of the
plate.

m
45 b
vo

b b

7.17 The two slender bars of length L have mass per unit length of ρ̄. The top bar
is pinned at O, and the two bars are connected by a hinge at B. The bottom bar is
subjected to an impulsive force F (t) at point C. Compute the angular velocities ω1
and ω2 of the top and bottom bars, respectively, immediately after the impulse. The
bars are initially at rest in the vertical position. Express the result in terms of the
total impulse F̂ of the force F (t).

@seismicisolation
@seismicisolation
336 7 Impact

L
F (t )

7.18 Computation. Extend Code 7.1 to solve the problem of a particle with multiple
constraint surfaces. In particular, implement a code to solve the problem of a particle
in a box (in either 2D or 3D). Each side of the box represents a separate constraint
surface. The functions gi (x, y, z) for i = 1, ..., 6 must be such that the values are
positive inside the box and negative outside the box. Thus, the unit normal vectors
for all six sides must point toward the inside of the box. Include a loop over the
six sides in the contact detection scheme. In the event that the particle violates more
than one of the constraints, show that using the most violated constraint and ignoring
the others properly resolves the contact.
7.19 Computation. Extend Code 7.1 to solve the problem of n particles impacting
a surface. Ignore the effects of particles contacting each other, but include all
particles impacting the surface. Use the code to study chaotic motion by starting all
particles at nearly the same location with the same initial conditions, and observe
the departure of their paths of motion as time progresses.
7.20 Computation. Extend Code 7.4 to treat the case of n bars impacting each
other. Depending on the bar lengths, it is possible for bars that are not immediately
adjacent to impact each other (e.g., with a smaller bar in between). The contact
detection scheme should include all possibilities of contact. Use the code to explore
the behavior of the multi-bar system. As an example, examine the Newton’s cradle
scenario with all bars having equal length and mass.

@seismicisolation
@seismicisolation
Chapter 8
Vibrations

Dynamical systems that have restoring forces tend to oscillate under the influence
of applied loads or when otherwise disturbed from equilibrium. Gravity provides a
restoring force for a pendulum as it swings back and forth. No matter which side
the pendulum is on, the force of gravity acts to push it back toward the center.
The result is oscillation. Springs are also common mechanical devices that provide
restoring forces. If a spring is longer than its unstretched length, it pulls. If it is
shorter, then it pushes. Beams and columns act to bring a building structure back
to its vertical equilibrium configuration when disturbed by dynamic force (e.g.,
due to earthquake or wind). In this chapter, we explore classical solution methods
for systems that vibrate and examine those solutions for insight into the physical
features of vibration.
The essential features of the response of an oscillating system can be observed
in a single-degree-of-freedom (SDOF) spring/mass oscillator. Hence, we start our
exploration of vibration there, both to learn how to solve the differential equations
that govern these types of systems and to see some of the basic behavioral features
of vibrating systems.1 Among those features, we will find that a linear SDOF system
possesses a natural frequency, which is determined by the physical properties of the
system, and the system will resonate if excited by a sinusoidal force with a driving
frequency equal to the natural frequency.
Systems that can be described by linear differential equations can be solved
analytically. However, we know that most of the equations of motion that we have
encountered in dynamics have been nonlinear due to rotation. Nonlinear systems
with restoring forces can also oscillate, but they are not amenable to the classical
solution methods that can be used to solve linear systems. If we linearize the
equations of motion of a nonlinear system, then we can gain insight about the

1 We use the terms oscillation and vibration somewhat interchangeably. In most cases, we reserve
the term oscillation to connote a more general back-and-forth motion and the term vibration to
suggest a motion that is purely sinusoidal.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2025 337
K. D. Hjelmstad, Engineering Dynamics,
https://doi.org/10.1007/978-3-031-56376-8_8
@seismicisolation
@seismicisolation
338 8 Vibrations

vibrational motion associated with small deviations from the static equilibrium
position. Once linearized, the solution strategy follows the same path as the linear
system.
Systems with more than one degree of freedom show physical phenomena
that are not present in systems with only one degree of freedom. In particular, a
system with multiple degrees of freedom will have multiple natural frequencies,
and associated with each one, there is a special shape (called the mode shape) that
characterizes the displacement of the system when oscillating at that frequency. The
second part of the chapter examines systems with two degrees of freedom as an
illustration of the method of solution and the new physical phenomena and then
generalizes the approach to linear systems with N degrees of freedom. We end with
a code that computes the dynamic response of a system with N degrees of freedom.2

8.1 The SDOF Oscillator

To understand vibrations, we will consider the system shown in Fig. 8.1. The body
has mass m, the viscous damper has modulus c, the spring has stiffness k, and the
system is subjected to a time-dependent forcing function .f (t). We will characterize
the motion of the mass by the displacement .u(t), which measures the horizontal
motion of the center of the mass.3 The position .x(t) of the mass, relative to the
inertial reference frame, is

k m
f (t ) Reference e2
position e1
c

xo
mg e2
u (t ) fs ku e1
Deformed f f e1
position fd cu e1
Ne 2

Fig. 8.1 The SDOF system. The SDOF system has a mass m, damping constant c, and spring
stiffness k. The position of the spring is characterized by its displacement .u(t) relative to the
unstretched position of the spring. The free body diagram is shown at the right

2 This chapter reuses Sections 3.1–4 and 4.1–3 of Hjelmstad, K.D. (2022). Fundamentals of

Structural Dynamics: Theory and Computation. Springer, Cham.


3 Actually, any point on the body can serve as the reference point because we assume that the body

is rigid and does not rotate.

@seismicisolation
@seismicisolation
8.2 Undamped Free Vibration 339

x(t) = xo e1 + u(t)e1
. (8.1)

where .xo is the fixed distance from the support to the center of the mass in the
reference position. The selection of the reference position is arbitrary, but we will
take it to be the place where the spring is unstretched. Thus, the force in the spring
is .fs = ku(t). The force in the damper is assumed to be proportional to the velocity
and has magnitude .fd = cu̇(t). The motion is constrained by the rollers to be in
the .e1 direction. The velocity is .ẋ(t) = u̇(t)e1 , and the acceleration is .ẍ(t) = ü(t)e1 ,
where each dot over a function denotes a derivative with respect to time t.
Balance of linear momentum for this system gives the equation of motion. With
reference to the free body diagram in Fig. 8.1, we get

. − ku(t)e1 − cu̇(t)e1 + f (t)e1 − mge2 + Ne2 = mü(t)e1

Taking the dot product of the equation of motion with .e1 , we get the differential
equation that governs the evolution of the function .u(t)

mü(t) + cu̇(t) + ku(t) = f (t)


. (8.2)

It is important to note that the function .N(t) is also unknown. Dotting the equation
with .e2 gives .N = mg, which proves that .N(t) is actually constant in this case. We
think of N as a reaction force associated with the constraint that motion is prevented
in the .e2 direction by the roller support. In general, there are both motion and force
unknowns in problems with constraints.
To find a unique solution to the problem, we must also satisfy initial conditions,
i.e., values of displacement and velocity at .t = 0. To wit,

u(0) = uo ,
. u̇(0) = vo (8.3)

where .uo and .vo are the specified values of initial displacement and velocity,
respectively. The solution to the problem must satisfy both the governing differential
equation and the initial conditions.

8.2 Undamped Free Vibration

An undamped system has .c = 0, and a system in free vibration has .f (t) = 0. Thus,
the equation governing the motion of the undamped SDOF system is

mü(t) + ku(t) = 0
. (8.4)

which is a linear second-order ordinary differential equation with constant coef-


ficients. Any differential equation in this class has a solution in the form of

@seismicisolation
@seismicisolation
340 8 Vibrations

exponential functions. Hence, we can try a solution of the form .u(t) = Aeλt , where
A and .λ are (as yet undetermined) constants.
To find out something about those constants and to understand why the solution
should be in this form, note that the derivatives of .u(t) are simply

u̇(t) = Aλeλt ,
. ü(t) = Aλ2 eλt

If we substitute the trial solution back into the equation of motion, we find that
( 2 )
.mλ + k Aeλt = 0

The function .eλt can never be zero. Therefore, to satisfy this equation, we have
two possibilities. If .A = 0, then .u(t) = 0, which we usually call the trivial solution
because it implies no motion and is valid only if the initial displacement and velocity
are zero. The only other possibility is

mλ2 + k = 0
. (8.5)

This equation is called the characteristic equation, and it gives us a means to


determine .λ. For notational simplicity, let us define
/
k
ω=
. (8.6)
m

and note that we get two solutions to the characteristic equation:

λ1 = iω
. λ2 = −iω (8.7)

where .i = −1 is the imaginary unit. Because there are two possible values of the
exponent, the general solution is the linear combination of both solutions. Hence,
we can write the general solution in the form

u(t) = A1 eλ1 t + A2 eλ2 t = A1 eiωt + A2 e−iωt


. (8.8)

Complex exponential functions are oscillatory. We can put the general solution into
a different form using Euler’s identity .eiϕ = cos ϕ + i sin ϕ. First, note that4

eiωt = cos ωt + i sin ωt,


. e−iωt = cos ωt − i sin ωt

Now the solution to the differential equation can be recast as follows:

4 In keeping with common practice, we note that .cos ωt = cos(ωt). When there is risk of
ambiguity, we will include the parentheses. Otherwise, assume that the operation of sine and cosine
is on the quantity .ωt and not just .ω.

@seismicisolation
@seismicisolation
8.2 Undamped Free Vibration 341

u(t) = A1 eiωt + A2 e−iωt


. = A1 (cos ωt + i sin ωt) + A2 (cos ωt − i sin ωt)
= (A1 + A2 ) cos ωt + i (A1 − A2 ) sin ωt

Defining .B1 = A1 + A2 and .B2 = i(A1 − A2 ), we can write

u(t) = B1 cos ωt + B2 sin ωt


. (8.9)

Equation 8.9 is called the general solution to Eq. 8.4. This solution satisfies the
equation of motion for any values of constants .B1 and .B2 .
Initial Conditions Let us see what the initial conditions imply. Differentiating the
general solution, Eq. 8.9, the velocity is

u̇(t) = −ωB1 sin ωt + ωB2 cos ωt


.

At .t = 0, the displacement and velocity evaluate to

u(0) = B1 cos(0) + B2 sin(0) = B1 = uo


.

u̇(0) = −ωB1 sin(0) + ωB2 cos(0) = ωB2 = vo

Hence, .B1 = uo and .B2 = vo /ω.5 Substituting these values back into Eq. 8.9 gives
the unique solution
vo
. u(t) = uo cos ωt + sin ωt (8.10)
ω
This displacement function satisfies both the governing differential equations and
the initial conditions. The displacement as a function of time is shown in Fig. 8.2.
The response starts at time zero with the initial displacement and has a slope equal
to the initial velocity. The response from that point on is a pure sinusoidal function.
We can make a few key observations from Eq. 8.10. First, the system oscillates at
a frequency .ω. We call this the natural frequency of the system because it depends
only on the physical properties, k and m, of the system. The natural frequency
emerged from the characteristic equation, and it represents the only possibility for
motion in free vibration. Frequency is usually expressed in units of radians per
second (rad/s) but can also be expressed in units of cycles per second (cps), also
known as hertz (Hz), which measures how many full cycles (one cycle equals .2π
radians) occur per unit of time. We usually distinguish frequency measured in hertz
with the name circular frequency.

5 It is evident that both .B


1 and .B2 are real numbers. That implies that the original constants .A1 and
.A2 must be complex numbers whose sum is real and difference is purely imaginary.

@seismicisolation
@seismicisolation
342 8 Vibrations

2
T
u (0) vo
1
period

o
u (0) uo

Fig. 8.2 The response of the undamped SDOF system. The response of the SDOF system is a
sinusoidal oscillation with frequency .ω

Periodic motion has the defining feature that the system returns to exactly the
same state after a certain amount of time that we call the natural period of vibration,
defined as

T =
. (8.11)
ω
The period T is the time between any two corresponding points on the curve and
measures the time it takes to return to the same point of response. Figure 8.2, for
example, shows T as the time between peaks of response. A periodic motion does
not have to be sinusoidal, but a sinusoidal motion is clearly periodic.
It is also evident that the initial conditions determine the amplitude of
oscillation and that the amplitude remains constant over time. To get more
insight into the amplitude of vibration, let .uo = ρo cos ϕ and .vo = ωρo sin ϕ.
This is essentially a change of variables from rectangular to polar coordinates
where we replace .(uo , vo ) with .(ρo , ϕ) as the motion parameters. If we substitute
these expressions into Eq. 8.10 and make use of the trigonometric identity
.cos(x − y) = cos x cos y + sin x sin y, we get

u(t) = ρo cos(ωt − ϕ)
. (8.12)

where
/ ( v )2 ( )
o −1 vo
ρo =
. u2o + ϕ = tan (8.13)
ω ωuo

It should be evident from the form of this equation that .ρo is the amplitude of the
oscillation and that the angle .ϕ is a phase shift. The phase shift is simply a measure
of how far forward from .t = 0 one must go to get to the first peak of the cosine
function, i.e., the time where .ωt − ϕ = 0, as illustrated in Fig. 8.2.

@seismicisolation
@seismicisolation
8.2 Undamped Free Vibration 343

Example 8.1 The simple pendulum is an example of an oscillating system.


Find the natural frequency of vibration of a uniform pendulum of length
L with mass per unit length of .ρ̄, shown in Fig. 8.3, if the amplitude
of oscillation is small. Find the response as a function of time for small
oscillations if the pendulum starts from rest at an angle .θo .
The equations of motion for the uniform pendulum were derived in Chap. 6
on page 260. There we found that the evolution of the angle .θ (t) is governed
by the differential equation

3 ρ̄L θ̈(t) + 2 ρ̄gL sin θ (t) =0


1 3 1 2
.

where g is the acceleration of gravity. The problem with this equation is that
it is not linear.6 The offending term is .sin θ (t). From the Taylor series of the
sine function, we know that .sin θ ≈ θ for values of .θ that are small. Hence,
we can write the linearized version of this equation as

3 ρ̄L θ̈ (t) + 2 ρ̄gL θ (t) =0


1 3 1 2
.

This equation can be solved by classical means. Assume a solution of the


form .θ (t) = Aeλt . From this assumption, we can find that .θ̈ (t) = λ2 Aeλt .
Substituting these results into the linearized equation gives
( ) ( )
.
1
3 ρ̄L
3
λ2 Aeλt + 12 ρ̄gL2 Aeλt = 0

Factoring out the common terms, we can rewrite the equation as


( g ) λt
.
1
3 ρ̄L
3
λ2 + 3
2 Ae = 0
L
Fig. 8.3 Example. Pendulum
of length L and uniform mass
per unit lenght .ρ̄
L

(t )

(continued)

6A linear differential equation is one in which the time-dependent variable, e.g., .θ(t), and its
derivatives appear only in linear form. Any nonlinear function of those variables is nonlinear
(e.g., .sin θ(t)). Also, any term with .θ 2 (t), .θ̇ 2 (t), .θ̈ 2 (t) or any higher power of the time-dependent
variables is nonlinear. If the system has more than one degree of freedom, then products of the
time-depenent variables and their derivatives are also nonlinear (e.g., .θ1 (t)θ2 (t)).

@seismicisolation
@seismicisolation
344 8 Vibrations

Example 8.1 (continued)


If .A = 0, then .θ (t) = 0 for all time, and there is no way to satisfy nonzero
initial conditions. The function .eλt is never zero. Hence, the only way the
assumed solution will work is if
/
3 g 3 g
.λ + = → = ±i
2
2L 0 λ 2L

Thus, .λ is a purely imaginary number,


√ and there are two solutions. With
Euler’s identity, then, letting .ω = 3g/2L, we can express the final solution
as
. θ (t) = B1 cos ωt + B2 sin ωt

Finally, we can determine constants .B1 and .B2 with the initial conditions. To
implement the condition on angular velocity, we must take the derivative of
the solution for .θ (t). To wit,

θ̇ (t) = −ωB1 sin ωt + ωB2 cos ωt


.

From .θ (0) = θo and .θ̇ (0) = 0, we find .B1 = θo and .B2 = 0. Thus, the solution
is
θ (t) = θo cos ωt
.


which is an oscillation of magnitude .θo at a frequency of .ω = 3g/2L.
Observe that the frequency is a function of physical parameters g and L. The
mass of the pendulum does not affect the motion.

Standard Form One interesting observation that emerges from the examples we
have seen is that if we divide the equation of motion through by the leading
coefficient, then we can put the linear differential equation into what we call the
standard form or canonical form:

ü(t) + ω2 u(t) = 0
.

where .u(t) is the motion variable of the problem and .ω2 is just the resulting
coefficient sitting in front of the other term (.3g/2L in the case of the pendulum and
.k/m in the case of the linear oscillator). The characteristic equation then is simply

.λ + ω = 0, which yields solutions .λ1 = iω and .λ2 = −iω. Following the same
2 2

steps as the previous examples, the general solution to the differential equation is

u(t) = B1 cos ωt + B2 sin ωt


.

@seismicisolation
@seismicisolation
8.2 Undamped Free Vibration 345

In other words, if you divide the equation through by the leading coefficient of
the second derivative term, then the coefficient of the term with no derivatives is
the square of the natural frequency of the system. This algebraic simplification
can always be done, so this approach gives a shortcut to identifying the natural
frequency of the SDOF system.
Oscillation About the Static Equilibrium Position When a system vibrates, it
oscillates around the static equilibrium configuration. In the pendulum example, the
static position is .θ = 0. When we linearized the equation of motion, we assumed that
the values of .θ would be small. That allowed us to use the approximations .sin θ ≈ θ
and .cos θ ≈ 1. What if the time-dependent variable is not small in the neighborhood
of the static equilibrium position? The next example sheds some light on that case.

Example 8.2 The half-circle bar of radius r and mass per unit length .ρ̄
swings freely about the hinge at .O, as shown in Fig. 8.4a. Compute the natural
frequency of the system as it oscillates about the static equilibrium position.
Figure 8.4b shows the geometry sketch with the time-dependent variable
.θ (t) identified. The typical particle .A is located relative to the right end of

the bar with the angle .ϕ ∈ [ 0, π ]. To help with the description of motion, we
introduce unit vectors

n(t) = cos θ (t)e1 + sin θ (t)e2


.
m(t) = − sin θ (t)e1 + cos θ (t)e2

Note that .ṅ = θ̇ m and .ṁ = −θ̇n. The second set of unit vectors point from the
center of the circle through the typical particle and have the expression
( ) ( )
p(ϕ, t) = cos θ (t) + ϕ e1 + sin θ (t) + ϕ e2
.
( ) ( )
q(ϕ, t) = − sin θ (t) + ϕ e1 + cos θ (t) + ϕ e2

q p
e2
e1
m
n

r (t )

(a) (b)

Fig. 8.4 Example. Half-circle bar of radius r and mass per unit length .ρ̄ is hinged at .O and
swings freely around that point. (a) Reference configuration. (b) Geometry sketch

(continued)

@seismicisolation
@seismicisolation
346 8 Vibrations

Example 8.2 (continued)


with .ṗ = θ̇q and .q̇ = −θ̇p. The position and velocity of the typical particle .A
are
| |
x(ϕ, t) = r n(t) + p(ϕ, t)
. | |
ẋ(ϕ, t) = r θ̇(t) m(t) + q(ϕ, t)

We will find the equation of motion using conservation of energy. Hence, we


first need to compute the energy. The potential energy due to gravity is
| π
Ug =
. ρ̄g x(ϕ, t) · e2 r dϕ
0
| π | |
= ρ̄gr 2 n + p · e2 dϕ
0
| π | |
= ρ̄gr 2 sin θ + sin(θ + ϕ) dϕ
0
( )
= ρ̄gr 2 π sin θ + 2 cos θ

The kinetic energy is


| π
T = 2 ρ̄ ẋ(ϕ, t) · ẋ(ϕ, t) r
1

0
| π ( ) ( )
= 1 3 2
2 ρ̄ r θ̇ m + q · m + q dϕ
0
.
| π ( )
= 1 3 2
2 ρ̄ r θ̇ 2 + 2 cos ϕ dϕ
0

= π ρ̄ r 3 θ̇ 2

Conservation of energy says that the time derivative of the total energy must
be zero. Hence,

d| | d| ( )|
T + Ug = π ρ̄ r 3 θ̇ 2 + ρ̄gr 2 π sin θ + 2 cos θ
dt dt
. | ( )|
= 2π ρ̄ r 3 θ̈ + ρ̄gr 2 π cos θ − 2 sin θ θ̇ = 0

The angular velocity .θ̇ (t) will not be zero all the time. Thus, for energy to be
conserved, we must have
(continued)

@seismicisolation
@seismicisolation
8.2 Undamped Free Vibration 347

Example 8.2 (continued)


( )
2π ρ̄ r 3 θ̈ + ρ̄gr 2 π cos θ − 2 sin θ = 0
.

which is the equation of motion. We cannot linearize this equation by saying,


for example, .sin θ ≈ θ and .cos θ ≈ 1 because the static equilibrium angle is
not small and oscillation will be in the neighborhood of static equilibrium. In
fact, we expect the bar to hang down with an angle past .−π/2. We cannot
intuit the static position, as we did in previous examples, but we can solve for
it.
To find the static equilibrium position, we simply need to set any time
derivatives in the equation of motion equal to zero (static equilibrium means
no motion). In this case, we only need to set .θ̈ = 0. The static equation is,
therefore,
( )
ρ̄gr 2 π cos θs − 2 sin θs = 0
.

where .θs is the value of the angle at the static position. This equation has many
solutions because the sine and cosine functions are periodic. The equation can
be put into the form

. tan θs = 12 π (8.14)

Three solutions to this equation, shown in Fig. 8.5 as the open circles where
the tangent function intersects the value .π/2, are

θs = −2.1377, 1.0049, 4.1455 rad


.

s 4.1455rad

s 2.1377 rad

Fig. 8.5 Solution of the static equation. There are many solutions to the equation
.tan θs= π/2. Three of them are shown here with open circles. The solid lines are the
function .tan θ, and the dotted horizontal line is at .π/2. The static position is shown in
the sketch on the right. The point .G is the center of mass

(continued)

@seismicisolation
@seismicisolation
348 8 Vibrations

Example 8.2 (continued)


The solutions .θs = −2.1377 rad (.−122.5◦ ) and .θs = 4.1455 rad (.237.5◦ ) are
the ones we seek because those represent the stable equilibrium position with
the half-circle bar hanging below the hinge. These two solutions actually
represent the same position, the former rotated clockwise and the latter
counterclockwise from the position with .θ = 0. The stable static position is
shown in the sketch on the right in the figure. The point .G is the center of
mass. As expected, the static position is the configuration that has the center of
mass directly below the support—the configuration with minimum potential
energy. The other solution, .θs = 1.0049 rad (.57.6◦ ), is also a case where the
center of mass is directly in line with the support. However, in that case, the
bar is above the support—a configuration with maximum potential energy.
It is a position of static equilibrium, but it is unstable, and a system cannot
vibrate about an unstable equilibrium configuration. All other solutions to
Eq. 8.14 either replicate the stable position or the unstable position.
To linearize the equations of motion, we must define an angle that is small
in the neighborhood of the static position, which we can accomplish with a
simple change of variable. Take .α(t) = θ (t) − θs . Because .θs is constant, the
second derivative is .α̈(t) = θ̈(t). Substituting .θ = α + θs into the equations of
motion gives
| |
.2π ρ̄ r α̈ + ρ̄gr π cos(α + θs ) − 2 sin(α + θs ) = 0
3 2
(8.15)

We can use the angle-sum trigonometric identities

cos(α + θs ) = cos α cos θs − sin α sin θs


.
sin(α + θs ) = cos α sin θs + sin α cos θs

Now, we can manipulate the term in square brackets in Eq. 8.15 as follows:
| | | |
• = π cos(α + θs ) − 2 sin(α + θs )
. | ( ) ( )|
= π cos α cos θs − sin α sin θs − 2 cos α sin θs + sin α cos θs

Factor out .π cos θs from all terms to get


| | |( ) 2( )|
• = π cos θs cos α − sin α tan θs − cos α tan θs + sin α
π
| π (
2 π )|
. = π cos θs cos α − sin α − cos α + sin α
2 π 2
|π 2 |
= −π cos θs sin α + = 3.7242 sin α
2 π
(continued)

@seismicisolation
@seismicisolation
8.3 Damped Free Vibration 349

Example 8.2 (continued)


where we have noted that .cos θs = −0.5370 and .tan θs = π/2. With this
simplification, the equation of motion reduces to

2π ρ̄ r 3 α̈(t) + 3.7242 ρ̄gr 2 sin α(t) = 0


.

which can be linearized very simply. Letting .sin α ≈ α and dividing through
by .2π ρ̄r 3 gives
g
. α̈(t) + 0.59272 α(t) = 0
r
Thus, we can identify from the standard form of the equation of motion that
the natural frequency is
/ /
g g
ω=
. 0.59272 = 0.7699
r r

This example illustrates the role that the static equilibrium position plays in the
reduction of a general equation of motion to a linear differential equation amenable
to the classical solution technique presented in this chapter. It is important to
realize you cannot assume that the time-dependent variable you have selected to
characterize the motion will be small in the neighborhood of the static equilibrium
position. If it is not, then a change of variable using the static position is warranted.

8.3 Damped Free Vibration

Most real systems show a decay of motion with time in free vibration. The simplest
model that does this is the spring/mass/damper system shown in Fig. 8.1. The
damper accrues force in proportion to the velocity, with constant of proportionality
c. The damped equation of motion without applied force is

mü(t) + cu̇(t) + ku(t) = 0


. (8.16)

We solve this equation in exactly the same way we did the undamped system.
Assume a solution in the form .u(t) = Aeλt . Differentiate .u(t) with respect to t to
get the velocity .u̇(t) = Aλeλt and acceleration .ü(t) = Aλ2 eλt . Substitute these into
Eq. 8.16 to get
( 2 )
.mλ + cλ + k Aeλt = 0

@seismicisolation
@seismicisolation
350 8 Vibrations

Again, either .A = 0 (implying no motion) or the constant .λ must satisfy the


characteristic equation

mλ2 + cλ + k = 0
. (8.17)

which is simply a quadratic equation, whose solution is



−c ± c2 − 4mk
λ=
. (8.18)
2m
We can put this solution into a much more convenient form by making the following
definitions:
/ /
k c
.ω = , ξ= √ , ω̄ = ω 1 − ξ 2 (8.19)
m 2 mk

Notice that .ω is defined in the same way as the undamped system. We call .ξ
the damping ratio and .ω̄ the damped natural frequency for reasons that will soon
become evident. With these definitions, we can write the two solutions in Eq. 8.18
in the more compact form
/
. λ = −ξ ω ± ω ξ 2 − 1

A system with damping ratio less than one is called underdamped. For the
underdamped case (.ξ < 1), we get

λ1 = −ξ ω + i ω̄,
. λ2 = −ξ ω − i ω̄

With two roots to the characteristic equation, the general solution is

.u(t) = A1 eλ1 t + A2 eλ2 t (8.20)

Unlike the undamped case, the complex roots have a real part and an imaginary
part. To put the solution into its simplest form, we will use the law of exponents and
apply Euler’s identity to convert the imaginary exponential to sinusoids. To wit,

eλ1 t = e(−ξ ω+i ω̄)t = e−ξ ωt ei ω̄t = e−ξ ωt (cos ω̄t + i sin ω̄t)
.

and

eλ2 t = e(−ξ ω−i ω̄)t = e−ξ ωt e−i ω̄t = e−ξ ωt (cos ω̄t − i sin ω̄t)
.

As before, let .B1 = A1 + A2 and .B2 = i(A1 − A2 ). Now, the final form of the
general solution to the damped equation of motion is

@seismicisolation
@seismicisolation
8.3 Damped Free Vibration 351

( )
u(t) = e−ξ ωt B1 cos ω̄t + B2 sin ω̄t
. (8.21)

The damped natural frequency .ω̄ appears in the arguments of the sine and cosine
functions. Hence, the frequency of oscillation is .ω̄ and not .ω, as it was in the
undamped case. Thus, damping affects the frequency of vibration. However, for
small values of the damping ratio, the damped natural frequency is nearly equal
to the undamped natural frequency (e.g., for .ξ = 0.2, the difference is roughly two
percent).
We can use the initial conditions to find a unique solution to the problem. Again,
using .u(0) = uo and .u̇(0) = vo allows us to determine the values of constants .B1 and
.B2 . First, the initial displacement condition gives

u(0) = B1 = uo
.

thereby establishing the value of .B1 . We can compute the velocity by differentiating
the displacement with respect to time
( )
u̇(t) = − ξ ωe−ξ ωt B1 cos ω̄t + B2 sin ω̄t
.
( )
+ e−ξ ωt −ω̄B1 sin ω̄t + ω̄B2 cos ω̄t

Substituting the initial velocity, we get

u̇(0) = −ξ ωB1 + ω̄B2 = vo


.

Solving for .B2 , using the value we already determined for .B1 , gives

vo + ξ ωuo
.B2 =
ω̄
Substituting back into the original expression for the displacement gives
( vo + ξ ωuo )
u(t) = e−ξ ωt uo cos ω̄t +
. sin ω̄t (8.22)
ω̄
This is the classical solution for damped free vibration of the SDOF oscillator. We
can put this solution into polar form, as we did for the undamped case. To wit,

u(t) = ρo e−ξ ωt cos (ω̄t − ϕ)


. (8.23)

where the amplitude and phase angle of the motion are defined as
/
( )2 ( )
vo + ξ ωuo −1 vo + ξ ωuo
ρo =
. u2o + , ϕ = tan (8.24)
ω̄ ω̄uo

@seismicisolation
@seismicisolation
352 8 Vibrations

Fig. 8.6 Damped motion of the SDOF system. The response of the damped SDOF system is an
exponentially decaying sinusoidal oscillation. This case has .ω = 2, .ξ = 0.05, .uo = 3, and .vo = 10.
The envelope is the function .±ρo e−ξ ωt

The similarities with the undamped case, Eq. 8.13, should be noted. In fact, Eq. 8.24
reduces to Eq. 8.13 when the damping ratio .ξ is zero.
Damping affects both the magnitude and phase angle of the oscillator. One way
to interpret the response is to observe that it is a sinusoidal oscillation that decays
exponentially with time due to the .e−ξ ωt multiplier. The larger the damping ratio,
the faster the decay. A typical response of a damped system is shown in Fig. 8.6,
which includes a plot of the bounding exponential decay functions (.ρo e−ξ ωt and
.−ρo e
−ξ ωt ). The sinusoidal oscillation is contained within those bounds.

Overdamped Systems If .ξ ≥ 1, both roots of the characteristic equation (Eq. 8.18)


are real, with values
( / ) ( / )
λ1 = −ω ξ + ξ 2 − 1 ,
. λ2 = −ω ξ − ξ 2 − 1

Both roots are negative because .ξ > ξ 2 − 1, which means that the solution will
decay exponentially without oscillation. Implementing the boundary conditions
gives
( ) ( )
.u(t) = 1
2 uo − β/α e−ω(ξ +α)t + 21 uo + β/α e−ω(ξ −α)t

where
/
vo
.α= ξ 2 − 1, β= + ξ uo
ω
The case with .α = 0, which corresponds to .ξ = 1, is called critical damping. The
roots of the characteristic equation are equal in this case with

λ1 = λ2 = −ω
.

@seismicisolation
@seismicisolation
8.4 Forced Vibration 353

2.5
2.0
1.5
1.0

Fig. 8.7 Overdamped motion of the SDOF system. The response of the damped SDOF system is
an exponentially decaying sinusoidal oscillation. This case has .ω = 2, .uo = 3, and .vo = 10 with
various values of the damping ratio

Therefore, the solution takes the form


( )
u(t) = A1 + A2 t e−ωt
.

Implementing the initial conditions gives


| ( ) |
u(t) = uo + ωuo + vo t e−ωt
.

Typical responses for overdamped systems with various damping ratios are shown
in Fig. 8.7. No oscillation occurs for any of these damping values. The critically
damped system (plotted with the heavier line) has the largest initial response but
damps out faster than the systems with higher damping. For very large values of
the damping ratio, the solution tends to the constant value .u(t) = uo . Physically, the
large damping constant impedes the development of velocity, making the system
reluctant to deviate from its initial position .uo .

8.4 Forced Vibration

Most students of dynamics have been steeped in statics where the loads are present
with no indication of how they came to be there. In reality, loads come upon a
system in a dynamic fashion, and the nature of how that happens can influence the
response. By studying the classical solution of the damped SDOF oscillator under a
few different temporal loading variations, we can see some of the important dynamic
phenomena in a very simple context, most of which also manifest in more complex
systems.

@seismicisolation
@seismicisolation
354 8 Vibrations

Recall the governing equation of the damped, forced system (Eq. 8.2):

. mü(t) + cu̇(t) + ku(t) = f (t)

In what follows, we will consider suddenly applied constant loading and sinusoidal
loading. Along the way, we will encounter important dynamic phenomena, like
resonance, and we will get a dynamic perspective on static equilibrium.
Solution of Non-homogeneous Differential Equations The solution of a linear
differential equation can be found as the sum of the homogeneous solution .uh (t)
and a particular solution .up (t):

u(t) = uh (t) + up (t)


. (8.25)

The homogeneous solution satisfies

müh (t) + cu̇h (t) + kuh (t) = 0


.

The particular solution is any function .up (t) that satisfies

.müp (t) + cu̇p (t) + kup (t) = f (t) (8.26)

Initial conditions must be satisfied for .u(t), but not necessarily either of the other
two individually.
The homogeneous solution is simply the solution to the equation when .f (t) = 0.
Of course, that is the solution we have already found for the free vibration problem.
Hence,

uh (t) = e−ξ ωt (B1 cos ω̄t + B2 sin ω̄t)


. (8.27)

The task that we face in solving the forced problem is to find a particular solution
and to then satisfy the initial conditions for the general solution. Thus, we must have

u(0) = uh (0) + up (0) = uo


.

u̇(0) = u̇h (0) + u̇p (0) = vo

Since we already know the particular solution, we can use it to express the initial
condition equations

u(0) = B1 + up (0) = uo
. (8.28)
u̇(0) = −ξ ωB1 + ω̄B2 + u̇p (0) = vo

These two equations are sufficient to determine constants .B1 and .B2 . It is evident
that the nature of the particular solution influences the outcome of this calculation.

@seismicisolation
@seismicisolation
8.4 Forced Vibration 355

8.4.1 Suddenly Applied Constant Load

The first case to consider is the suddenly applied load that remains constant after it is
applied. That is what happens when you step on the bathroom scale in the morning.
The specific loading function for this case is

f (t) = po
. (8.29)

where .po is the (constant) magnitude of the load. The particular solution that we can
try is .up (t) = C (i.e., a constant). Note that .u̇p (t) = 0 and .üp (t) = 0. Substituting
these back into Eq. 8.26 gives .kC = po , which we can solve to give .up (t) = po /k.
Substituting this result back into Eqs. 8.28, we find constants .B1 and .B2 to be

po vo ξω ( po )
B1 = uo −
. , B2 = + uo −
k ω̄ ω̄ k
Therefore, the complete solution to the problem of the suddenly applied constant
load is
( ) p
−ξ ωt o
.u(t) = e B1 cos ω̄t + B2 sin ω̄t + (8.30)
k
We can gain insight from this equation. For example, if we have initial conditions
uo = po /k and .vo = 0, then .B1 = B2 = 0, and the solution is .u(t) = po /k, the static
.

solution. What that implies is that if you displace the system in exactly the amount
of the static deflection, apply the load, and let go, then there is no oscillation. That
is really what we assume in the statement of a typical statics problem.
In Eq. 8.30, only the term in parentheses multiplies .e−ξ ωt . That term decays
exponentially with time and the oscillations die out, leaving only the static solution.
This observation implies that the system oscillates about the static position and
eventually settles into that position if the system is damped. Finally, note that if there
is no damping and the system starts at rest (.uo = 0 and .vo = 0), then the displacement
is
po ( )
u(t) =
. 1 − cos ωt
k
Thus, the system oscillates between .u = 0 and .u = 2po /k. In other words, the effect
of the suddenly applied load is that the maximum response is double the static
response.
These phenomena are illustrated in Fig. 8.8, which shows the response for a
particular set of input parameters given in the figure caption. Observe that the
oscillations are bounded by the envelope of exponential decay defined by the
function .e−ξ ωt . Even for modest values of the damping ratio, the oscillations
decay fairly quickly. Note, also, that damping takes a toll before the first positive
peak so the maximum positive displacement does not reach two, as it would if

@seismicisolation
@seismicisolation
356 8 Vibrations

Fig. 8.8 Damped SDOF


system with suddenly applied
constant load. The damped
SDOF system has mass
.m = 1, .ξ = 0.05, .k = 5,
.po = 5, .uo = 0, and .vo = 0.
Note that the response damps
out to the static response
.po /k

undamped. The system eventually reaches static equilibrium, which in this case is
u(t) = po /k = 1.
.

8.4.2 Sinusoidal Load

Next, consider the case where a steady sinusoidal load is applied, i.e.,

f (t) = po sin Ωt
. (8.31)

where .po is the magnitude of the load and .Ω is the driving frequency. For this
loading case, we can assume a particular solution in the form

up (t) = A sin Ωt + B cos Ωt


.

The derivatives of this function are


( )
u̇p (t) = Ω A cos Ωt − B sin Ωt
. ( )
üp (t) = −Ω2 A sin Ωt + B cos Ωt

We seek values of A and B that will satisfy the equation of motion for all values
of time t. Substituting the particular solution into the governing equation (Eq. 8.26)
and rearranging terms, we get
( ) ( )
. kA − mΩ2 A − c ΩB − po sin Ωt + c ΩA + kB − mΩ2 B cos Ωt = 0

This equation can be satisfied only if the coefficients of .sin Ωt and .cos Ωt are
zero independently. If we divide the equation through by k, then we can write the
conditions for A and B in matrix form as

@seismicisolation
@seismicisolation
8.4 Forced Vibration 357

| || | | |
1−β 2 −2ξβ A po 1
. = (8.32)
2ξβ 1−β 2 B k 0

where .β = Ω/ω is the ratio of driving frequency .Ω to the undamped natural


frequency .ω. We can solve this system of equations to find the values of the
constants A and B to be

po 1−β 2 po −2ξβ
A=
. ( ) , B= ( )
k 1−β 2 2 + (2ξβ)2 k 1−β 2 2 + (2ξβ)2

Thus, the particular solution is


( )
po 1−β 2 sin Ωt − (2ξβ) cos Ωt
.up (t) = ( )2 (8.33)
k 1−β 2 + (2ξβ)2

The particular solution for the sinusoidal loading can be put into a slightly
different form using the triangle construction shown in Fig. 8.9. Let
( )2 ( )2
D = 1−β 2 + 2ξβ
. (8.34)

and define the angle .ϕ through the relationships

1−β 2 2ξβ 2ξβ


. cos ϕ = √ , sin ϕ = √ , tan ϕ =
D D 1−β 2

Using these definitions, the particular solution can be rewritten as


po ( )
up (t) = √
. sin Ωt cos ϕ − cos Ωt sin ϕ
k D

Using the trigonometric identity .sin(x − y) = sin x cos y − cos x sin y, we can
finally write the particular solution in the form
po
up (t) = √ sin(Ωt − ϕ)
. (8.35)
k D

We can use the initial conditions to solve for constants .B1 and .B2 for this case
from Eq. 8.28. At .t = 0, Eq. 8.33 or Eq. 8.35 gives

Fig. 8.9 Triangle


construction. Device to put D
2
the particular solution into
amplitude and phase form
2
1

@seismicisolation
@seismicisolation
358 8 Vibrations

2ξβ po (1 − β 2 )Ω po
up (0) = −
. u̇p (0) =
D k D k
Now, substitute these expressions into Eq. 8.28 to get
( )
2ξβ po vo + ξ ωB1 1−β 2 Ω po
.B1 = uo + , B2 = −
D k ω̄ ω̄D k
Finally, we can plug these expressions back into the general equation to get the
displacement function
( ) po
u(t) = e−ξ ωt B1 cos ω̄t + B2 sin ω̄t + √ sin(Ωt − ϕ)
. (8.36)
k D

The exact expression for the displacement is pretty complicated. A typical result
is shown in Fig. 8.10. One of the most important things to notice is that the transient
portion of the solution (i.e., the first term in Eq. 8.36) damps out to a steady-state
response (i.e., the second term in the equation).
The steady-state response is what is left after the negative exponential term
reduces to a very small value. What is left is the function
po
uss (t) = √ sin(Ωt − ϕ)
.
k D

which also happens to be the contribution of the particular solution. The steady-
state response is worth examining in a bit more detail because it holds the secret to
resonance.

steady
state

Fig. 8.10 General response to sinusoidal forcing function The response to the sinusoidal driving
force with initial conditions shows that the transient response damps out fairly quickly, leaving the
steady-state response. The system properties are .m = 1, .k = 4, .ξ = 0.05, .Ω = 4, and .po = 4

@seismicisolation
@seismicisolation
8.4 Forced Vibration 359

Fig. 8.11 Resonance. The


response to the sinusoidal
driving force at (or near) the
natural frequency produces
resonant response. The
system properties are .m = 1,
.k = 4, .ξ = 0.05, .Ω = 2, and
.po = 4

Dynamic Amplification For a system subjected to a sinusoidal driving function,


we have the possibility that the driving frequency .Ω can be at or near the natural
frequency .ω of the system. When the driving frequency is very close to the natural
frequency, we get a phenomenon called resonance wherein the motion builds up to
a large value even with a very small load magnitude. In the case shown in Fig. 8.11,
the motion grows to an amplitude of about ten, even though the static displacement
is .po /k = 1.
It is evident from the mathematical form of the solution what causes this
phenomenon. The steady-state solution includes a multiplier, the amplification
factor .A(ξ, β), that is a function of the damping ratio .ξ and the frequency ratio
.β. Let

1 1
A(ξ, β) = √ = /(
.
)2 (8.37)
D 1−β 2 + (2ξβ)2

The amplification function is shown in Fig. 8.12. The factor .A(ξ, β) defines the
amplitude of the steady-state motion. What happens in resonance is that the system
response synchronizes with the loading function so that the power (force times
velocity) is always positive. With only positive work, energy is continuously
pumped into the system, causing the motions to grow. If the system starts at rest,
the response grows through the transient phase and eventually settles into steady
state with a pure sinusoidal motion with amplitude of the static response .po /k times
.A(ξ, β).

Observe that the maximum magnification factor happens close to .β = 1 (but not
exactly). The location of the maximum can be determined by solving the equation
.dA/dβ = 0 to get the value of .β associated with the maximum of A. Doing so gives

.βmax = 1−2ξ 2 . Substituting this value into .A(ξ, β) gives value of the maximum
amplification as

1
A (ξ, βmax ) =
. √ (8.38)
2ξ 1−ξ 2

@seismicisolation
@seismicisolation
360 8 Vibrations

Fig. 8.12 Response


amplification under
sinusoidal load. Plot of 0.1
.A(ξ, β) vs. .β for damping
0.2
ratios of .ξ = 0.1, 0.2, and
0.3. The amplification factor 0.3
multiplies the static response
.po /k to give the maximum
steady-state response under
the sinusoidal load. The
frequency ratio is .β = Ω/ω

Fig. 8.13 Resonant response


without damping. When there
is no damping and .Ω = ω, the
response increases linearly
without bound. The system
properties are .m = 1, .k = 4,
.ξ = 0, .Ω = 2, and .po = 4

which, for small values of .ξ , can be very nearly approximated by .A(ξ, 1) as

1
.Amax ≈ (8.39)

This is a very important result for damped resonant motion. The maximum
amplitude is limited by the damping and is roughly equal to one over twice the
damping ratio. If the damping ratio is .ξ = 0.05, the amplification of the motion due
to resonance would be limited to a factor of 10, as demonstrated in Fig. 8.11.
The resonant response of an undamped system differs from the damped system
in important ways. The function .A(0, β) tends to infinity at .β = 1, suggesting that
there is no upper bound on the response. It is possible to prove that the growth of
the motion is linear with time, as shown in Fig. 8.13. This system has the same
properties as the one in Fig. 8.11, except that the damping ratio is zero.

@seismicisolation
@seismicisolation
8.5 Systems with Two Degrees of Freedom 361

k m k m k
mg e2 mg e 2
k e
1 1 k e
2 1
u1 (t ) u2 (t )
k e
2 1 k 3e1
N1 e 2 N 2 e2

Fig. 8.14 Two-DOF system. The 2-DOF system comprises two bodies of equal mass m connected
with three springs of equal modulus k. The masses slide without friction, and the springs are fixed
at the two ends. The kinematic picture defining the displacements is shown at left. The free body
diagrams of the masses are shown at the right

8.5 Systems with Two Degrees of Freedom

To gain an understanding of what is at stake in the dynamic analysis of systems


with multiple degrees of freedom,7 we will consider the system with two degrees of
freedom shown in Fig. 8.14. The system has two bodies, each of mass m, connected
to the supports and to each other with three springs, each of stiffness k. The masses
slide without friction, and the force in each spring is proportional to the change in
length of the spring, i.e., .fs = kΔ.
Each mass requires a position vector to track its motion, which is constrained to
be along a horizontal line. Let us write the position vectors as

x1 (t) = u1 (t)e1 ,
. x2 (t) = u2 (t)e1

where the scalar time-dependent variables .u1 (t) and .u2 (t) characterize the motion
relative to the reference configuration where the springs are unstretched. With the
position vectors established, it is simple to compute the velocities and accelerations
as

ẋ1 (t) = u̇1 (t)e1 , ẋ2 (t) = u̇2 (t)e1


.
ẍ1 (t) = ü1 (t)e1 , ẍ2 (t) = ü2 (t)e1

Balance of linear momentum comes from the free body diagrams of the masses
shown in Fig. 8.14. We can determine the spring forces by considering the amount
of stretch of each spring due to the motion of the masses. The first spring changes

7 Note that the concept of degree of freedom, which we often abbreviate DOF, is associated with the

independent motion variables. The number of independent motion variables required to describe
the motion is the number of degrees of freedom of the system.

@seismicisolation
@seismicisolation
362 8 Vibrations

length by the amount .Δ1 = u1 , the second by .Δ2 = u2 − u1 , and the third by
Δ3 = −u2 . Balance of linear momentum for the masses gives two equations of
.

motion (one for each mass):

−kΔ1 e1 + kΔ2 e1 − mge2 + N1 e2 = mü1 e1


.
−kΔ2 e1 + kΔ3 e1 − mge2 + N2 e2 = mü2 e1

Taking the dot product of each equation with .e1 , substituting the expressions for the
spring deformations in terms of displacements, and moving all terms to one side
gives the equations that govern the motion of the system in free vibration:

mü1 (t) + 2ku1 (t) − ku2 (t) = 0


. (8.40)
mü2 (t) − ku1 (t) + 2ku2 (t) = 0

These equations represent a coupled system of second-order ordinary differential


equations with constant coefficients. The coupling of the equations of motion is
caused by the springs and creates some interesting new possibilities in response that
are not present in systems with one degree of freedom.
The initial displacement and velocity must be specified for each degree of
freedom. Hence, the initial conditions can be stated as
| | | o| | | | o|
u1 (0) u u̇1 (0) v
. = 1o = 1o
u2 (0) u2 u̇2 (0) v2

where .uo1 , .uo2 , .v1o , and .v2o are given values of the state variables at .t = 0.
Solution by Exponential Functions We can put the equations of motion into
matrix form as follows:
| || | | || | | |
m 0 ü1 2k −k u1 0
. + = (8.41)
0 m ü2 −k 2k u2 0

We refer to the coefficient matrix in front of the first term as the mass matrix and the
coefficient matrix in front of the second term as the stiffness matrix. Similar to what
we did for the SDOF system, let us assume a solution in the form of exponential
functions as
| | | |
u1 (t) ϕ1 λt
. = e
u2 (t) ϕ2

where constants .ϕ1 , .ϕ2 , and .λ are yet to be determined. Taking time derivatives, we
can find the velocities and accelerations as

@seismicisolation
@seismicisolation
8.5 Systems with Two Degrees of Freedom 363

| | |
| | | | |
u̇1 (t) ϕ1 λt ü1 (t) ϕ1 λt
. =λ e =λ 2
e
u̇2 (t) ϕ2 ü2 (t) ϕ2

Substituting these back into Eq. 8.41 and collecting terms, we get
| || | | |
2k + λ2 m −k ϕ1 0
. eλt =
−k 2k + λ2 m ϕ2 0

The situation is a little different from the single-degree-of-freedom system, but it is


also very similar. We want a solution that is not the zero solution (i.e., .u1 = u2 = 0).
Note that .eλt can never be zero. Therefore, the only hope that we can arrive at a
nontrivial solution is if
| || | | |
2k + λ2 m −k ϕ1 0
. = (8.42)
−k 2k + λ2 m ϕ2 0

Equation 8.42 is called an eigenvalue problem (for more information on the


eigenvalue problem, see Appendix D). It is a homogeneous linear system of
equations. From a theorem of linear algebra, we know that this system has a solution
other than .ϕ1 = 0 and .ϕ2 = 0 if and only if the determinant of the coefficient matrix
is zero. Taking the determinant and setting it equal to zero gives
| |
2k + λ2 m −k ( )2
. det = 2k + λ2 m − k 2 = 0
−k 2k + λ2 m

This equation is called the characteristic equation. In essence, it is an equation to


determine the value of .λ. If we can find a value of .λ that works, then we have
a general solution to the governing differential equation. If not, then our original
assumption on the form of the solution was not a good one, and we have to go back
to the drawing board.
The characteristic equation is a fourth-order polynomial in .λ, but only even
powers are present, so we can view it as being quadratic in .λ2 . This equation happens
to be pretty simple to factor in this particular case. Move the .k 2 to the right side, take
the square root of both sides, and solve for .λ2 to get

−2k ± k
.2k + λ2 m = ±k, → λ2 =
m

One feature is evident right away. There are two values of .λ2 , and both are negative.
To help clarify the solution, let us define two (positive) constants
/ /
k 3k
ω1 =
. , ω2 =
m m

@seismicisolation
@seismicisolation
364 8 Vibrations

With these definitions, we can see that the four values of .λ that satisfy the
characteristic equation are

λ1 = i ω1 ,
. λ2 = −i ω1 , λ3 = i ω2 , λ4 = −i ω2

Observe that the roots come in complex conjugate pairs.


We still need to determine the values of .ϕ1 and .ϕ2 . To get them, we will return
to Eq. 8.42 with the two unique values of .λ2 that we found from the characteristic
equation. If we substitute the first value, .λ2 = −k/m, we get
| || | | |
k −k (1)
ϕ1 0
.
(1) = (8.43)
−k k ϕ2 0

where we have added the superscript .[ • ](1) to indicate that these values are
associated with the first value of .λ2 . Since Eq. 8.43 is singular, we only know that

(1) (1)
ϕ1 = ϕ2
.

We cannot uniquely determine their respective values. Both equations give the same
result. Hence, we can say that the solution to the system of equations is
| (1)
| | |
ϕ1 1
.
(1) =A
ϕ2 1

where A is an arbitrary constant that cannot be determined from the eigenvalue


problem. Because these values are known relative to each other, but not absolutely,
we call them mode shapes. The shape is known, but the magnitude is not. For each
value of .λ2 , there is an associated mode shape.
We can find the second mode shape by plugging in the second value of
.λ = −3k/m into Eq. 8.43. If we do that, then we get
2

| || | | |
−k −k (2)
ϕ1 0
.
(2) =
−k −k ϕ2 0

(2) (2)
Following the same logic as we did for the first one, we find .ϕ1 = −ϕ2 , or
| (2)
| | |
ϕ1 1
.
(2) =B
ϕ2 −1

where, again, the constant B is arbitrary and cannot be determined from the
eigenvalue problem.

@seismicisolation
@seismicisolation
8.5 Systems with Two Degrees of Freedom 365

Now that we have completed the solution of the eigenvalue problem, let us get
back to finding the general solution to the differential equation. We found two mode
shapes that correspond to the two unique values of .λ2 . Note also that we got four
values of .λ, which appeared as two pairs of complex conjugate values. Hence, we
can write the general solution to the differential equation as
| | | |( ) | 1 |( )
u1 (t) 1
. = A1 eiω1 t + A2 e−iω1 t + B1 eiω2 t + B2 e−iω2 t
u2 (t) 1 −1

Noting Euler’s identities .eix = cos x + i sin x and .e−ix = cos x − i sin x, we can
rewrite this equation in terms of sines and cosines as
| | | |
u1 (t) 1
= (C1 cos ω1 t + D1 sin ω1 t)
u2 (t) 1
. | | (8.44)
1
+ (C2 cos ω2 t + D2 sin ω2 t)
−1

where the new constants can be expressed in terms of the old ones as

C1 = (A1 + A2 ) , D1 = i (A1 − A2 )
.
C2 = (B1 + B2 ) , D2 = i (B1 − B2 )

We now have the complete general solution to the original differential equation.
Initial Conditions To get the values of the constants, we implement the initial
conditions. We know the displacement and velocity of each mass at time .t = 0.
Hence, we can write
| | | | | | | || | | o|
u1 (0) 1 1 1 1 C1 u1
. = C1 + C2 = =
u2 (0) 1 −1 1 −1 C2 uo2

and
| | | | | | | || | | o|
u̇1 (0) 1 1 ω1 ω2 D1 v1
. = ω1 D 1 + ω2 D 2 = =
u̇2 (0) 1 −1 ω1 −ω2 D2 v2o

Solving these two equations for the constants gives


| | | | | | | ( )|
C1 1 uo1 + uo2 D1 1 ω2 v1o + v2o
. = = ( )
C2 2 uo1 − uo2 D2 2ω1 ω2 ω1 v1o − v2o

It should not be too surprising that the initial conditions occur in exactly the right
number to determine all the constants of integration of the governing differential

@seismicisolation
@seismicisolation
366 8 Vibrations

equation. We will see that certain initial conditions give rise to some interesting
special cases and that those cases are related to the mode shapes.
Modal Vibration Let’s take a look at two special cases of initial conditions. Con-
sider the case with initial displacement but no initial velocity (i.e., the system starts
from rest in a displaced position). First, take the special case where .uo1 = uo2 = uo .
In other words, both masses are moved to the right by the same amount. This initial
displacement is proportional to the first mode shape. In this case, the constants come
out as .C1 = uo , .C2 = 0, .D1 = 0, and .D2 = 0. The response is, then,
| | | |
u1 (t) 1
. = uo cos ω1 t
u2 (t) 1

For these initial conditions, the system oscillates at exactly the frequency .ω1 , with no
influence from .ω2 . The two masses remain completely synchronized as they move,
crossing zero at exactly the same time. In essence, the system is vibrating exactly
in the first mode. And when it does that, it does so at the first natural frequency. We
refer to this special case as modal vibration.
Now consider initial conditions with .uo1 = −uo2 = uo . In other words, one mass
is moved to the right, while the other is moved to the left by the same amount.
This initial displacement is proportional to the second mode shape. In this case, the
constants come out to be .C1 = 0, .C2 = uo , .D1 = 0, and .D2 = 0. The response is,
then,
| | | |
u1 (t) 1
. = uo cos ω2 t
u2 (t) −1

In this case, the system vibrates in the second mode at the second natural frequency
ω2 with no influence from the first mode.
.

These results shed light on what natural frequencies mean for systems with two
degrees of freedom and what role the mode shapes play in the dynamic response.
The system will respond to any given initial conditions, but it will only respond
with synchronized motion when the initial conditions are proportional to one of the
mode shapes. It is straightforward to follow the same approach with initial velocities
to show that if the initial velocity is proportional to a mode shape, then the system
vibrates in that mode at the natural frequency associated with that mode.

Example 8.3 Consider the pendulum of length L and mass per unit length
ρ̄ with roller at .C, shown in Fig. 8.15. The pendulum is swinging while the
.

end is rolling along the circular surface of radius L, centered at .O. Find the
equations of motion, linearize them, and solve for the natural frequencies and
mode shapes.
(continued)

@seismicisolation
@seismicisolation
8.5 Systems with Two Degrees of Freedom 367

Example 8.3 (continued)

e2 q
e1
p
L Lp
(t )
m
n sn
,L
s
(t )
(a ) (b) (c)

Fig. 8.15 Example. A pendulum of length L and mass per unit length .ρ̄ swings with one
end on a roller at .C that moves in a circular basin of radius L with origin at .O. (a) Physical
properties, (b) time-dependent variables and unit vectors, (c) components of position vector
to typical particle .A

Figure 8.15b defines the two time-dependent variables needed to charac-


terize the kinematics. The angle .α(t) measures the location of the roller at
.C, and the angle .θ (t) measures the orientation of the pendulum relative to

vertical. To aid with the description of the position and velocity, let us define
the following unit vectors:

n(t) = sin θ (t)e1 − cos θ (t)e2 ṅ(t) = θ̇(t)m(t)


.
m(t) = cos θ (t)e1 + sin θ (t)e2 ṁ(t) = −θ̇(t)n(t)

and

p(t) = sin α(t)e1 − cos α(t)e2 ṗ(t) = α̇(t)q(t)


.
q(t) = cos α(t)e1 + sin α(t)e2 q̇(t) = −α̇(t)p(t)

We have also indicated the time derivative of each vector. The position vector
can be constructed with two components, as shown in Fig. 8.15c. The position
and velocity of the typical particle .A are

x(s, t) = Lp(t) + s n(t)


.
ẋ(s, t) = Lα̇(t)q(t) + s θ̇ (t)m(t)

We will establish the equations of motion using the Euler–Lagrange method.


Hence, we will need the potential and kinetic energy of the bar. The potential
energy due to gravity is
(continued)

@seismicisolation
@seismicisolation
368 8 Vibrations

Example 8.3 (continued)


| L
U= ρ̄g x(s, t) · e2 ds
0
| L ( )
.
= ρ̄g Lp + sn · e2 ds
0
| |
= −ρ̄gL2 cos α(t) + 1
2 cos θ (t)

The kinetic energy is


| L
T = 2 ρ̄ ẋ(s, t) · ẋ(s, t) ds
1
0
| L ( ) ( )
= 1
2 ρ̄ Lα̇q + s θ̇ m · Lα̇q + s θ̇ m ds
. 0
| L ( 2 2 )
= 1
2 ρ̄ L α̇ + 2sL α̇ θ̇ m · q + s 2 θ̇ 2 ds
0
| |
= 12 ρ̄L3 α̇ 2 (t) + α̇ θ̇ cos(α − θ ) + 13 θ̇ 2

The two equations of motion can be computed from the Euler–Lagrange


equations as
d ∂T ∂T ∂U d ∂T ∂T ∂U
. − + = 0, − + =0
dt ∂ α̇ ∂α ∂α dt ∂ θ̇ ∂θ ∂θ
Carrying out the details of those calculations results in the equations of motion
| |
1
2 ρ̄L
3
2α̈ + θ̈ cos(α − θ ) + θ̇ 2 sin(α − θ ) + ρ̄gL2 sin α = 0
.
| |
1
2 ρ̄L
3
α̈ cos(α − θ ) + 23 θ̈ − α̇ 2 sin(α − θ ) + 12 ρ̄gL2 sin θ = 0

The equations can be simplified by dividing both equations through by .ρ̄L3 /6


and defining .γ = g/L. To wit,

6 α̈ + 3 θ̈ cos(α − θ ) + 3 θ̇ 2 sin(α − θ ) + 6 γ sin α = 0


.
3 α̈ cos(α − θ ) + 2 θ̈ − 3 α̇ 2 sin(α − θ ) + 3 γ sin θ = 0

These equations are nonlinear. To linearize them, we note that .cos x ≈ 1


and .sin x ≈ x for small values of x. The terms .θ̇ 2 sin(α − θ ) and .α̇ 2 sin(α − θ )
(continued)

@seismicisolation
@seismicisolation
8.5 Systems with Two Degrees of Freedom 369

Example 8.3 (continued)


can be neglected because they are proportional to something small multiplied
by something small multiplied by something small. A small number squared
or multiplied by another small number is much smaller than the original num-
ber. For example, if .x = 0.1, then .x 2 = 0.01 and .x 3 = 0.001. The linearized
equations, in matrix form, are
| || | | || | | |
6 3 α̈ 6γ 0 α 0
. + = (8.45)
3 2 θ̈ 0 3γ θ 0

Similar to what we did previously, let us assume a solution in the form of


exponential functions as
| | | |
α(t) ϕ1 λt
. = e
θ (t) ϕ2

where constants .ϕ1 , .ϕ2 , and .λ are yet to be determined. Taking time
derivatives, we determine that
| | | |
α̈(t) ϕ1 λt
. = λ2 e
θ̈ (t) ϕ2

Substituting these back into Eq. 8.45, we get


| || | | |
6λ2 + 6γ 3λ2 ϕ1 0
. eλt =
3λ2 2λ2 + 3γ ϕ2 0

Because the exponential function cannot be zero, the assumed solution works
only if
| || | | |
6λ2 + 6γ 3λ2 ϕ1 0
. =
3λ2 2λ2 + 3γ ϕ2 0

and this eigenvalue problem has a nontrivial solution only if


| |
6λ2 + 6γ 3λ2 ( )( )
. det = 6λ2 + 6γ 2λ2 + 3γ − 9λ4 = 0
3λ2 2λ2 + 3γ

This is the characteristic equation to determine .λ. First, simplify the equation,
and solve it with the quadratic formula. To wit,
( √ )
λ4 + 10γ λ2 + 6γ 2 = 0 → λ2 = − 5 ± 19 γ = (−0.6411, −9.3589)γ
.

(continued)

@seismicisolation
@seismicisolation
370 8 Vibrations

Example 8.3 (continued)


Since both of the values of .λ2 are less than zero, .λ is a purely imaginary
number. That implies that, by Euler’s identity, the exponential is equivalent to
sines and cosines, as described earlier. As we did then, let us define the natural
frequencies to be the square root of .−λ2 . In this case, we have
√ √
ω1 =
. 0.6411γ , ω2 = 9.3589γ

This change is equivalent to .eλt = eiωt . In fact, had we known that the solution
would come out to be purely imaginary, we could have started with the
imaginary exponential, i.e., assuming a solution of the form
| | | |
α(t) ϕ1 iωt
. = e
θ (t) ϕ2

Or, using Euler’s identity, we could write that equivalently as


| | | |
α(t) ϕ | |
. = 1 A cos ωt + B sin ωt
θ (t) ϕ2

To see that these starting points give the same result, we should go through
the same steps of the solution with each one to observe where the solution
varies from the one given here. We do not start with these choices because
to make them already requires some knowledge of the solution. Starting with
the basic exponential function is the most general choice, and it is instructive
to see why and when it turns out to be a complex exponential.
The mode shapes can be determined by returning to the eigenvalue problem
with the found values of .λ2 . Using the smaller of the two values, the equation
reduces to
| | | (1) | | |
6(−0.6411γ ) + 6γ 3(−0.6411γ ) ϕ1 0
(1) =
3(−0.6411γ ) 2(−0.6411γ ) + 3γ ϕ2 0
.
| || | | |
2.1534 −1.9233 ϕ1(1) 0
γ =
−1.9233 1.7178 ϕ2(1) 0

(1) (1)
which is satisfied if .ϕ1 = 0.8932ϕ2 . Similarly, using the larger of the two
values of .λ2 gives
(continued)

@seismicisolation
@seismicisolation
8.6 Generalization to N Degrees of Freedom 371

Example 8.3 (continued)


| || | | |
6(−9.3589γ ) + 6γ 3(−9.3589γ ) (2)
ϕ1 0
(2) =
3(−9.3589γ ) 2(−9.3589γ ) + 3γ ϕ2 0
.
| || | | |
−50.1534 −28.0767 (2)
ϕ1 0
γ =
−28.0767 −15.7178 ϕ2(2) 0

(2) (2)
which is satisfied if .ϕ1 = −0.5598ϕ2 . Thus, the natural frequencies and
associated mode shapes are
/ | |(1) | |
g ϕ1 0.8932
ω1 = 0.801 =
L ϕ2 1
. / | |(2) | |
g ϕ1 −0.5598
ω2 = 3.059 =
L ϕ2 1

The general solution to the equations of motion can be constructed from these
values, but we will not pursue it here.

8.6 Generalization to N Degrees of Freedom

We can generalize the preceding results to linear systems with N degrees of


freedom. It is useful to do so because it consolidates the meaning and use of the
mode shapes associated with the free vibration problem. Not only do they give rise
to the special case of pure modal vibration, but they also provide an important tool in
organizing the computations associated with the solution of systems with multiple
degrees of freedom. Let us consider the free vibration of an undamped system with
N degrees of freedom. The equations of motion can be written as

Mü(t) + Ku(t) = 0
. (8.46)

where the coefficient matrices .M and .K are the mass and stiffness matrices,
respectively. The vector .u(t) is an array containing the time-dependent variables.
The ordering of terms in columns of the coefficient matrices is determined by the
order in which the time-dependent variables appear in .u(t). The ordering of the
rows of those matrices is determined by the order of the N equations of motion. It
is generally possible to order those in a way that makes both coefficient matrices
symmetric. We will assume that is the case in what follows.
As we did previously, we will assume a form of the solution. Generally, we would
assume the time dependence of the solution to be an exponential function .eλt . If the

@seismicisolation
@seismicisolation
372 8 Vibrations

mass and stiffness matrices are symmetric, then it is relatively straightforward to


show that .λ is purely imaginary. Hence, we could start with the assumption that the
time-dependent part of the solution is .eiωt , where .ω is a real number. Using Euler’s
identity, we can convert the complex exponential to sine and cosine. So, let’s just
start there by assuming
| |
u(t) = ϕ C cos ωt + D sin ωt
. (8.47)

where the vector .ϕ (which is .N × 1 just like .u), the scalar .ω, and the constants
C and D are, as yet, undetermined. We will be able to find .ϕ and .ω by plugging
the candidate solution into the equation of motion. The constants C and D will be
determined by initial conditions. The time derivatives of this assumed solution are
| |
u̇(t) = ωϕ −C sin ωt + D cos ωt
.
| |
ü(t) = −ω2 ϕ C cos ωt + D sin ωt

Substituting the candidate solution into the equation of motion gives


| | | |
. −ω2 M + K ϕ C cos ωt + D sin ωt = 0

This equation would be satisfied if both C and D were equal to zero. However, that
would imply no motion and that would only be consistent with the initial conditions
if they were also zero. Thus, the only way the candidate solution works is if
| |
. K−ω2 M ϕ = 0 (8.48)

which is an eigenvalue problem. As shown in Appendix D, there are various ways


to solve the eigenvalue problem. We will skip the details here because in our
applications, we will use the MATLAB eig function to do the computations.
No matter what approach you take to solving the eigenvalue problem, the result is
N pairs .(ωi , ϕi ) of eigenvalues .ωi (natural frequencies) and eigenvectors .ϕi (mode
shapes). In other words, there are N different solutions to Eq. 8.48 that happen
in such a way that the frequencies are paired with the mode shapes. Because we
found N solutions, the general solution to the differential equation is the linear
combination of those solutions. Hence, we can write the solution as


N
| |
u(t) =
. ϕi Ci cos ωi t + Di sin ωi t (8.49)
i=1

Now there are N values of .Ci and .Di . These constants can be determined from the
initial conditions

u(0) = uo ,
. u̇(0) = vo (8.50)

@seismicisolation
@seismicisolation
8.6 Generalization to N Degrees of Freedom 373

where the velocity is simply the time derivative of displacement. Specifically,


N
| |
u̇(t) =
. ϕi −ωi Ci sin ωi t + ωi Di cos ωi t (8.51)
i=1

The fact that the eigenvectors .ϕi are orthogonal to each other is the key to
solving for the constants. As shown in Appendix D, the eigenvectors satisfy the
.M-orthogonality relationship

ϕTm Mϕn = 0
. m /= n (8.52)

We can evaluate Eq. 8.49 at .t = 0 and multiply on the left by .ϕTm M. Since the mass
matrix and the mth eigenvector do not depend upon the index of summation i, they
can be moved inside the sum, giving


N
ϕTm Mu(0) =
. ϕTm Mϕi Ci = ϕTm Muo (8.53)
i=1

Similarly, for velocity, we can write


N
. ϕTm Mu̇(0) = ϕTm Mϕi ωi Di = ϕTm Mvo (8.54)
i=1

Due to orthogonality of the eigenvectors, only one term in the sums in Eqs. 8.53
and 8.54 survives. Thus, we can solve for the constants as

ϕTm Muo 1 ϕTm Mvo


Cm =
. , Dm = (8.55)
ϕTm Mϕm ωm ϕTm Mϕm

Substituting the constants back into the general solution, we get


N |( ϕT Mu ) 1 ( ϕTi Mvo ) |
o
u(t) =
. ϕi i
cos ωi t + sin ωi t (8.56)
i=1
ϕTi Mϕi ωi ϕTi Mϕi

which is the complete solution to the free vibration problem for a linear system with
N degrees of freedom. The more general problem of damped and forced vibration
can be solved in a similar way. The reader is referred to Hjelmstad (2022)8 for
details. Code 8.1 computes the classical solution to the undamped free vibration of

8 K.D. Hjelmstad. (2022). Fundamentals of Structural Dynamics: Theory and Computation.


Springer, Cham.

@seismicisolation
@seismicisolation
374 8 Vibrations

a system with stiffness matrix .K, mass matrix .M, initial displacement .uo , and initial
velocity .vo .

Code 8.1 MATLAB code to compute the classical solution for undamped free vibration
function Hist = ClassicalSolution(K,M,uo,vo,tf,Hist)
% Compute the classical solution to free vibration problem

nPts = 400; % Number of points to plot


N = size(K,1); % Number of DOF

%. Initialize storage for u and v


Hist.TC = zeros(nPts,1); % Time
Hist.UC = zeros(nPts,N); % Displacement
Hist.VC = zeros(nPts,N); % Velocity

%. Compute eigenvectors and eigenvalues


[PHI,Lambda] = eig(K,M);
omega = sqrt(diag(Lambda));

%. Compute constants C and D (assumes PHI'*M*PHI = I)


C = PHI'*M*uo;
D = (PHI'*M*vo)./omega;

%. Compute motion and store it in Hist


for i=1:nPts
t = tf*(i-1)/(nPts-1);
u = zeros(N,1);
v = zeros(N,1);
for n=1:N
wt = omega(n)*t;
u = u + PHI(:,n)*( C(n)*cos(wt) + D(n)*sin(wt));
v = v + PHI(:,n)*(-C(n)*sin(wt) + D(n)*cos(wt))*omega(n);
end
Hist.TC(i) = t;
Hist.UC(i,:) = u';
Hist.VC(i,:) = v';

end

end

The function takes as inputs the stiffness matrix K, the mass matrix M, the initial
displacement uo, the initial velocity vo, the final time tf, and the Hist “struct”
that already has information in it that this function will add to (we will see why in
the next section). The function returns Hist with the classical solution added. The
value nPts is the number of time points to compute. The solution is exact, so the
time step has no relevance. The number just needs to be large enough to give a nice
plot. The size of the problem N is gleaned from the number of rows in the stiffness
matrix.
Eigenvectors PHI and natural frequencies omega are computed using the eig
function. Constants .Cm and .Dm from Eq. 8.55 are computed as C and D. Note
that this computation assumes that the eigenvectors have been scaled so that
.ϕm Mϕm = 1, which the function eig does. Because the array PHI contains all
T

the eigenvectors as its columns, we can compute all of the constants in a single
statement. In the loop over time points, we accumulate the sum for displacements, as
in Eq. 8.56. The velocities are accumulated similarly. The results are then stored in

@seismicisolation
@seismicisolation
8.7 Computation: The Shear Building 375

Hist. We will use this solution as a means of verification of the numerical solution
code developed in the next section.

8.7 Computation: The Shear Building

While the focus of this chapter is on classical solutions to linear systems of


differential equations, we can always solve problems numerically. One advantage
to the numerical solution is the simplicity of specifying different load forms. With
the code we can easily study important phenomena like pure modal vibration and
resonance. To illustrate these computations, let us consider the N –story shear
building shown in Fig. 8.16.
A shear building is a model of a high-rise structure with all the mass invested in
the floors and all the restoring force invested in the columns. The stiffness and mass
parameters are shown in Fig. 8.16a. We assume that the columns cannot get longer
or shorter. Hence, the only motion possible is a horizontal motion at each level, as
shown in Fig. 8.16b. Thus, the time-dependent variables are .ui (t), and there are N
of them. Thus, the system has N degrees of freedom. The restoring force in each
pair of columns at level i is .ki Δi , where .Δi = ui − ui−1 is the relative deformation
of the column. Note that .Δ1 = u1 because the column at the first level is fixed at the
base. Each mass feels the force of the columns below it and the columns above it.
Hence, the equation of motion for each mass is

. − ki Δi e1 + ki+1 Δi+1 e1 + fi (t)e1 = mi üi e1

which can be established from a free body diagram of each floor mass isolated
with the forces exerted by the columns on the mass represented in accord with the
positive sign convention on the displacements (and noting that the forces acting in
the .e2 direction will balance). The columns above the mass pull to the right, and

f N (t ) uN
mN
kN i 1

ui 1

f 2 (t ) u2 ui
m2
k2
f1 (t ) u1 ui
m1 1
k1

(a) (b) (c)

Fig. 8.16 Shear building. (a) Shear building model with stiffness .ki , mass .mi , and applied force
at level i. (b) Definition of lateral displacements .ui . (c) Definition of story deformations .Δi
.fi (t)

@seismicisolation
@seismicisolation
376 8 Vibrations

the columns below the mass pull to the left if the .Δ’s are all positive. This equation
holds for all levels except for the top because there is no column above the mass at
the top. For the top level, we can simply omit the .ki+1 Δi+1 term from the equation.
Substituting the expressions for the deformations (and dotting the equation with .e1 ),
we arrive at a system of linear equations that can be written as

Mü(t) + Ku(t) = f(t)


. (8.57)

where the mass matrix .M, the stiffness matrix .K, and the applied load vector .f(t)
have the form (for a four-level example)
⎡ ⎤ ⎡ ⎤ ⎧ ⎫
m1 0 0 0 k1 +k2 −k2 0 0 ⎪
⎪ f1 ⎪
⎢0 ⎨ ⎪ ⎬
m2 0 0⎥ ⎢ −k2 k2 +k3 −k3 0 ⎥ f2
.M = ⎢ ⎥, K=⎢ ⎥, f=
⎣0 0 m3 0⎦ ⎣ 0 −k3 k3 +k4 −k4 ⎦ ⎪ f ⎪

⎩ 3⎪ ⎭
0 0 0 m4 0 0 −k4 k4 f4

The patterns in these matrices are evident and can easily be generalized. Of course,
the applied load is a function of time, which must be specified. We will consider a
simple case where the loads have different magnitudes at each level, but all have the
same time variation function

f(t) = fo sin Ωt
.

where .fo is a constant vector and .Ω is a specified driving frequency. We could also
consider a constant, but suddenly applied load .f(t) = fo , or the time-dependent part
of the load could be a blast-type function that rises quickly to a maximum and then
decays exponentially back to zero. Many load forms are possible.
Energy The kinetic energy is the sum of the kinetic energies of each level. For level
i, the kinetic energy is . 12 mi u̇2i . It is relatively straightforward to prove that the total
kinetic energy in the system is

T = 12 u̇T Mu̇
.

Since the height of each mass does not change, there is no change in potential energy
due to gravity. We can set the total potential energy due to gravity to zero, which
implies that datum for each mass is at the height of that mass. The potential energy
of the system all comes from the elastic columns. The columns essentially act like
springs, so the potential energy of each column is . 12 ki Δ2i . While not as obvious as
the kinetic energy, the total potential energy can be computed as


N
Us =
.
1 2
2 k i Δi = 12 uT Ku
i=1

@seismicisolation
@seismicisolation
8.7 Computation: The Shear Building 377

The proof of the second form of the potential energy is left as an exercise for the
reader. Carry out the matrix multiplications, and regroup the terms to show the
equivalence. As usual, we can compute the energy in the code, even though we
do not use energy to advance the solution. For problems with no applied forces, the
energy should be conserved.
Natural Frequencies and Mode Shapes The natural frequencies and mode shapes
can be computed from the eigenvalue problem

Kϕ = ω2 Mϕ
.

As shown in Appendix D, the eigenvalue problem yields solutions .(ωi , ϕi ) for


i = 1, ..., N. In other words, there are N natural frequencies, and each one is
.

associated with a mode shape. The eigenvalue problem can be solved in MATLAB
using the eig function. The syntax of this function is

[Evec, Eval] = eig(K, M);


.

where the inputs are matrices .K and .M. The matrix Evec has N rows and N
columns. Each column is an orthonormalized eigenvector (mode shape) .ϕi . That
eigenvector is associated with the frequency .ωi . The ith row and ith column of
Eval holds the square of the natural frequency .ωi . The natural frequencies and
mode shapes are important to understanding the response of the system and for
specifying initial conditions in the exact shape of one of the eigenvectors.
Numerical Computations We can solve the equations of motion with the general-
ized trapezoidal rule. The equations are linear, so we could avoid using the Newton
iteration to compute the acceleration at each time step. However, to maintain
consistency among the codes in the book, we will develop the code to fit the
same framework as the others. To set up the coding, let us make the following
associations:

un ← u(tn ),
. vn ← u̇(tn ), an ← ü(tn )

As usual, we assume that we know the state completely at step n, and we seek
the state at step .n + 1. Specifically, we know the displacement, velocity, and
acceleration .{un , vn , an }. The generalized trapezoidal rule can be written as

un+1 (a) = bn + ζ a,
. vn+1 (a) = cn + ηa (8.58)
( )
where .bn = un + hvn + β 1 −β h2 an is the part of the new displacement that we
can compute from the state at step n and .cn = vn + βhan is the part of the new
velocity that we can compute
( from ) the state at step n. These vectors are fixed for the
time step. Parameters .η = 1 − β h and .ζ = η2 depend upon the numerical analysis

@seismicisolation
@seismicisolation
378 8 Vibrations

parameter .β and the time step size h. In Eq. 8.58, we let .a stand for the acceleration
at step .n + 1 that we seek. Upon convergence, then, .a → an+1 is the acceleration
at the new time step. To these equations, we add the equation of motion in residual
form. Define the residual

g(a) = Ma + Ku(a) − f(t)


. (8.59)

with tangent matrix

∂g
A=
. = M + ζK (8.60)
∂a

These equations are sufficient to compute the response of the shear building. One
reason for computing the response numerically is that changing the time-dependent
load function is very easy. For the classical solution, we must compute a new
expression for the response function for each different .f(t).
Implementation in Code Code 8.2 implements the calculations outlined above,
including the computation of energy as well as the mode shapes and natural
frequencies.

Code 8.2 MATLAB code for numerical solution of the shear building problem using generalized
trapezoidal rule and Newton’s method
clear; clc;

%. Input physical problem data


nDOF = 4; % Degrees of freedom
mass = [2, 2, 2, 2]; % Story masses
stiff = [300, 260, 220, 200]; % Story stiffnesses
fo = [0; 0; 0; 0]; % Magnitudes of forces
OMEGA = 3.97; % Driving frequency
tf = 2.0; % Final time
Mode = 0; % Mode for initial conditions
Uo = 1.0; % Mag. of initial displacement
Vo = 0.0; % Mag. of initial velocity

%. Form mass and stiffness matrices


M = diag(mass);
K = zeros(nDOF+1,nDOF+1);
for e=1:nDOF
ke = stiff(e)*[1, -1; -1, 1];
ii = [e,e+1];
K(ii,ii) = K(ii,ii) + ke;
end
K = K(2:nDOF+1,2:nDOF+1);

%. Compute natural frequencies (and periods) and mode shapes


[Evec,Eval] = eig(K,M);
freq = sqrt(diag(Eval));
periods = 2*pi./freq;

@seismicisolation
@seismicisolation
8.7 Computation: The Shear Building 379

%. Initial conditions
if Mode==0
uo = Uo*[ 0; 0; 0; 1];
vo = Vo*[ 0; 0; 0; 1];
else
uo = Uo*Evec(:,Mode);
vo = Vo*Evec(:,Mode);
end

%. Numerical analysis parameters


h = 0.01; % Time step
beta = 0.5; % GTR parameter
eta = (1-beta)*h; % GTR parameter
zeta = eta^2; % GTR parameter
nSteps = ceil(tf/h); % Number of time steps
tol = 1.e-8; % Newton iteration tolerance
itMax = 10; % Max Newton iterations

%. Initialize storage area for results


Hist.T = zeros(nSteps,1); % Time
Hist.X = zeros(nSteps,nDOF); % Displacements
Hist.V = zeros(nSteps,nDOF); % Velocities
Hist.F = zeros(nSteps,1); % Applied force
Hist.E = zeros(nSteps,3); % Energy [T, U, E]

%. Initialize time, position, velocity, and acceleration


t = 0;
uold = uo;
vold = vo;
f = fo*sin(OMEGA*t);
aold = M\(f - K*uold);

%. Compute motion by numerical integration--loop over time steps


for n=1:nSteps

%... Store results for later plotting


Hist.T(n,:) = t; % Time
Hist.X(n,:) = uold'; % Position
Hist.V(n,:) = vold'; % Velocity
Hist.F(n,:) = sin(OMEGA*t); % Force
T = 0.5*vold'*M*vold; % Kinetic energy
U = 0.5*uold'*K*uold; % Potential energy
E = T + U; % Total energy
Hist.E(n,:) = [T,U,E]; % Energy

%... Compute the values for the next time step


t = t + h;
bn = uold + vold*h + beta*(1-beta)*h^2*aold ;
cn = vold + beta*h*aold ;
anew = aold;
f = fo*sin(OMEGA*t);

%... Newton iteration to compute the new acceleration from EOM


err = 1; its = 0;
while (err > tol) && (its < itMax)
its = its + 1; % Iteration counter
unew = bn + zeta*anew; % New position by GTR
g = M*anew + K*unew - f; % Residual
A = M + zeta*K; % Tangent matrix
anew = anew - A\g; % Newton update
err = norm(g); % Compute error
end % while

%... Compute final new velocity and position by GTR


unew = bn + zeta*anew;
vnew = cn + eta*anew;

@seismicisolation
@seismicisolation
380 8 Vibrations

%... Put current state (new) into old slot to get ready for new step
aold = anew;
vold = vnew;
uold = unew;

end

%. Output results
Hist = ClassicalSolution(K,M,uo,vo,tf,Hist);
ShearBuildingOutput(Hist,n,fo,tf)

The code starts with the specification of the physical properties of the shear
building, including the number of degrees of freedom (i.e., the number of floor
levels), the mass and stiffness of each level, the constant applied force pattern .fo , and
driving frequency .Ω for the applied force .f(t) = fo sin Ωt. The duration of analysis is
specified as tf. Parameters Mode, Uo, and Vo are used later in the code to simplify
the specification of initial displacements and velocities.
Next, we form the mass and stiffness matrices. The stiffness matrix is formed
in a way that develops the pattern observed previously for that matrix. To make the
process more straightforward, the stiffness matrix K is assembled in a way that gives
it an extra first row and column, which must be subsequently trimmed off. Once we
have M and K, we can compute the eigenvalues and eigenvectors; extract the natural
frequencies, freq; and compute the natural periods.
The specification of initial conditions can either be manual (Mode=0) or they
can be specified to be proportional to one of the mode shapes (with Mode set to the
index number of the mode shape you want). Since the mode shapes are normalized,
the values of Uo and Vo can be used to scale them to a desired magnitude. Setting
Uo and Vo to zero is also a convenient way to set the initial conditions to zero (e.g.,
if you only want the driving force to act).
Numerical analysis parameters are specified next, and the “struct” Hist is
initialized to store the response quantities that we want to plot once the solution
is complete. These quantities include time, displacement, velocity, the time-varying
part of the force (i.e., .sin Ωt), and the energy. To set up the integration, the initial
displacement and velocity are put in uold and vold, respectively, and the initial
acceleration is computed from the equation of motion.
The computation of the state variables for each time step is done in the same way
as other codes in this book. The first act for a new time step is to store the current
values in Hist. At that point, we compute the energy from the current displacement
and velocity. Once completed, we increment the time and compute bn and cn, the
applied force for the new time, and the initial guess of the new acceleration, which
we take as the converged acceleration from the previous time step.
The Newton iteration uses the residual and tangent presented above. Since the
problem is linear, each step takes only two iterations. The first one comes in with
the initial guess on the acceleration (which is not the correct value, in general),
and the Newton update computes the correct new acceleration. Because the error,
err, is based on the residual computed from the initial guessed acceleration, the
convergence test fails, and the algorithm goes through the while loop a second
time. The second time through, the error is computed as zero, and the loop is

@seismicisolation
@seismicisolation
8.7 Computation: The Shear Building 381

Fig. 8.17 Code verification. Shear building with all masses equal to 2 and stiffnesses of 300, 260,
220, and 200 from bottom to top with initial displacement of 1 and initial velocity of 18 at the top
with all other values equal to zero

terminated.9 The displacement and velocity are updated, and the new values are
put in the old locations to get ready for the next time step.
Once all time steps are exhausted, the graphs are created with a call to the
function ShearBuildingOutput, which is not included here. The call to
function ClassicalSolution is valid only if there are no applied forces and
is done for code verification purposes.
Code Verification Code verification means proving that the code does what it
is designed to do. The classical solution that we derived earlier is a solid code
verification tool. Code 8.1 computes the classical solution for free vibration. This
comparison will verify problems with initial conditions but with no applied load
.f(t). Verifying that forced vibration works properly requires a different approach.

Figure 8.17 shows the free vibration response of a system done by both
the numerical and classical methods. The displacement and velocity computed
numerically are on the left, and the same quantities computed classically are on
the right. It is evident that the results are quite similar. It is difficult to compare

9 You can trick the algorithm into doing just one iteration for a linear analysis by setting itMax

to one. The solution will be the same, but it eliminates one superfluous equation-solve with a zero
right-hand side at each time step.

@seismicisolation
@seismicisolation
382 8 Vibrations

Fig. 8.18 Code verification. Shear building with all masses equal to 2 and stiffnesses of 300, 260,
220, and 200 from bottom to top with initial displacement of 1 and initial velocity of 18 at the
top with all other values equal to zero. The numerical solution is the gray line, and the classical
solution is the black dot-dashed line

results visually between two separate graphs, especially when looking for subtle
differences. Figure 8.18 shows the response of the top level (the black line in
Fig. 8.17) with the numerical solution plotted in gray and the classical solution
plotted as a black dash-dotted line on top of it. It is clear from this view that the
results are identical. One can set the time step in the numerical solution to a larger
value to verify that the graphs you are looking at are, indeed, the right ones and not
just duplicate graphs. The numerical solution with a larger time step should deviate
from the classical solution.
Other approaches to code verification include setting .N = 1 (with appropriate
specification of mass and stiffness). The results for a sinusoidally varying force
could then be compared with Eq. 8.36. Again, the best verification is to compare
with an exact classical solution
√ when available. For the SDOF system, we also know
that the frequency is .ω = k/m, which can be compared with the value emanating
from the eig function in the code.

Example 8.4 Compute the response of a four-level shear building with all
masses equal to 2 and stiffnesses of 300, 260, 220, and 200 from bottom to
top. Subject the structure to an initial displacement of 1.0 at the top level with
the other levels held at zero, with no applied loads (i.e., free vibration). The
system starts at rest in the position with the specified initial displacement.
Show the displacement and energy as a function of time. Analyze for 2
seconds.
(continued)

@seismicisolation
@seismicisolation
8.7 Computation: The Shear Building 383

Example 8.4 (continued)


The inputs specified are mass=[2,2,2,2], stiff=[300,260,
220,200]. There is no applied load, so fo=[0;0;0;0]. The initial
conditions are set manually, so Mode=0. The initial displacements are
uo=[0;0;0;1]. In this case, the driving frequency does not matter because
the magnitude of the applied loads is zero. Also, Uo=1 and Vo=0 are the
multipliers for the initial displacements and velocities.
The response of the system is shown in Fig. 8.19. In the plot of displace-
ment vs. time, the dark line is .u4 (t), i.e., the top level. The gray lines are the
other three levels. It is evident that the top level starts at a value of one and
the other three start at zero when .t = 0. The first gray line to start rising is
level 3, as it feels the pull of the column above it that is deformed due to the
initial displacement at level 4. In the initial condition, the lower three columns
remain straight and, therefore, do not develop any internal force. Once level 3
starts to move, the column between levels 2 and 3 starts to feel the deformation
of the column it shares with level 3. The force in that column causes level 2 to
initiate motion. The bottom two columns are still straight at this time. Level 1
is the last one to start moving. The column between levels 1 and 2 deforms due
to the motion of level 2. That column then exerts a force on the mass at level
1 and thereby initiates its motion. This process is called wave propagation. It
takes time for the initial disturbance at the top to reach the mass at the bottom.
It is difficult to discern exactly how long that takes, but it looks like about 0.2
seconds in the graph. The remaining motion shows the complex interaction of
the momentum of the masses and the forces induced in the columns.
The energy vs. time plot shows that total energy, the solid black line,
is constant and therefore conserved. As usual, the dynamic response is a
continual exchange between kinetic energy (the gray line) and potential
energy (the dotted line).

Fig. 8.19 Example. (left) Shear building with all masses equal to 2 and stiffnesses of
300, 260, 220, and 200 from bottom to top with initial displacement of 1 at top. (center)
Displacements vs. time. Dark line is top level. (right) Energy vs. time. Gray line is kinetic,
dotted line is potential, and black line is total energy

@seismicisolation
@seismicisolation
384 8 Vibrations

Example 8.5 Consider the same shear building as the previous example.
Specify the initial displacement to be proportional to the second mode
shape. The system starts at rest. Show the displacement and energy response.
Analyze for 2 seconds.
The main change from the previous example is the specification of the
initial displacements. We set Uo=1 and Mode=2. All other input values
remain the same. The response for this case is shown in Fig. 8.20.
One can see the components of the second mode shape by looking at the
displacement values at .t = 0. The top level is initially displaced in the positive
direction, while the other three are displaced in the negative direction by
varying amounts. The specified initial displacement, which is proportional
to the second mode, is
⎧ ⎫

⎪ −0.3535⎪⎪
⎨ ⎬
−0.4416
.uo =
⎪−0.0736⎪
⎪ ⎪
⎩ ⎭
0.4178

You can see that the gray curve with the smallest amplitude is level 3. The one
with the largest amplitude opposite level 4 is level 2, with level 1 between.
The motion is synchronized. All levels pass through zero displacement at the
same time. The frequency of motion is .ω2 = 10.84. The associated period
is .2π/10.84 = 0.58 seconds. That is the time required to do one complete
cycle. In 2 seconds, the curves all complete nearly 3.5 cycles. The apparent
period taken from the graph is .2/3.5 = 0.57, which confirms that the response
is at exactly the second frequency/period. Observe that energy is conserved.
The reason it looks like energy fluctuations are more frequent is because one
complete displacement cycle has two complete energy cycles.

Fig. 8.20 Example. (left) Shear building with all masses equal to 2 and stiffnesses of 300,
260, 220, and 200 from bottom to top. The initial displacements are proportional to the
second mode shape. (center) Displacements vs. time. Dark line is top level. (right) Energy
vs. time. Gray line is kinetic, dotted line is potential, and black line is total energy

@seismicisolation
@seismicisolation
8.7 Computation: The Shear Building 385

Example 8.6 Consider the same shear building as the previous example.
The structure starts from rest with no initial displacements. Apply a force of
magnitude 1.0 at the top level with a driving frequency of .Ω = 3.97 with no
forces applied at the other levels. Let .tf = 15 seconds. Plot the displacement
and energy.
The main changes from the previous examples are that we set the force
pattern array to fo=[0;0;0;1], the driving frequency to OMEGA=3.97,
and the final time to tf=15. To have zero initial displacements and velocities,
we set Uo=0 and Vo=0. With the magnitudes set to zero, it does not matter
what Mode is.
The response is shown in Fig. 8.21. The displacements all start at zero. The
amplitude of motion appears to increase linearly with time. This response is
characteristic of the phenomenon called resonance. The driving frequency .Ω
is exactly equal to the first natural frequency .ω1 = 3.97 rad/sec. When the
driving frequency matches one of the natural frequencies, then the system
resonates.
A look at the energy vs. time plot gives insight into what happens to the
system in resonance. The total energy increases monotonically. The only thing
that can cause the energy to increase is the work done by the applied force.
The power of the force is the force dotted with the velocity (in this case, both
are in the .e1 direction). If energy always increases, then the direction of the
force is the same as the direction of the velocity at all times. In other words,
when the top level is moving to the right, the force is to the right. When the top
level is moving to the left, the force is to the left. With this synchronization,

f (t )
4

Fig. 8.21 Example. (left) Shear building with all masses equal to 2 and stiffnesses of 300,
260, 220, and 200 from bottom to top. The initial displacements and velocities are zero. A
force of magnitude 1 is applied at the top level. The force is sinusoidal in time with driving
frequency .Ω = 3.97, which is equal to the first natural frequency. (center) Displacements
vs. time. Dark line is top level. (right) Energy vs. time. Gray line is kinetic, dotted line is
potential, and black line is total energy

(continued)

@seismicisolation
@seismicisolation
386 8 Vibrations

Example 8.6 (continued)


work is constantly being pumped into the system, and hence the total energy
increases. The reason the total energy does not increase linearly is because the
velocity and force vary sinusoidally. The force and velocity are largest when
the system displacements pass through zero and they go to zero at the extreme
displacements. The power associated with the small velocities and forces is
small and therefore contributes a small amount of work. When they both peak,
they contribute the largest amount of work.

These examples give a glimpse of what the nature of response is for a vibration
problem. The examples illustrate two of the most important features of vibration
of systems with multiple degrees of freedom. The first is vibration in a pure
mode. When the initial displacement is specified to be proportional to one of the
natural modes, then the system vibrates in synchronous motion at the frequency
associated with the mode shape that the initial displacements are proportional to.
The second phenomenon is resonance, which occurs when the applied forces are
driven at the same frequency as one of the natural frequencies of the system. Without
any mechanism to dissipate energy (e.g., damping), the amplitude of the motion
increases linearly in time without bound.

8.8 Summary

In this chapter, we have considered the solution of dynamics problems that exhibit
oscillation about a static equilibrium position. For problems that result in linear
differential equations with constant coefficients, we can assume a solution in the
form of an exponential function. The value of the exponent is determined by the
equations of motion. For systems with multiple degrees of freedom, this value is
determined by an eigenvalue problem, which also gives rise to mode shapes.
Many problems in dynamics result in nonlinear differential equations. For those
cases, we can linearize the equations of motion and subsequently apply the classical
solution method to gain insight into the motion for small values of the motion
variable. As vibration occurs about the static equilibrium position, care must be
taken to convert the equations of motion to a variable that is a small deviation from
the static position.
Vibrations are important to a wide array of engineering problems. We have only
gotten a glimpse of the basic ideas of classical vibration analysis in this chapter.

@seismicisolation
@seismicisolation
8.9 Problems 387

8.9 Problems

8.1 Two balls, one of mass m and the second of mass 2m, are attached to bars
of length L, hinged at points a distance αL apart. The masses are connected by a
spring of modulus k. The bars and spring have negligible mass. The balls can be
treated as particles. The spring has no force in it when the bars are both vertical
and develops force in proportion to the change in length of the spring. Find the two
natural frequencies and associated mode shapes of this system when the response is
such that the motion remains small. Find the general solution if the mass on the left
starts from rest at an angle of 0.1 rad and the mass on the right starts from rest in the
vertical position.

L L

m k 2m

8.2 A block of mass m slides without friction in a slot, restrained by a spring of


modulus k. The block is hinged to a rod of length L that has another mass m at its
end. The rod swings freely. The mass of the rod and spring are negligible, as is the
rotational inertia of the masses. Find the natural frequencies and mode shapes for
this system, assuming that the motion is small. For this problem, assume that the
physical properties are such that k = 2mg/L.

k
L

8.3 A uniform bar of length 2a with mass per unit length of ρ̄ is attached to a
frictionless roller that allows it to move vertically and rotate freely but prevents
horizontal motion. The bar is attached to springs at both ends, one of modulus k
and the other of modulus 2k. The springs are adjusted so that the bar is horizontal
in static equilibrium. Formulate the equations of motion and find the natural
frequencies and mode shapes of this system, assuming that the amplitude of the
motion is small.

@seismicisolation
@seismicisolation
388 8 Vibrations

k 2k

a a

8.4 The uniform rod of length L and mass per unit length of ρ̄ is constrained so
that its ends move in the horizontal and vertical slots, as shown. The rod is hinged to
sliders C and B, each having mass m. Slider B is attached to a spring with stiffness k
that is unstretched when the bar is in the horizontal position. Assume that the system
undergoes small oscillations about the position of static equilibrium. Find the static
angle θo . Find the natural frequency for this system. The relationship among the
physical parameters is ρ̄L = 3m and k = 5mg/L.

8.5 The thin uniform bent rod has a mass per unit length of ρ̄. The legs have equal
length L and are at right angles to each other. The bent is supported by the small
peg at O on which it swings freely without friction. Find the natural period T of
vibration for small amplitudes of motion around the static equilibrium position.

L L

8.6 A uniform bar of length L and mass per unit length ρ̄ slides in a circular basin of
radius R (centered at O) on frictionless rollers that have negligible mass. The length
of the bar is half the radius of the basin. Determine the expression for the natural
frequency ω of the system oscillating about its equilibrium position, assuming that
the motions are small.

@seismicisolation
@seismicisolation
8.9 Problems 389

8.7 A block of mass m is suspended from a cord that passes over a uniform disk of
radius R that has a mass per unit area of ρ̂ and rotates on a frictionless pin at C. The
cord cannot stretch and does not slip on the disk. It is attached to a spring that has a
stiffness of k. Find the natural frequency ω of vibration for the system. The physical
properties are related as ρ̂R 2 = 4m and kR = 2mg.

8.8 Two balls are attached to a bar of length 2L, which rotates freely on the pin
at O. The ball on the left has mass m, and the ball on the right has mass 4m. The
ball on the left is attached to a vertical spring of modulus k. The spring is adjusted
so that the bar is horizontal in static equilibrium. The mass of the spring and bar is
negligible compared to the balls. Determine the expression for the natural frequency
ω of the system assuming small oscillations.

k
m 4m

L L

8.9 A nonuniform rod of length L pivots freely on the pin at point O. The rod is
restrained by two springs, one at the top with stiffness of k and one at the bottom
with stiffness of 3k. Both springs are unstretched when the bar is( vertical.)The mass
per unit length of the rod is described by the function ρ̄(s) = ρ̄o 1 + s/L , where s
is measured from the pin downwards (i.e., the greatest mass is at the bottom). Find
the natural frequency ω of the system assuming small motions.

@seismicisolation
@seismicisolation
390 8 Vibrations

L
s 2
L
3

3k

8.10 The uniform plate of dimensions L by L and mass per unit area ρ̂. The plate is
pinned at A and is supported on a spring of modulus k at B. The static equilibrium
position of the plate makes line AB horizontal. Assume that the system undergoes
small oscillations about the position of static equilibrium. Find the natural frequency
ω for this system.

8.11 A bar of length 3L and mass per unit length of ρ̄ is supported by a pin at O
and is restrained by a linear spring of modulus k at the right end. The mass of the
spring is negligible. The spring is adjusted so that the bar is in static equilibrium in
the horizontal position. Determine the expression for the natural frequency ω of the
system. Find the response that results from giving the bar an initial angle 0.03 rad
in the clockwise direction and letting it go from rest. The physical parameters are
related by k = 3ρ̄L.

L 2L

8.12 Two uniform bars of length L and mass per unit length of ρ̄ are hinged at their
ends and connected by springs of stiffness k as shown. The springs are adjusted

@seismicisolation
@seismicisolation
8.9 Problems 391

so that the bars are in static equilibrium in the horizontal position. Find the natural
frequencies and mode shapes of the system assuming that the motions are small.

k
L

8.13 The thin uniform bent rod has a mass per unit length of ρ̄. The legs have equal
length L and are at right angles to each other. The bent rod is hinged at O and swings
freely without friction. Find the natural period of vibration T for small amplitudes
of motion around the static equilibrium position.

8.14 The homogeneous solid cylinder of total mass m and radius R rolls without
slipping on the circular surface of radius 5R. If the motion is confined to small
amplitudes, determine the frequency ω and the period T of oscillation.

5R
R

8.15 Computation. A system of four masses and four springs slide without friction
on a bar. Write the equations of motion that govern the response of the system.
Put the equations of motion into residual and tangent form to prepare for writing a
code to analyze the system numerically. The system has initial displacements uo and
initial velocities vo , with values specified at all degrees of freedom. The masses can
be subjected to applied forces f(t) = fo sin Ωt. Write a code to compute the response
of the system. Use Code 8.2 as a guide. Include the possibility of specifying initial
displacements or velocities proportional to any of the mode shapes. Use the code to
explore the vibration of a system with multiple degrees of freedom.

@seismicisolation
@seismicisolation
392 8 Vibrations

m1 m2 m3 m4
1 2 3 4
k1 k2 k3 k4

u1 u2 u3 u4
1 2 3 4

8.16 Computation. Modify the shear building code, i.e., Code 8.2, to allow an easy
switch from one time-dependent function f (t) for the applied load to another. Create
a function TimeFunction that takes as input the type of time function you want
along with the current time and produces the value of the function at that time as
the output. The function can be organized with a switch construct in MATLAB.
Implement the constant function, the sinusoidal function, and a blast-type function
(where the load rises quickly to some value and then drops off exponentially). Use
the code to explore the effects of different time variations in the loading.

@seismicisolation
@seismicisolation
Chapter 9
Answers to Problems

Chapter 1
√ √
1.1 u + v = 5e1 + 3e2 , u − v = e1 − 7e2 , ‖u‖ = 13, ‖v‖ = 29, u · v = −4,
u × v = 19e3 , and β = 1.78 rad, where β is the angle between the vectors.

1.2 n · n = cos2 ϕ + sin2 ϕ = 1. The vector m = − sin ϕe1 + cos ϕ is perpendicu-


lar to n. So is e3 .
( ) ( )
1.3 ṅ = − sin θ e1 + cos θ e2 θ̇ . n · ṅ = θ̇ − sin θ cos θ + cos θ sin θ = 0.

1.4 n × m = e3 , m × n = −e3 .

1.5 The integral evaluates to 2e2 .

1.6 u · v = 3t 3 + 4t, whose derivative is 9t 2 + 4, u × v = 4t 2 e3 , whose derivative is


8te3 . u̇ = 6te1 + 2e2 , v̇ = e1 , u̇ · v = 6t 2 + 4, u · v̇ = 3t 2 , which sum to 9t 2 + 4.
u̇ × v = 10te3 , u × v̇ = −2te3 , which sum to 8te3 .

1.7 Vector u‖ = 23 e1 + 43 e2 + 23 e3 is the part of u that lies along v. Vector


u⊥ = 73 e1 − 10
3 e2 + 3 e3 is the part of u that lies in the plane normal to v.
13

√ √
1.8 ‖u‖ = 38, ‖v‖ = 6. Unit vectors are u/‖u‖ and v/‖v‖.

1.9 Area is 21 ‖u × v‖ = 5.
( )
1.10 u × v = −12e1 + 2e2 + 8e3 . Dotting this vector with w gives
( u ×) v · w = −14.
w × u = e1 − 6e2 − 3e3 . Dotting this vector with v gives w × u · v = −14.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2025 393
K. D. Hjelmstad, Engineering Dynamics,
https://doi.org/10.1007/978-3-031-56376-8_9
@seismicisolation
@seismicisolation
394 9 Answers to Problems

1.11 Compute in matrix notation


⎡ ⎤⎡ ⎤
0 −u3 u2 0 −v3 v2
UV = ⎣ u3 0 −u1 ⎦ ⎣ v3 0 −v1 ⎦
−u2 u1 0 −v2 v1 0
⎡ ⎤
−u3 v3 −u2 v2 u2 v1 u3 v1
=⎣ u1 v2 −u3 v3 −u1 v1 u3 v2 ⎦
. u1 v3 u2 v3 −u2 v2 −u1 v1
⎡ ⎤ ⎡ ⎤
v1 u1 v1 u2 v1 u3 ( ) 1 0 0
= ⎣v2 u1 v2 u2 v2 u3 ⎦ − u1 v1 + u2 v2 + u3 v3 ⎣0 1 0⎦
v3 u1 v3 u2 v3 u3 0 0 1
( ) ( )
= {v}T {u} − v · u I = v ⊗ u − v · u I

Chapter 2

2.1 N = 11.4 N, a = 0.192 m/sec2 , tf = 3.53 sec.

2.2 h = 0.236L, r = 0.972L, T = 4.236mg.

2.3 d = 2.195 m, tf = 1.463 sec.

2.4 F = 16 2
9 mhωo , N = mg − 89 mhωo2 .
( )
2.5 N = w 3 cos θ − 2 , θd = 48.2◦ , and α = 0.717g/R.

2.6 v = bωo , a = b2 ωo2 / b2 − e2 .

2.7 F = 10.03mg, T = 2.626mg.



2.8 ω = 0.879 g/L.

2.9 s = 0.6614 vo2 /g.



2.10 ωf = 0.9612 g/R, αf = 0.9239g/R.

2.11 (a) a = g/7, (b) a = g/3.



2.12 v = 4gr.

2.13 v = 0.1082k/m − 2g/R, N = 3mg − 0.05687kR.

2.14 s = 0.3254R.

@seismicisolation
@seismicisolation
9 Answers to Problems 395

/( )
2.15 v = 0.592F − 0.75kb b/m.

2.16 θ̈ (t) − (g/R) sin θ (t) = 0, v = 0.7654 gR.

2.17 θ = 2.201rad, ω = 1.044 g/R, α = −0.808 g/R.
√ √
2.18 vB = 1.165R k/m, vC = R 0.528k/m + 2g/R, N = 0.528kR + 2mg.

2.19 k = 53.0 mg/a.



2.20 vf = 0.534 gh, af = −0.224 g.

2.21 N = 7.87 mg.

Chapter 3

3.1 z̈o = 0.218 g (to the left), αo = 1.393 g/L (clockwise).


( )
3.2 α = 0.808 g/L, RA = ρ̄gL −0.202e1 + 0.439e2 .
(√ )
3.3 α = 1.328 g/L, Ro = 2ρ̄gL − 0.5ρ̄L2 ωo2 e1 + 0.25ρ̄gLe2 .

3.4 ωf = 1.473 g/L.
( )
3.5 ao = −g sin ϕ/ 1 − 34 cos2 ϕ .

3.6 α = −0.829g/L, NB = 0.586ρ̄gL.


/ ( ) ( )
3.7 ωo = g 1 + 2ρ̄π R/m /R, P (t) = −m g + Rωo2 cos θ (t).
/
3.8 α = 0, R = 53
7 ρ̄gLe 2 , ω = 16
7 g/L.
( ) √
3.9 z̈o = P / m + 14 ρL2 , αo = − 3 4 2 z̈o /L.
( ) ( )
3.10 a = g 4 − 2β / 8 + 3β , where β is the ratio of the mass of the disk to the
mass of the block.

3.11 ωf = −46.1 rad/sec (i.e., counterclockwise).


( )√
3.12 ωf = Δo /R 2 8k/3π ρ̂.

3.13 ωf = 1.365 g/b.
/( )( )
3.14 ωo = g/R 1 + ρ̂π R 2 /m cos β.

3.15 vD = 0.7906 vA , I C = 13 R below the center.

@seismicisolation
@seismicisolation
396 9 Answers to Problems


3.16 ωmax = 8g/695a.

3.17 ωf = 0.956 g/ h.
√ √ √
3.18 ωf = 1.671 L/g, vf = −1.197 gL, tf = −0.501 gL/R 2 .

3.19 ωf = 0.740 g/R.
/( ) ( )
3.20 ω = 16g/R 2 / 9π −16 .

3.21 θ̈ (0) = 5g/6a, R(0) = 11


12 ρ̄ga e2 , MB = 9 ρ̄ga .
5 2

Chapter 4

Problems of Chap. 4 repeat those of Chap. 3.

Chapter 5

There are no problems in Chap. 5.

Chapter 6

6.1 Equations of motion:

∂Δ
1 3
3 ρ̄L θ̈1 + 12 ρ̄gL2 sin θ1 + kΔ =0
∂θ1
.
∂Δ
1 3
3 ρ̄L θ̈2 + 12 ρ̄gL2 sin θ2 + kΔ =0
∂θ2

where
⎛√ ⎞
Δ (θ1 , θ2 ) = L 3 − 2 (sin θ2 − sin θ1 ) − 2 cos (θ2 − θ1 ) − 1
⎛ ⎞
∂Δ cos θ1 − sin (θ2 − θ1 )
=L √
.
∂θ1 3 − 2 (sin θ2 − sin θ1 ) − 2 cos (θ2 − θ1 )
⎛ ⎞
∂Δ − cos θ2 + sin (θ2 − θ1 )
=L √
∂θ2 3 − 2 (sin θ2 − sin θ1 ) − 2 cos (θ2 − θ1 )

@seismicisolation
@seismicisolation
9 Answers to Problems 397

6.2 Static position: Mass on OA is 0.595L from O. Mass on AB is 0.532L from


A. The bar is rotated 1.89 rad (from horizontal to OA).

6.3 Equations of motion:

z̈ + 12 Lθ̈ cos(θ − ϕ) − 12 Lθ̇ 2 sin(θ − ϕ) + g sin ϕ = 0


.
2
3 Lθ̈ + z̈ cos(θ − ϕ) + g sin θ = 0

where z(t) is the distance up the incline and θ (t) is the rotation of the bar
from vertical.

6.4 h = −g/ω2

6.5 Linearized equations of motion:

36 θ̈(t) + 10γ θ (t) − γ q(t) =0


37
.
q̈(t) − γ θ (t) + 10γ q(t) = 0

with γ = g/L and q(t) = r(t)/L, where r(t) is the distance from the pin to
the collar.

6.6 Equations of motion:


( )
4mz̈ + 3mL θ̈ cos θ − θ̇ 2 sin θ + kz = 0
.
3mLz̈ cos θ + 3mL2 θ̈ + 3mgL sin θ = 0

where z(t) is the motion along the horizontal bar and θ (t) is the angle of
rotation measured from vertical.

6.7 Equations of motion:

mz̈1 + 3kz1 − 2kz2 = 0


.
3mz̈2 − 2kz1 + 2kz2 = 0

where z1 (t) is the motion of the bottom block and z2 (t) is the motion of the
top block.

6.8 Equations of motion:

mz̈1 + 3kz1 − 2kz2 = 0


.
3mz̈2 − 2kz1 + 2kz2 = 0

where z1 (t) is the motion of block A and z2 (t) is the motion of block B.

@seismicisolation
@seismicisolation
398 9 Answers to Problems

6.9 Equations of motion:

α̈ + (1 + cos α)θ̈ + θ̇ 2 sin α − γ sin(α + θ ) = 0


. 2(πβ + 1 + cos α)θ̈ + (1 + cos α)α̈ − (α̇ + 2θ̇ )α̇ sin α
−γ ((πβ + 1) sin θ + 2β cos θ + sin(α + θ )) = −M/mR 2

where β = ρ̄R/m, γ = g/R, θ (t) is the rotation of the semi-circular bar, and
α(t) is the angle of the mass measured from the tip.

6.10 Equation of motion:

2mr 2 θ̈ + mgr sin θ = 0


.

6.11 Equation of motion:

5R θ̈ + 2g sin θ = 0
.

6.12 Equations of motion:

mz̈ + 2kz − kL sin θ = 0


.
1 3
3 ρ̄L θ̈ + kL(L sin θ − z) cos θ + 12 ρ̄gL2 sin θ = 0

where z(t) is the motion of the mass and θ (t) is the rotation of the bar.

6.13 Equations of motion:

4
3 θ̈1 + 12 θ̈2 cos(θ2 − θ1 ) − 12 θ̇22 sin(θ2 − θ1 ) + 32 γ sin θ1 = 0
.
1
3 θ̈2 + 12 θ̈1 cos(θ2 − θ1 ) + 12 θ̇12 sin(θ2 − θ1 ) + 12 γ sin θ2 = 0

where γ = g/L, θ1 (t) is the rotation of the top bar, and θ2 (t) is the rotation of
the bottom bar.

Chapter 7

7.1 hf = 0.1742 ho .

7.2 v1 = 13 vo , zf = 3 b.

7.3 ω = 111
9
vo /L, vo = 6.083 gL.
( ) ) ( ) ( )
7.4 vA = 3vo e1 + e2 /(6 + 2γ , Eloss = 12 mvo2 3 + 4γ / 6 + 4γ , where the
ratio of the mass of the bars to the mass of the ball is γ = 2ρ̄L/m.

@seismicisolation
@seismicisolation
9 Answers to Problems 399

/
7.5 ω = 32 vo sin ϕ/L, v1 = 94 vo2 sin2 ϕ + 3gL cos ϕ.
/
7.6 P̂ = ρπ R 2 11764 g/R.
/ ( )( )
7.7 vo = 32 gL 1 + γ 5 + 10 3 γ , where γ = ρ̂L /m.
2

7.8 ω = 54 v/r (clockwise).


( )
7.9 ω = vo / 1 + 5π R.
√ ( )
7.10 ω = 2gh/R 2 / 1 + 16 5
γ , where γ is the ratio of the total mass of the plate
to the mass of the particle.

7.11 ω = 3F̂ /ρL3 , T = 3F̂ 2 /2ρ̂L2 .

7.12 ω = 0.0579 vo /b, T + = 0.0461mvo2 , and the fraction of energy lost is 0.908.
( )
7.13 v1 = 13 vo 1 + 2 cos γ , n = 0.07879, where γ is the ratio of the total mass of
the disk to the mass of the particle.
/ ( )
7.14 vo = 2γ 2 + 13 8 γ gR, where γ is the ratio of the total mass of the disk to
the mass of the particle.
√ ( ) ( ) ( )
7.15 ω = 3 2vo / 6 + 2γ h, Eloss = 12 mvo2 3 + 2γ / 6 + 2γ , where γ is the ratio
of the total mass of the plate to the mass of the particle.

7.16 ω = 0.0493 vo /b, T + = 0.0349 mvo2 , n = 0.93.

7 F̂ /ρ̄L , ω2 = 7 F̂ /ρ̄L (positive is counterclockwise).


7.17 ω1 = − 18 2 90 2

Chapter 8
/ ( )

8.1 Frequencies: ω1 = γ , ω2 = γ 1 + 32 β , where γ = g/L and β = kL/mg.
Mode shapes: ϕ1 = [1, 1], ϕ2 = [−2, 1].
√ √
8.2 Frequencies: ω1 = 0.765√ g/L, ω2 = 1.848 √ g/L. Mode shapes (in terms of
the length L): ϕ1 = [L, 2], ϕ2 = [L, − 2].
√ √
8.3 Frequencies: ω1 = 1.126 k/ρ̄a, √ ω2 = 2.175 k/ρ̄a.√ Mode shapes (in terms
of the length a): ϕ1 = [a, 3 − 2 3], ϕ2 = [a, 3 + 2 3].

8.4 θo = 30◦ , ω = 15g/8L.

8.5 T = 6.101 L/g.

8.6 ω = 1.005 g/R.

@seismicisolation
@seismicisolation
400 9 Answers to Problems

/ ( )
8.7 ω = 2g/ 1 + 2π R.

8.8 ω = 0.423 k/m.
/
8.9 ω = 3017 g/L + 17 k/ρ̄o L.
156
/
8.10 ω = 32 k/ρ̂L2 − 34 g/L.

8.11 ω = 2, θ (t) = 0.03 cos(2t).


√ √
8.12 ω1 = 1.07 k/ρ̄L, ϕ1 = [1, 0.618], ω2 = 2.80 k/ρ̄L, ϕ2 = [1, −1.618],
where motion variables are angles of bars with the bar on the left positive
counterclockwise and the bar on the right positive clockwise.

8.13 T = 6.45 L/g.
√ √
8.14 ω = 0.408 g/R, T = 15.4 R/g.

@seismicisolation
@seismicisolation
Appendix A
Newton’s Method for Solving Nonlinear
Algebraic Equations

Newton developed an iterative method for solving nonlinear algebraic equations.


Consider a single equation with a single unknown, written in the form

g(x) = 0
. (A.1)

An example function, .g(x) = x + 3 sin π x, is shown in Fig. A.1. There is no


algebraic manipulation that allows one to solve for x, and hence there is no
possibility of getting a closed-form solution, i.e., some sort of equivalent to the
quadratic formula for quadratic equations. So, what do we do?
A good way to start the quest of finding solutions to Eq. A.1 is to plot the function
.g(x) to see where it is equal to zero, as shown in Fig. A.1 for the example function.

To do so gives a clear picture of the task. Unlike linear equations, there may be
multiple solutions to nonlinear equations, so uniqueness of solution is something
we cannot count on. A graph will show you how many solutions there are and
roughly where they are located. This approximate location might prove very useful
in starting Newton’s method, as we shall soon see. Unfortunately, the graphical
method does not extend well to vector-valued functions of vector variables.
Without a direct solution approach, we must use some sort of iterative approach
wherein we guess a value of x and then evaluate .g(x) to see if it is equal to zero. If
it isn’t, then we need to find a better guess and repeat the process. The success of the
method relies on the quality of the guessing strategy. That is exactly what Newton’s
method does well.1

1 This appendix is reused from Appendix A of Hjelmstad, K.D. (2022). Fundamentals of Structural

Dynamics: Theory and Computation. Springer, Cham.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2025 401
K. D. Hjelmstad, Engineering Dynamics,
https://doi.org/10.1007/978-3-031-56376-8
@seismicisolation
@seismicisolation
402 A Newton’s Method for Solving Nonlinear Algebraic Equations

Fig. A.1 Example nonlinear


function. The function
.g(x) = x + 3 sin π x has five
roots, shown by the open
circles. Hence, the solution to
.g(x) = 0 is not unique

A.1 Linearization

We know how to solve linear equations, so let’s find a linear equation that, in some
way, represents the nonlinear one and solve that problem instead. How do we do
that? We know from calculus that every function can be expanded in a Taylor series.
Let us expand .g(x) around some value .xo . To wit,

g(x) = g(xo ) + (x − xo ) g ' (xo ) + 21 (x − xo )2 g '' (xo ) + · · ·


.

where a prime denotes differentiation of the function with respect to x. The first term
is constant, the second term is linear in x, the third term is quadratic, etc. We can
create a linear function by taking the first two terms of the Taylor series expansion
of the original nonlinear function. Let us call that linear function

g̃(x) = g(xo ) + (x − xo ) g ' (xo )


.

It is a geometric fact that a curve remains close to a line tangent to it over some
distance. The curvature determines how large the region is where two functions are
approximately the same. In this neighborhood, the linear function does a good job
of representing its nonlinear progenitor.
You can get an idea of the relationship between the original function .g(x) and the
associated linear function .g̃(x) from Fig. A.2. The original function is the heavy line,
and the linear function is the thinner straight line that is tangent to it. The arbitrarily
selected point .xo is shown as a gray dot on the abscissa, and the value of the
original function .g(xo ) is shown as a gray dot on the ordinate. The gray circle where
the curve and line intersect is the place where the original function and its linear
counterpart have the same value, i.e., .g̃(xo ) = g(xo ), and slope, i.e., .g̃ ' (xo ) = g ' (xo ).
The open circle on the x-axis is the solution we seek. Since .g(xo ) /= 0, we know that
.xo is not the solution we seek.

@seismicisolation
@seismicisolation
A Newton’s Method for Solving Nonlinear Algebraic Equations 403

Fig. A.2 Newton’s method.


We approximate the original
function .g(x) with a linear
function that matches the
value and tangent of the
original function at the point
.xo . We then solve the linear
equation to get an estimate of
the solution

Newton’s idea was to recognize that we could actually solve the equation that
results from setting the linear function equal to zero, i.e.,

g̃(x) = g(xo ) + (x − xo ) g ' (xo ) = 0


. (A.2)

The value of x found by solving this equation is the solid black dot on the abscissa in
the figure. This value depends on our choice of .xo . Taking the result of one iteration
as the .xo for the next iteration establishes an algorithm
g (xi )
.xi+1 = xi − (A.3)
g ' (xi )
that generates a sequence of values {.x0 , .x1 , .x2 , . . . , .xn }. This iterative algorithm is
Newton’s method.2 The sequence converges to a solution to the original nonlinear
equation if all goes well. While Newton’s method is not guaranteed to converge,
when it does, the convergence is quick in the neighborhood of the solution. For
problems where convergence is an issue, other strategies can be used.

Example A.1 Scalar equation with scalar unknown. To see how the algo-
rithm works, let us apply Newton’s method to a simple nonlinear equation.
Consider the equation

g(x) = x 2 − 3 = 0
.

The beauty of this nonlinear


√ equation is that we can actually solve it (spoiler
alert, the answer is .± 3 or, approximately, .±1.732050808). The Newton
iteration equation takes the form

g (xi ) xi2 − 3
xi+1 = xi −
. = xi −
g ' (xi ) 2xi
(continued)

2 Newton probably would not recognize the algorithm as we have stated it. Joseph Raphson (1688–

1715), an English mathematician, put Newton’s method into the form that we recognize today.
Many authors call the method the Newton–Raphson method to acknowledge this contribution.

@seismicisolation
@seismicisolation
404 A Newton’s Method for Solving Nonlinear Algebraic Equations

Example A.1 (continued)


Table A.1 Results of Newton n .xn .g(xn )
iteration on simple example.
With a starting point of 0 10.000000000 97.000000000
.x0 = 10, Newton’s method 1 5.150000000 23.522500000
solves .g(x) = x 2 − 3 = 0 to 2 2.866262136 5.215458632
within an error tolerance of 3 1.956460732 0.827738595
.tol = 10
−8 in six iterations
4 1.744920939 0.044749084
5 1.732098271 0.000164421
6 1.732050808 0.000000002

From any starting value (except for .x0 = 0), we can compute a sequence of
estimates. Table A.1 shows how the iteration goes starting from the value
.x0 = 10. We could probably guess that 10 is not anywhere near the solution

we seek, but this choice shows how quickly Newton’s method converges to
the true solution.
To run Newton’s method, you need to specify the starting value and an error
tolerance that tells the algorithm when to stop. For the example in Table A.1,
the tolerance was .tol = 10−8 . It is also a good idea to limit the number of
allowable iterations in case the sequence diverges.

For the simple function in this example, the convergence is monotonic, which
means that the error gets smaller in each successive iteration. The absolute value
of .g(xn ) is the error at iteration n because the aim is for the function to be zero.
Notice that errors in the last three iterations are on the order .10−2 , .10−4 , and .10−9 ,
which is the hallmark of quadratic convergence, where the negative exponent on the
error doubles with each successive iteration. Why didn’t the method find the other
solution? Newton’s method can only go to one solution at a time. To find the other
root, a different starting point must be specified (any negative value will work in this
case).

A.2 Systems of Equations

We can derive a similar method for systems of nonlinear equations, which is where
Newton’s method really has power and utility. In such situations, we will have N
equations with N unknowns, which we write as

g(x) = 0
. (A.4)

where .x = [ x1 , x2 , . . . , xN ]T is the vector variable of the vector-valued function .g.


The specific details of each of the N equations vary from one application to the
next. Newton’s method is constructed in a similar manner by recognizing that we

@seismicisolation
@seismicisolation
A Newton’s Method for Solving Nonlinear Algebraic Equations 405

can create a linear function related to the original function .g(x) using the Taylor
series expansion of the function. To wit,

. g̃(x) = g(xo ) + ∇g(xo )(x − xo ) (A.5)

where .xo is simply a specific value of the vector .x and and the gradient of
the function .g is simply the matrix of partial derivatives with the rows of the
matrix .[ ∇g ]ij associated with the function .gi and the columns associated with the
independent variable .xj . The matrix representation of the function, which we call
the residual function, is
⎧ ⎫

⎪ g1 (x1 , x2 , . . . , xN ) ⎪


⎨ ⎪
g2 (x1 , x2 , . . . , xN ) ⎬
.g(x) = .. (A.6)

⎪ . ⎪


⎩ ⎪

gN (x1 , x2 , . . . , xN )

and the matrix of partial derivatives, which we call the tangent matrix, is
⎡ ∂g ∂g1 ⎤
1
···
⎢ ∂x1 ∂xN ⎥
⎢ . ⎥
.∇g = ⎢ ⎥=A
.. .
⎢ .. . .. ⎥ (A.7)
⎣ ∂g ∂gN ⎦
N
···
∂x1 ∂xN

The order of terms in the equation matters, and the rules of matrix multiplication
apply. The term “residual” comes from the fact that we are trying to find solutions
to .g(x) = 0. For any value .xo , then, .g(xo ) measures how far away from that goal we
are. The residual measures the deviation from zero. The amount of the deviation can
vary from one equation to the next.
Solve the Linear Equations We have found a linear function that approximates
the original nonlinear function in the neighborhood of the point .xo . If we set this
linear function equal to zero, then we can solve a linear system of equations to find
.x. To wit,

. g̃(x) = g(xo ) + A(xo )(x − xo ) = 0

where .A = ∇g is the tangent matrix. Solving those linear equations, we can find
x, which we can take as the starting point for the next iteration. If we repeat the
.

process, we get Newton’s method


l l−1
xi+1 = xi − A(xi ) g(xi )
. (A.8)

@seismicisolation
@seismicisolation
406 A Newton’s Method for Solving Nonlinear Algebraic Equations

As was true for the scalar version, this new value .xi+1 is taken as a better estimate
of the solution than .xi was. This calculation can be done repeatedly, until we arrive
at an estimate .xn after n repetitions of the process. The norm of the residual, i.e.,
.||g(xi )|| at iteration i, is a good measure of the error to test for convergence. When

the norm of the residual is less than the preset tolerance, then all of the individual
equation errors are less than that value.
When should we stop? We will never get the exact answer, but we will get close.
Remember that the goal was to solve the equation .g(x) = 0. So, if the norm of the
residual vector .g(xn ) is less than some preset tolerance tol, then we are probably
close enough to satisfying all N of the equations. Since Newton’s method is not
guaranteed to converge, we will probably want to specify a maximum number of
iterations we are willing to try (call it itMax) in our programs. We stop if the
iteration has converged or if we have exhausted the maximum number of iterations
we have specified. Setting a maximum number of iterations is a fail-safe mechanism
if the iteration diverges. The algorithm fails if the matrix .A is singular.

Example A.2 Two equations in two unknowns. To get an idea of how


Newton’s method works for systems of equations, consider the equations

x 3 − 3xy + 2y 2 + x − 6 = 0
.
y 3 + 2xy − 4x 2 + y + 10 = 0

The residual is
l l
x 3 − 3xy + 2y 2 + x − 6
g(x, y) =
.
y 3 + 2xy − 4x 2 + y + 10

The tangent matrix is simple to compute because the component functions are
polynomials. Thus,

l l
3x 2 − 3y + 1 −3x + 4y
A = ∇g(x) =
. (A.9)
2y − 8x 3y 2 + 2x + 1

The calculation can be implemented as shown in Code A.1.


(continued)

@seismicisolation
@seismicisolation
A Newton’s Method for Solving Nonlinear Algebraic Equations 407

Example A.2 (continued)


Code A.1 MATLAB code for Newton’s method applied to Example A.2

%. Set parameters for Newton's method


itMax = 20; tol = 1.e-8;

%. Initialize error and iteration counter


err = 1.0; it = 0;

%. Set initial value of z=[x,y]


z = [1; 2];

%. Carry out Newton iteration


while (err > tol) && (it < itMax)
x = z(1); y = z(2);
g = [ x^3 - 3*x*y + 2*y^2 + x - 6 ;...
y^3 + 2*x*y - 4*x^2 + y + 10 ];
A = [ 3*x^2 - 3*y + 1 , -3*x + 4*y ;...
2*y - 8*x , 3*y^2 + 2*x + 1 ];
err = norm(g);
fprintf('%5i%15.9f%15.9f%10.2e\n',it,z(1),z(2),err)
z = z - A\g;
it = it + 1;
end

The array .z is used for the vector .x because there are no bold and italic
fonts in MATLAB and we need to keep .x distinct from the scalar variable x in
the program. The program uses x and y to make the correspondence with the
equation clearer. Starting values are .x0 = 1 and .y0 = 2. The iteration converges
in 14 steps to within a specified tolerance of .10−8 . The MATLAB program
produces the results shown in Table A.2. Notice that things got worse before
they got better, but Newton’s method finally converged once it got on the
right track. This phenomenon is not uncommon but depends on the nature
of the equations. Picking a starting value closer to a solution will generally
reduce the number of iterations required, and it will increase the likelihood of
convergence.
This example problem is more interesting than it might first seem. Fig-
ure A.3 shows a plot of two curves defined by .g1 (x, y) = 0 and .g2 (x, y) = 0.
Circles at points of intersection are the solutions we seek—i.e., places where
both functions are zero for the same .(x, y) pair. It is clear that there are five
solutions to this problem (at least in the window shown). We have found the
one indicated at the bottom of the plot, even though we started at a point closer
to some of the other solutions. The other solutions can be found by initiating
the Newton iteration at different starting points, as shown in Table A.3. With
the advantage of seeing the graph, it is possible to select starting points closer
to the solutions. Therefore, the number of iterations was fewer for those cases
than for the case shown in Table A.2.

(continued)

@seismicisolation
@seismicisolation
408 A Newton’s Method for Solving Nonlinear Algebraic Equations

Example A.2 (continued)


Table A.2 Results of Newton n .xn .yn .||g(zn )||
iteration for Example A.2.
With a starting point of .x0 = 1 0 1.000000000 2.000000000 2.01 e+01
and .y0 = 2, the solution 1 –12.000000000 –2.800000000 1.90 e+03
converges in 14 iterations 2 –6.021091716 –35.379440189 4.41 e+04
3 –6.868172912 –23.624905344 1.31 e+04
4 –5.519256647 –15.769369207 3.88 e+03
5 –4.178715180 –10.527310729 1.15 e+03
6 –3.040506723 –7.036276958 3.40 e+02
7 –2.115792429 –4.735015921 9.88 e+01
8 –1.377426962 –3.278499799 2.72 e+01
9 –0.816000324 –2.472691351 6.33 e+00
10 –0.473272815 –2.152159597 1.05 e+00
11 –0.361829741 –2.077810191 7.47 e–02
12 –0.352113414 –2.071714268 5.32 e–04
13 –0.352044274 –2.071670060 2.72 e–08
14 –0.352044270 –2.071670058 3.55 e–15

Fig. A.3 Example A.2. Plot


of the two functions
.g1 (x, y) = 0 and .g2 (x, y) = 0,
showing the points of
intersection (the circles),
which are the solution to the
equations

Table A.3 Solutions to Example A.2. The five solutions to Example A.2 can be found by
using different starting points
root .x0 .y0 .xn .yn n (iterations)
1 –1.0 –2.0 –0.352044270172 –2.071670057777 5
2 2.0 0.0 1.513412584109 –0.206014828666 5
3 2.0 2.0 2.000000000000 1.000000000000 6
4 –2.0 2.0 –1.588099655814 1.495065721320 4
5 –5.0 5.0 –4.822770645151 5.018970364778 4

@seismicisolation
@seismicisolation
A Newton’s Method for Solving Nonlinear Algebraic Equations 409

Newton’s method exhibits quadratic convergence in the neighborhood of a


solution, wherein the negative exponent on the error doubles with each succes-
sive iteration, e.g., .10−1 , .10−2 , .10−4 , and .10−8 . Quadratic convergence has the
advantage that setting a tight tolerance does not increase the number of iterations
much. The tolerance can be set too tight, though. When it is, the roundoff error
in the computer (double-precision arithmetic is good to about 15 digits of accuracy)
dominates the norm of the error. In such a situation, the error will appear to fluctuate
randomly, and the iteration will not converge.
When we apply Newton’s method in dynamics, we will have a great starting
point. The dynamics algorithm steps through time at fairly closely spaced time steps.
In each step, we will be iterating to find the acceleration of the system at the new
time point. To start the Newton iteration, we can take the initial guess to be the
final converged acceleration from the previous time step. Because this guess is so
good, we will seldom need many iterations to converge for these problems, which
is particularly important for large problems because we solve a system of equations
at each iteration.

@seismicisolation
@seismicisolation
Appendix B
The Directional Derivative

When we use Newton’s method to solve systems of nonlinear algebraic equations,


we need the residual .g(x) and the tangent matrix .A(x). The tangent matrix is the
gradient of the function .g(x), which is the matrix of partial derivatives, as indicated
in Eq. A.7 in Appendix A. In many circumstances, directly computing partial
derivatives is not the most efficient way to find the tangent matrix. The directional
derivative provides a good alternative approach to organizing the computation. It
is also possible to extend the notion of the directional derivative to functionals.
This appendix reviews the directional derivative and provides examples of how to
apply it.1

B.1 Ordinary Functions

The directional derivative of a function .g(x) is defined as

d l l
Dg(x) · h =
. g(x + εh) (B.1)
dε ε=0

The notation on the left side stands for the derivative of the function .g at location
.x in the direction of the vector .h, which is arbitrary and constant but has the same
character as .x. In fact, the value .εh is a perturbation of .x—a little nudge to test how
.g changes in the neighborhood of .x. This approach reduces the rate of change of

.g to be an ordinary scalar derivative with respect to .ε, holding the vectors .x and .h

constant. Once the differentiation step is complete, we set .ε = 0, giving the rate of
change as we just start to move in the direction .h.

1 This appendix is reused from Appendix B of Hjelmstad, K.D. (2022). Fundamentals of Structural

Dynamics: Theory and Computation. Springer, Cham.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2025 411
K. D. Hjelmstad, Engineering Dynamics,
https://doi.org/10.1007/978-3-031-56376-8
@seismicisolation
@seismicisolation
412 B The Directional Derivative

The directional derivative gives the rate of change in a specific direction, but
since we did not restrict .h in any way, it can represent any direction. In that sense,
the directional derivative provides general information about the rate of change of
the function. The reason the directional derivative is of interest to us is because

.Dg(x) · h = A(x)h (B.2)

In other words, if we can factor the .h out of the final expression for the directional
derivative, the matrix that multiplies it is the tangent matrix.

Example B.1 Scalar function of a scalar variable. Consider the scalar


function

g(x) = 3x 2 + x
.

The derivative of this function is .g ' (x) = 6x + 1 by ordinary rules of differen-


tiation. For comparison, we can compute the directional derivative as

d l ( )2 ( )l
Dg(x) · h =
. 3 x + εh + x + εh
dε ε=0
l ( ) l
= 6 x + εh h + h
ε=0
l l ( )
= 6xh + h = 6x + 1 h

Thus, .6x + 1 is the tangent .A(x) of the function .g(x) = 3x 2 + x. In this case,
the tangent is the same as the ordinary derivative, as we have verified, because
there is only one direction available. Thus, the directional derivative does not
provide any benefit for scalar functions of a single variable.

Example B.2 Scalar function of a vector variable. Consider the function



r(x) =
. x·x

This function simply computes the length of a vector as being the square root
of the vector dotted with itself. Compute the directional derivative of .r(x):

d l l
.Dr(x) · h = r(x + εh)
dε ε=0

(continued)

@seismicisolation
@seismicisolation
B The Directional Derivative 413

Example B.2 (continued)


d l( )1 l
2
= (x + εh) · (x + εh)
dε ε=0
l ( )− 1 ( )l
2
= 12 (x + εh) · (x + εh) 2(x + εh) · h
ε=0
x·h x
=√ = ·h
x·x r(x)

We have invoked the product rule and the chain rule in taking these derivatives
with respect to .ε. Note that the vector .x/r is a unit vector pointing in the
direction .x. We can identify .x/r as the gradient of the function .r(x). In this
case, the natural factoring out of the vector .h is through the dot product. The
directional derivative produces a scalar rate of change. The gradient of a scalar
function of a vector variable is a vector. The dot product of vectors is a scalar.

Example B.3 Vector function of a vector variable. Consider the function

g(x) = r(x)x
.


where .r(x) = x · x is the same function as the previous example. Before we
get started, first note that the directional derivative of the function .x is simply
.h. The proof is

d l l
. Dx · h = x + εh =h (B.3)
dε ε=0

The directional derivative of .r(x)x can be computed with the product rule of
differentiation, which works the same for directional derivatives as it does for
ordinary derivatives. Since we have already derived the directional derivatives
of each component, we can compute
( ) ( )
Dg(x) · h = Dr(x) · h x + r(x) Dx · h
. (x )
= · h x + r(x)h
r
How do we factor out the vector .h so that we can identify the tangent matrix?
First, note that in matrix notation, the dot product is .a · b = aT b. Also, note
(continued)

@seismicisolation
@seismicisolation
414 B The Directional Derivative

Example B.3 (continued)


that the scalar that results from the dot product can be moved to the right side
of .x in the first term without violating the rules of matrix algebra. Thus, we
can write
(1 ) l1 l
x
. xT h + rh = xxT + rI h
r r
where .I is the identity matrix of dimension equal to the dimension of .x (which
we will call n here). We put the identity matrix in because the identity times
any vector returns the same vector. In order to group the two terms together,
they must have the same matrix character. The term .xxT is an .n × n matrix,
which can be added to an .n × n identity matrix. Finally, we can identify the
tangent matrix

1
A(x) = r(x)I +
. xxT
r(x)

B.2 Functionals

The directional derivative can also be applied to a functional (i.e., a function of a


function). Let us assume that we have a functional .J (u), where the argument .u(x)
is itself a function. A functional takes in a function as an argument and produces a
number as output. For example, consider the functional
) 1( )
J (u) =
. u2 (x) + 4 sin(u(x)) dx (B.4)
0

For a given function .u(x), .J (u) produces a number. As a specific example for the
functional .J (u), take .u(x) = x + 1. Compute the value of the functional
) 1( )
J (x+1) =
. (x+1)2 + 4 sin(x+1) dx = 6.15913
0

Each different function .u(x) will give a different value of J . The directional
derivative measures how quickly the value of J changes as we move in the direction
of a different function .v(x) and is defined as

d l ( )l
DJ (u) · v =
. J u(x) + εv(x) (B.5)
dε ε=0

@seismicisolation
@seismicisolation
B The Directional Derivative 415

This derivative computes the rate of change of J at the function .u(x) just as we
start to move in the direction of the function .v(x). The directional derivative allows
the computation of this rate using the ordinary derivative with respect to .ε. For our
example functional, we can compute the directional derivative as
)
d l 1( ) l
.DJ (u) · v = (u + εv)2 + 4 sin(u + εv) dx
dε 0 ε=0
)
l 1 d ( ) l
= (u + εv)2 + 4 sin(u + εv) dx
0 dε ε=0
)
l 1( ) l
= 2(u + εv)v + 4 cos(u + εv)v dx
0 ε=0
) 1( )
= 2uv + 4 cos(u)v dx
0

Observe that the functions .u(x) and .v(x) are not affected by differentiation with
respect to .ε. The directional derivative of a functional is useful in the derivation of
Euler–Lagrange equations.

@seismicisolation
@seismicisolation
Appendix C
Numerical Solution of Ordinary
Differential Equations

The equations of motion that emanate from particle and rigid body dynamics
second-order ordinary differential equations. These equations are often nonlinear.
While there are methods available to solve linear ordinary differential equations in
a classical sense, many practical problems are not amenable to those techniques.
This appendix presents the generalized trapezoidal rule as a method for solving the
equations of dynamics numerically and gives an example code that serves as a basic
template for many of the codes in the book.1

C.1 Why Numerical Methods?

Finding classical solutions to differential equations is difficult in all but the


simplest circumstances. That is why we resort to numerical methods. In numerical
integration, we discretize the problem to find the response at certain points in time
(and then connect the dots to visualize the continuous response history). If we are
trying to approximate a function .x(t), then we will find a sequence of values

. {x0 , x1 , x2 , . . . , xn , . . . , xN }

where .xn represents the value of the exact function .x(tn ) at the specific time .tn . In
general, .xn will only approximate the actual response function evaluated at that time.
Figure C.1 shows a discrete representation of a function .x(t). While it is possible to
develop methods with variable step sizes, in this book, we will always take equally
spaced time points, so that .h = tn+1 − tn is constant for all n. The final time .tN = tf
will establish the end of the analysis.

1 Thisappendix is a brief summary of Sections 2.1–2 of Hjelmstad, K.D. (2022). Fundamentals of


Structural Dynamics: Theory and Computation. Springer, Cham.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2025 417
K. D. Hjelmstad, Engineering Dynamics,
https://doi.org/10.1007/978-3-031-56376-8
@seismicisolation
@seismicisolation
418 C Numerical Solution of Ordinary Differential Equations

Fig. C.1 Discrete time series. A time series is a sequence of points in time that represent an
underlying function. (a) The complete time series, showing the initial value .xo , the value .xn at
time .tn , and the final time .tf . (b) Close-up of two adjacent points, showing their respective values
and the size of the time step, h

The derivatives of the primary response variable (e.g., velocity and acceleration)
will appear in our formulations. In a similar fashion, we will designate these as

vn ← ẋ(tn ),
. an ← ẍ(tn )

Again, the discrete values only represent an approximation to the exact values. We
call the set of values .{xn , vn , an } the state at time .tn . In the continuous setting,
position, velocity, and acceleration are related to each other through differential
relationships. In the discrete setting, we view .xn , .vn , and .an as independent
variables, and we need to add additional relationships among them (beyond the
equation of motion) that cause them to emulate the differential relationships. Those
relationships distinguish one numerical integrator from another.
In the discrete world, derivatives are approximated by differences, and integrals
are approximated by simple formulas for area under the curve (e.g., trapezoids). The
key constraint is that only the values at discrete points in the approximation can be
used because those are the ones we have available to us in the discrete setting.
From Eq. 2.5a, we can see that the velocity at time .tn+1 can be computed from
the velocity at time .tn and the integral of the acceleration as
) tn+1
v(tn+1 ) = v(tn ) +
. a(τ ) dτ (C.1)
tn

That relationship is exact. The problem is that we often do not know how the
acceleration varies during that time period. The situation is depicted in Fig. C.2.
The integral we seek is the area under the curve. We know .an , and we seek .an+1 . An
integral of a scalar function represents the area under the curve. Let us approximate
the variation of the acceleration between two time points as a linear function. To
simplify the computations, let

τ − tn
ξ=
.
h

@seismicisolation
@seismicisolation
C Numerical Solution of Ordinary Differential Equations 419

Fig. C.2 The trapezoidal rule. The idea behind the trapezoidal rule is to approximate the integral
using the area of the trapezoid defined by connecting two adjacent points in the time series

Observe that when .τ = tn , .ξ = 0, and when .τ = tn+1 , .ξ = 1. Also note that this
change of variable gives .dτ = hdξ . Now, the acceleration between the time points
can be expressed as

a(ξ ) = (1−ξ ) an + ξ an+1


. (C.2)

Even though we still do not know the value of .an+1 , we can execute the integral as
) ) 1l
tn+1 l l l
. a(τ ) dτ = (1−ξ )an + ξ an+1 h dξ = h 21 an + 21 an+1
tn 0

Of course, the result is simply the area of a trapezoid defined by the linear
interpolation of the two discrete accelerations. This method is called the trapezoidal
rule of integration. We can generalize this formula by asserting that
) tn+1 l l
. a(τ ) dτ ≈ β an + (1−β) an+1 h
tn

where .β ∈ [ 0, 1 ] is a parameter. This parameterization creates a family of inte-


grators that we call the generalized trapezoidal rule. One member of that family,
.β = 0.5, is the trapezoidal rule. If we take .β = 1, then we are approximating the

integral with the left Riemann sum, a method often called the forward Euler method.
If we take .β = 0, then we are approximating the integral with the right Riemann sum,
a method often called the backward Euler method. The main reason for generalizing
the rule is to open up additional possibilities for the method. This line of reasoning
gives rise to the first equation of the generalized trapezoidal rule relating velocity to
acceleration:
l l
vn+1 = vn + h β an + (1−β) an+1
.

@seismicisolation
@seismicisolation
420 C Numerical Solution of Ordinary Differential Equations

Equation 2.5b also shows that the change in position or displacement is equal to
the area under the velocity curve. Thus,
) tn+1
x(tn+1 ) = x(tn ) +
. v(τ ) dτ (C.3)
tn

We can approximate the velocity as the linear interpolation of .vn and .vn+1 and
integrate to get the second equation of the generalized trapezoidal rule relating
displacement and velocity:
l l
.xn+1 = xn + h β vn + (1−β) vn+1

The value of .β would not have to be the same for the first and second equations of
the generalized trapezoidal rule, but we will take them to be the same. The parameter
.β is set by the user. Changing the value of the parameter changes the behavior of

the method. One can show that the value .β = 0.5 gives the most accurate solution.
From Fig. C.2, it is evident that the area of the trapezoid is not the same as the
actual integral unless the variation of the real function is linear. But if the two points
are taken close together, then the error is small. Hence, the size of the time step h is
crucial to the accuracy of the approximation.
To integrate a given function between two limits, we would apply the generalized
trapezoidal rule successively to segments of length h going from the lower limit of
the integral to the upper limit. Within the context of integration of the differential
equation, we step forward from known initial conditions .{xo , vo }, computing the
new acceleration from the old state and then moving on to the next time step.
The generalized trapezoidal rule produces two equations that relate the three state
variables. These two equations are supplemented with the equation of motion to
complete an algebraic system of equations. Generalized trapezoidal rule is a single-
step method. That means the new state can be completely determined from the
previous state and the equation of motion.
Numerical solutions introduce approximation error, and we need to understand
how those errors manifest in order to be competent users of numerical methods.
In general, if we take a finer time discretization (i.e., smaller time step h), then
the numerical approximation should improve. If we reduce the time step size and
there is no change to the solution, then we can be confident that the approximate
solution is close to the exact solution. Each numerical integrator has its own
performance features. Some have the problem of potential numerical instability
where the numerical solution blows up for reasons that have nothing to do with
the underlying problem we are solving.

@seismicisolation
@seismicisolation
C Numerical Solution of Ordinary Differential Equations 421

C.2 The Generalized Trapezoidal Rule

The basic form of the generalized trapezoidal rule generalizes perfectly to vector
values as
l l
vn+1 = vn + h β an + (1−β) an+1
.
l l (C.4)
xn+1 = xn + h β vn + (1−β) vn+1

where the state .{xn , vn , an } gives the position, velocity, and acceleration at time
step n. One way to think about why the vector relationships hold is to imagine each
component of the vector obeying the generalized trapezoidal rule. The evolution
of each item depends upon the differential relationship, not the physical laws that
govern the interaction of those components.
The form of Eq. C.4 makes it clear that if we know the new acceleration .an+1 ,
then we can compute the new velocity .vn+1 , and once we have that value, then
we can compute the position .xn+1 . There is a sequential nature to these equations.
For problems in which the new acceleration is known explicitly, the sequential
computation makes as much sense as any other way of arranging the equations.
However, most problems in dynamics have the new state variables coupled through
the equation of motion.
The integration equations can be put into a slightly different form that suits the
numerical algorithm for computation for nonlinear dynamics problems. Observe
that .vn+1 computed in the first of the generalized trapezoidal rule equations in
Eq. C.4 can be substituted into the place it appears in the second equation. To wit,
l l
xn+1 = xn + h β vn + (1−β) vn+1
l ( l l)l
. = xn + h β vn + (1−β) vn + h β an + (1−β) an+1
= xn + hvn + β(1−β)h2 an + (1−β)2 h2 an+1

We compute the new state knowing the old state completely. Thus, the first three
terms in the final line of the equation are known from time step n. Only the value
.an+1 is unknown. We can observe that the same is true of the velocity equation,

Eq. C.4a.
Hence, we can write the generalized trapezoidal rule equations in the form

xn+1 = bn + ζ an+1
. (C.5)
vn+1 = cn + η an+1

where the two values

bn = xn + h vn + β(1−β)h2 an
. (C.6)
cn = vn + βh an

@seismicisolation
@seismicisolation
422 C Numerical Solution of Ordinary Differential Equations

are the parts of the new position and velocity that can be computed from the previous
time step. Quantities

η = (1−β)h,
. ζ = (1−β)2 h2 = η2 (C.7)

depend only on the numerical analysis parameter .β and the time step h. In an
iterative setting, we can compute .bn and .cn just once for the time step and then
iterate on the value of .an+1 until convergence. It is clear from Eq. C.5 that .xn+1 and
.vn+1 can be viewed as simple linear functions of .an+1 . When we implement the

generalized trapezoidal rule in a code, this form will be the most efficient.
There are many other numerical methods available to integrate the equations of
dynamics. The generalized trapezoidal rule is an example of what we call an implicit
method, which means that we try to satisfy the equation of motion at time step .n + 1.
For systems with multiple degrees of freedom, implicit methods require the solution
of a system of equations at each time step.
As solving systems of equations is a computationally intensive operation (espe-
cially for large systems), researchers have also been interested in explicit methods.
There are many explicit methods, including the Runge–Kutta family and the
(forward) Euler method, each with different stability and accuracy characteristics.
The main attraction of explicit methods is the avoidance of the Newton iteration and,
thus, the solution of a system of equations. The main drawback is that they usually
have poor stability characteristics compared with implicit methods and often require
much smaller time steps.

C.3 The Complete Set of Equations

The generalized trapezoidal rule gives two equations relating the previous state
{xn , vn , an } to the new state .{xn+1 , vn+1 , an+1 } in Eq. C.5. But that gives only two
.

equations for three unknowns. The third equation needed to solve the system of
equations is the equation of motion at step .n + 1, which we write as

g(xn+1 , vn+1 , an+1 ) = 0


.

where the function .g represents the discrete equation of motion, which depends upon
the original governing differential equation. For example, the linear single-degree-
of-freedom oscillator has the differential equation

.mẍ(t) + cẋ(t) + kx(t) = 0

where m, c, and k are physical parameters. For the discrete equation, we can define
the residual function

g(xn+1 , vn+1 , an+1 ) = man+1 + cvn+1 + kxn+1


.

@seismicisolation
@seismicisolation
C Numerical Solution of Ordinary Differential Equations 423

Now, the equation .g(xn+1 , vn+1 , an+1 ) = 0 is an assertion that the state variables
satisfy the discrete equation of motion at step .n + 1. This is an algebraic equation
because we are only trying to satisfy the equation of motion at a single point in time.
Because the equations of the generalized trapezoidal rule are so simple, we can think
of position and velocity as being functions of time. Let .a = an+1 be the acceleration
we seek in solving the equations of motion and the generalized trapezoidal rule.
Now, we can think of g as being only a function of a. To wit,

g(a) = ma + cvn+1 (a) + kxn+1 (a)


.

where .vn+1 (a) and .xn+1 (a) come from the generalized trapezoidal rule.
For many dynamic problems, the equations of motion are nonlinear. That is
the motivation for writing the discrete equations in residual form .g(a) = 0. To
solve the nonlinear algebraic equations, we appeal to Newton’s method, as outlined
in Appendix A. Now, with three equations and three unknowns, we can solve
the discrete set of equations. The time integration equations (e.g., generalized
trapezoidal rule) create an algebraic equation consistent with the original differential
equation. Newton’s method is simply a way to deal with algebraic equations that
emanate from this discretization process.

C.4 Computing Initial Acceleration

Equations of dynamics are initial value problems, which means that the initial
position .xo and initial velocity .vo uniquely determine the subsequent response
from the equation of motion. Initial acceleration cannot be specified as an initial
condition. It must be determined from equations of motion (otherwise, it might
conflict with them). At time .t = 0, we can write

g(xo , vo , ao ) = 0
.

which we can solve for .ao , knowing .xo and .vo . Even if equations of motion are
nonlinear, this equation is usually very simple to solve because the inertial term is
always linear. The equation might look like

.Man + r(xn , vn ) = 0

where .M is constant and all the nonlinearity is contained in the function .r and
involves only position and velocity. In such a case, the initial acceleration can be
computed as .ao = −M−1 r(xo , vo ).

@seismicisolation
@seismicisolation
424 C Numerical Solution of Ordinary Differential Equations

C.5 Practical Implementation

It is instructive to see how the method is implemented in a simple dynamic analysis


code. We will look at a specific example to illustrate the concepts in this section.
Consider the simple uniform pendulum of length L shown in Fig. C.3. The time-
dependent variable for this system is the angle .θ (t) of the pendulum measured from
vertical. The differential equation governing the motion is

θ̈ (t) + C sin θ (t) = 0


.

where .C = 3g/2L is a constant, with g being the acceleration of gravity.


This nonlinear differential equation can be solved using the generalized trape-
zoidal rule for the time integrator along with Newton’s method to solve the
resulting nonlinear algebraic equations. To write the discrete equations of motion,
let us define the discrete approximations of angle, angular velocity, and angular
acceleration as follows:

xn ← θ (tn ),
. vn ← θ̇ (tn ), an ← θ̈ (tn )

The discrete equation of motion and the generalized trapezoidal rule equations are
(using uppercase G for the residual so we do not confuse it with the acceleration of
gravity)

G(xn+1 , vn+1 , an+1 ) = an+1 + C sin(xn+1 ) = 0


. xn+1 = bn + ζ an+1
vn+1 = cn + η an+1

Fig. C.3 Simple pendulum. The response of a simple pendulum computed using the generalized
trapezoidal rule with .β = 0.5 and time step .h = 0.2. The physical parameters are .L = 10 and
.g = 9.81. The pendulum starts from rest at an initial angle of .θo = 3.13 (nearly vertical). The
convergence tolerance for Newton’s method is .10−8

@seismicisolation
@seismicisolation
C Numerical Solution of Ordinary Differential Equations 425

where .bn = xn + hvn + β(1 − β)h2 an and .cn = vn + βhan are the parts of the new
angle and angular velocity, respectively, in the generalized trapezoidal rule (GTR)
equations that involve information from step n and .η = (1 − β)h and .ζ = η2 are
integration constants derived from .β and h. If we knew .an+1 , then we could compute
both .xn+1 and .vn+1 from GTR relationships. However, both .xn+1 and .an+1 show up
in the equation of motion. We can solve this problem iteratively by first assuming
a value for .an+1 , using that value to compute .xn+1 by GTR, testing to see if the
equation of motion is satisfied, and improving the estimate of .an+1 using Newton’s
update if it is not.
Let .a = an+1 be the angular acceleration at step .n + 1 that we seek. The residual
.G(a) and tangent .A = dG/da for Newton’s method for this problem are given by

G(a) = a + C sin(bn + ζ a)
.
∂G
A(a) = = 1 + ζ C cos(bn + ζ a)
∂a
The Newton update is (see Appendix A)

a i+1 = a i − G(a i )/A(a i )


.

We start the iteration with .a 0 = an and continue until the norm of the residual is
smaller than a predefined tolerance. The value .an+1 is taken as the converged value
of .a N , where N is the number of Newton iterations required to obtain convergence
for that time step. The code that solves this problem is given as follows:

Code C.1 MATLAB code for numerically integrating the equation governing the simple pendu-
lum using the generalized trapezoidal rule

clear; clc;

%. Physical parameters
gravity = 9.81; % Acceleration of gravity
L = 10.0; % Pendulum length
C = 3*gravity/(2*L); % Constant
tf = 40; % Final time

%. Numerical analysis parameters


h = 0.2; % Time step
nSteps = ceil(tf/h)+1; % Number of time steps
beta = 0.5; % GTR parameter
eta = (1-beta)*h; % GTR parameter
zeta = eta^2; % GTR parameter
tol = 1.e-8; % Tolerance for Newton

%. Set initial conditions and time


t = 0;
xo = 3.13;
vo = 0.0;

%. Set old values, compute initial acceleration


xold = xo;
vold = vo;
aold = -C*sin(xo);

@seismicisolation
@seismicisolation
426 C Numerical Solution of Ordinary Differential Equations

%. Initialize storage for plotting results


Store = zeros(nSteps,3);

%. Loop over time steps


for i=1:nSteps

%.... Store values for later plotting


Store(i,:) = [t,xold,vold];

%.... Set up values for new time step


t = t + h;
bn = xold + vold*h + beta*(1-beta)*h^2*aold;
cn = vold + beta*h*aold;
anew = aold;

%.... Compute new angular acceleration by Newton iteration


err = 1;
while err>tol
xnew = bn + zeta*anew;
G = anew + C*sin(xnew);
A = 1 + zeta*C*cos(xnew);
anew = anew - G/A;
err = norm(G);
end

%.... Compute final angle and angluar velocity


xnew = bn + zeta*anew;
vnew = cn + eta*anew;

%.... Update state to prepare for next time step


aold = anew;
vold = vnew;
xold = xnew;

end % loop over time steps

PlotPendulum(Store);

This example shows the simplicity and power of numerical integration for
solving dynamics problems. You can see that we carry out the computation keeping
track of only the current state (step n, which we call old), and the next state (step
.n + 1, which we call new). This same code organization will be used throughout the

book. We name the variables x, v, and a, with either an old or new designation to
represent the time-dependent variable, its first derivative, and its second derivative,
respectively.
The graphical output is contained in the function PlotPendulum, which is not
included here to avoid distracting from the simplicity of the analysis code structure.
Suffice it to say that the function simply produces the graph in Fig. C.3. Graphical
output is essential but tangential to the discussion of numerical methods.
There are several things to notice about this practical implementation. First,
we name the current state (xold, vold, aold) and the next state (xnew,
vnew, anew). The initial values of xold and vold are determined by the initial
conditions xo and vo, but the starting value for aold must be computed from the
equation of motion. The solution is carried out as a loop over time steps. For each
step, the state must satisfy the equation of motion (at the new time) as well as the
GTR relationships. The solution of the nonlinear algebraic equation that represents

@seismicisolation
@seismicisolation
C Numerical Solution of Ordinary Differential Equations 427

the equation of motion is done as a Newton iteration. Once the Newton iteration
has converged, we update the state by putting the new values into the old storage
locations.
We store the values we need for graphical output in the array Store. While
we store all values in this code segment, it is often not necessary to store all of
the computed values. For example, accuracy of the solution might require a very
small h, but the graphical output might not require that many points to produce a
clear visual result. In such a circumstance, you can set up a strategy for storing the
computed values every now and then rather than at every time step. It is also possible
to plot values on the fly as you compute them, which reduces the need for storage,
but in most computing environments, that strategy is not very efficient.
Figure C.3 shows the response of the pendulum for the values of the parameters
given in the figure caption. The solution is the discrete time series shown by the
points on the plot. It is important to remember that we are computing values only at
discrete points in time. Of course, in plotting, we could connect the dots to give a
curve that looks like a continuous function. The nonlinearity is evident in the results.
Since the initial angle puts the pendulum nearly upright, the nonlinearity of the .sin θ
term has a large influence.

C.6 Summary

The main reason that we resort to numerical methods is because we cannot solve
the differential equations by classical means for most problems. In the practical
implementation, we march forward in time using the previous state to compute the
next state. Once the new state is found, we can update and repeat the calculation. We
need only store the current state to compute the new state. The framework for the
computation will remain the same for all problems in dynamics. As such, this code
serves as a template for all codes in the book for solving the equations of dynamics.

@seismicisolation
@seismicisolation
Appendix D
The Eigenvalue Problem

In dynamics, the eigenvalue problem shows up in several contexts. As such, it is a


fundamental building block for understanding the subject. In Chap. 5, the eigenvalue
problem appears in the context of the mass moment of inertia. In fact, principal
values and principal directions are eigenvalues and eigenvectors, respectively, of the
tensor .JC . In Chap. 8, the eigenvalue problem appears in the context of vibration
of systems with multiple degrees of freedom. In that case, natural frequencies and
mode shapes are eigenvalues and eigenvectors, respectively, of the matrix form of
the equations of motion. This appendix provides a review of the mathematics of the
matrix eigenvalue problem with some examples on how to solve such problems.1

D.1 The Algebraic Eigenvalue Problem

There are two statements of the algebraic eigenvalue problem that come up in
dynamics. The generalized eigenvalue problem has the form
l l
. K − λM ϕ = 0 (D.1)

or, equivalently, .Kϕ = λMϕ, where .K and .M are symmetric .N×N matrices. We
assume that matrices .K and .M are known and that we seek .λ and .ϕ as the solution to
the eigenvalue problem, Eq. D.1. We restrict our attention to symmetric eigenvalue
problems (which means that matrices .K and .M are symmetric matrices), which
guarantees that values of .λ are real (i.e., not complex numbers).
The standard eigenvalue problem takes the form
l l
. A − λI ϕ = 0 (D.2)

1 This appendix is a modified version of Section C.1 in Appendix C of Hjelmstad, K.D. (2022).

Fundamentals of Structural Dynamics: Theory and Computation. Springer, Cham.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2025 429
K. D. Hjelmstad, Engineering Dynamics,
https://doi.org/10.1007/978-3-031-56376-8
@seismicisolation
@seismicisolation
430 D The Eigenvalue Problem

or .Aϕ = λϕ, where .A is an .N ×N symmetric matrix and .I is the .N×N identity


matrix. Again, the matrix .A is known, and the goal is to find .λ and .ϕ. The
generalized symmetric eigenvalue problem can always be converted to a symmetric
standard eigenvalue problem. Conversely, the standard eigenvalue problem can be
viewed as a special case of the generalized eigenvalue problem with .M = I and
.K = A.

D.2 The Characteristic Equation

The condition for a solution to the eigenvalue problem, other than the trivial solution
ϕ = 0, is that the determinant of the coefficient matrix must be zero, i.e.,
.

l l
. det K − λM = 0 (D.3)

This equation is called the characteristic equation associated with the eigenvalue
problem. It is an N th-order polynomial equation in .λ. Notice that this equation
does not involve .ϕ. Zeros of the polynomial are called eigenvalues of the matrix
pair (.K, M). For small systems, solving the characteristic equation is an effective
approach to finding the eigenvalues.

Example D.1 Consider the eigenvalue problem with matrices


⎡ ⎤ ⎡ ⎤
5 2 1 0 0 1 0 0 0 0
⎢ ⎥ ⎢ ⎥
⎢ 2 6 3 1 0 ⎥ ⎢ 0 1 0 0 0 ⎥
⎢ ⎥ ⎢ ⎥
.K = ⎢ 1 3 7 2 1 ⎥, M=⎢ 0 0 1 0 0 ⎥ (D.4)
⎢ ⎥ ⎢ ⎥
⎣ 0 1 2 8 2 ⎦ ⎣ 0 0 0 1 0 ⎦
0 0 1 2 9 0 0 0 0 1

The plot of .det[ K − λM ] versus .λ is shown in Fig. D.1. The roots of the
characteristic equation are shown with open circles in the plot and have the
values

λ = 2.891, 4.388, 6.233, 9.060, 12.428


.

These roots can be found by any root-finding algorithm for a scalar equation
of a scalar unknown (e.g., interval halving or regula falsi). The challenge of
this approach is that these algorithms require the specification of bounds on
the search. Without the plot, it is difficult to establish these bounds.

(continued)

@seismicisolation
@seismicisolation
D The Eigenvalue Problem 431

Example D.1 (continued)


Fig. D.1 Plot of
.det[ K − λM ] versus .λ. The
eigenvalues are the roots of
the characteristic equation,
shown here as open circles

Observe that there are five roots to Eq. D.3 for this case. Matrices .K and
M are five by five. The number of eigenvalues is equal to the dimension of
.

square matrices from whence they come.

D.3 Computing the Eigenvectors

Once eigenvalues .λi for .i = 1, . . . , N are known, eigenvectors can be found by


solving the homogeneous linear system of equations
l l
. K − λi M ϕi = 0, i = 1, . . . , N (D.5)

The coefficient matrix for each of these equations is singular. That is how we got
the .λi values. Therefore, solving these equations must assume some knowledge of at
least one of the components of .ϕi (more than one if two or more of the .λi values are
equal). Notice that we could multiply .ϕi by any scalar (including negative values)
and the resulting vector would still satisfy Eq. D.5. For that reason, eigenvectors
are often called mode shapes because they represent a shape whose magnitude is
indeterminate. It is common to normalize eigenvectors so that .ϕTi Mϕi = 1.
First, we find eigenvalues by solving the characteristic equation. Then, with each
.λi , we will find the associated eigenvector by solving a linear system of equations

as follows. First, partition the problem as


l ll l l l
l l bi bTi 1 0
.K − λi M ϕ̂i = =
bi Bi xi 0

@seismicisolation
@seismicisolation
432 D The Eigenvalue Problem

where .bi and .bi make up the first column, .bi and .bTi the first row, and .Bi the
lower right submatrix of .[ K − λi M ]. Solve for .xi using the last .N−1 equations,
.bi + Bi xi = 0, and construct the eigenvector .ϕi as

l l
1 ϕ̂i
xi =
. −B−1
i bi , → ϕ̂i = → ϕi =
xi ||ϕ̂i ||

where the normalization is commonly taken as .||ϕ̂i ||2 = ϕ̂Ti Mϕ̂i , which results
in eigenvectors that satisfy .ϕTi Mϕi = 1. Scaling is important, but there are many
choices. Any scaling is fine as the magnitude of the eigenvector does not affect the
eigenvalue problem. One could, for example, leave eigenvectors with the first value
equal to 1.
To find all eigenvalues, we repeat this computation for .i = 1, . . . , 5. A simple
version of this algorithm is implemented in Code D.1 to illustrate the process.

Code D.1 MATLAB code for computing eigenvalues and eigenvectors of a matrix by solving the
characteristic equation to find eigenvalues and then solving a linear system of equations to find
eigenvectors
% Solve eigenvalue problem with characteristic equation approach
clear; clc;

%. Input matrices
K = [ 5, 2, 1, 0, 0 ;
2, 6, 3, 1, 0 ;
1, 3, 7, 2, 1 ;
0, 1, 2, 8, 2 ;
0, 0, 1, 2, 9 ];
N = size(K,1);
M = eye(N);

%. Find eigenvalues by solving characteristic equation


syms z
f=@(z) det(K-z*M);
lambda = double(vpa(solve(f(z)==0)));

%. Find eigenvectors by solving linear system of equations


PHI = zeros(N,N);
for i=1:N
B = K - lambda(i)*M;
b = B(2:N,1);
B = B(2:N,2:N);
x = -B\b;
phi = [1; x];
phi = phi/sqrt(dot(phi,M*phi));
PHI(:,i) = phi;
end

This process assumes that the first component of the eigenvector is not zero.
We assume a value of one for that element, solve the remaining four equations
for .xi , and then normalize the vector to unit length. For this matrix, all five of the
eigenvectors are amenable to this approach. If any eigenvector has a zero for that
first component, then this strategy fails because the value one cannot be scaled to
give a zero. In such a case, a different element of the eigenvector should be assumed
as one with the appropriate change to the partitioning scheme. At least one of the

@seismicisolation
@seismicisolation
D The Eigenvalue Problem 433

components must be nonzero. If the element assumed to be one is actually supposed


to be zero, then the matrix .Bi will be singular. If an eigenvalue is repeated, then
additional values in the eigenvector must be prescribed, again with corresponding
changes to the partitioning scheme.
We will not present a code that deals with all these possibilities because we have
the MATLAB function eig available to us. Code D.1 is set up to solve the previous
example, as shown in the next one.

Example D.2 Consider matrices .K and .M in Eq. D.4, again. The eigenvalues
are stored in the columns of the matrix PHI. The results for this example are
⎡ ⎤
0.4978 0.7010 0.3477 0.3289 0.1779
⎢ −0.7445 0.0997 0.1980 0.4932
⎢ 0.3916 ⎥

⎢ ⎥
.Ф = ⎢ 0.4389 −0.6283 0.0329 0.3489 0.5383 ⎥
⎢ ⎥
⎣ 0.0023 0.3223 −0.7478 −0.1954 0.5466 ⎦
−0.0726 −0.0035 0.5287 −0.6990 0.4759

where each column of .Ф is an eigenvector. To test the eigenvectors found,


compute .ϕTi Mϕi and .ϕTi Kϕi for any i between 1 and 5. The first product
should give a value of 1 and the second a value of .λi . One can also
demonstrate that the eigenvectors are orthogonal by computing .ϕTi Mϕj for
.j /= i. If the value is zero, then the eigenvectors are orthogonal with respect to

the matrix .M.

The next example illustrates the computation of eigenvectors by hand for a simple
problem with .N = 2. Of course, results can be verified by substituting matrices into
Code D.1.

Example D.3 Find the eigenvalues and eigenvectors of the generalized


eigenvalue problem .[ K − λM ]ϕ = 0, with matrices
l l l l
2 1 1 0
K=
. , M= .
1 3 0 2

The eigenvalue problem can be expressed as


l ll l l l
2−λ 1 ϕ1 0
. = (D.6)
1 3 − 2λ ϕ2 0

(continued)

@seismicisolation
@seismicisolation
434 D The Eigenvalue Problem

Example D.3 (continued)


The characteristic equation comes from setting the determinant of the coeffi-
cient matrix equal to zero. To wit,
( )( )
. 2 − λ 3 − 2λ − 1 = 0 → 2λ2 − 7λ + 5 = 0

The characteristic equation is quadratic because the system is .2 × 2 and can


be solved with the quadratic formula to give .λ1 = 1 and .λ2 = 2.5. Substituting
.λ1 back into Eq. D.6, we get

l ll l l l
1 1 ϕ1 0
. =
1 1 ϕ2 0

which is satisfied if .ϕ2 = −ϕ1 . Observe that both equations give this same
result. Hence, the first eigenvector (i.e., the one associated with .λ1 ) is
l l
1
ϕ1 =
.
−1

Now, substituting .λ2 back into Eq. D.6, we get


l ll l l l
−0.5 1 ϕ1 0
. =
1 −2 ϕ2 0

which is satisfied if .ϕ1 = 2ϕ2 . Hence, the second eigenvector (i.e., the one
associated with .λ2 ) is
l l
2
ϕ2 =
.
1

Eigenvectors can be scaled by multiplying by any number. The MATLAB eig


command scales the eigenvectors so that .ϕTi Mϕi = 1.

D.4 Orthogonality of Eigenvectors

Eigenvectors are orthogonal if eigenvalues are distinct. The proof is straightforward.


Take two different eigenpairs .(λn , ϕn ) and .(λm , ϕm ). Each pair satisfies Eq. D.5.
Premultiply the equation with index n by .ϕTm and the equation with index m by .ϕTn ,
and subtract the first equation from the second one to get

@seismicisolation
@seismicisolation
D The Eigenvalue Problem 435

l l l l
ϕTn K − λm M ϕm − ϕTm K − λn M ϕn = 0
. (D.7)

The result equals zero because of Eq. D.5. Matrices .K and .M are symmetric, i.e.,

ϕTn Mϕm = ϕTm Mϕn


.
ϕTn Kϕm = ϕTm Kϕn

Therefore, Eq. D.7 reduces to


( )
.λn − λm ϕTn Mϕm = 0

which proves orthogonality, i.e., .ϕTn Mϕm = 0, as long as eigenvalues are not equal,
i.e., .λn /= λm . We call this .M-orthogonality because the matrix .M is sandwiched
between the two eigenvectors in the product.
If two or more eigenvalues are equal, then the associated eigenvectors form
a subspace in which any linear combination of vectors satisfies the eigenvalue
problem. Say, for example, that .λn = λm = λ̂ are repeated eigenvalues associated
with the distinct eigenvectors .ϕn and .ϕm . In other words, .Kϕn = λ̂Mϕn , and
.Kϕm = λ̂Mϕm . Let .ϕ̂ = aϕn + bϕm and compute

( )
Kϕ̂ = K aϕn + bϕm
.

= aKϕn + bKϕm

= a λ̂Mϕn + bλ̂Mϕm
( )
= λ̂M aϕn + bϕm = λ̂Mϕ̂

Thus, the vector .ϕ̂, which is a linear combination of .ϕn and .ϕm , satisfies the
eigenvalue problem for any values of a and b. Vectors .ϕn and .ϕm might not be
orthogonal, but it is always possible to select vectors from the subspace that are
orthogonal (or to select two vectors and orthogonalize them).
It is also straightforward to prove that eigenvectors are .K-orthogonal. Premulti-
ply Eq. D.5 (with index m) by .ϕn to get
l l
ϕTn K − λm M ϕm = 0
.

Since .ϕTn Mϕm = 0 if .λn /= λm , it must also be true that .ϕTn Kϕm = 0. Also, note
that

ϕTn Kϕn
λn =
. (D.8)
ϕTn Mϕn

no matter how the eigenvectors are scaled.

@seismicisolation
@seismicisolation
436 D The Eigenvalue Problem

Example D.4 Show that eigenvectors from the previous example are orthog-
onal with respect to both .K and .M.
To make the demonstration, we need to show that .ϕT1 Kϕ2 = 0 and
.ϕ Mϕ2 = 0. To wit,
T
1
l ll l l l
{ } 2 1 2 { } 5
ϕT1 Kϕ2 = 1 −1
. = 1 −1 =0
1 3 1 5

Similarly,
l ll l l l
{ } 1 0 2 { } 2
ϕT1 Mϕ2 = 1 −1
. = 1 −1 =0
0 2 1 2

Because the matrices are symmetric, there is no need to reverse the order of
multiplication.

@seismicisolation
@seismicisolation
Index

A Chain rule, 305


Acceleration, 30 Characteristic equation, 363, 369
initial, 423 damped SDOF system, 350
Action integral, 256, 257 generalized eigenvalue problem, 430
Acute angle, 314 undamped SDOF system, 340
Acyclic order, 11 Circular geometry, 96
Admissible functions, 253 Classical solution methods, 337
Amplification factor, 359 Codes
Amplitude, 342 Double Pendulum, 124
Angular acceleration, 201 Heavy Top, 244
Angular momentum, 149, 210 Impacting Pendulums, 322
Angular velocity Inertial Properties 2D, 181
tensor, 190 Inertial Properties 3D, 232
vector, 191 Newton, 407
Average, 287 Pendulum, 425
Projectile Drag, 64
Rigid Body Projectile, 239
B Surface Impact, 306
Balance of momentum, 210 Unbalanced Hoop, 104
angular, 84, 148 Vibration Classical, 374
linear, 84, 93, 146, 147 Vibration Numerical, 378
Bar, 208 Code verification, 65, 381
Base tensor, 13 Coefficient of friction, 41, 87
Base vectors, 10, 24 Coefficient of restitution, 280, 303, 319
Basis, 10 Collinear vectors, 9
Commutative, 6
C Complex conjugate pairs, 364
Calculus Conservation of energy, 251, 264, 267
fundamental theorem, 224 Conservation of momentum, 213, 275, 282,
Calculus of variations, 251, 254 287, 293, 301
fundamental theorem, 258 Constants of integration, 33
Cancellation of fluxes, 92, 107 Convergence
Center of mass, 153, 160, 166, 168, 197, 202 quadratic, 404
Centripetal acceleration, 163, 192 Coordinate geometry, 2

© The Editor(s) (if applicable) and The Author(s), under exclusive license to 437
Springer Nature Switzerland AG 2025
K. D. Hjelmstad, Engineering Dynamics,
https://doi.org/10.1007/978-3-031-56376-8
@seismicisolation
@seismicisolation
438 Index

Cross product, 6 spring, 46


as a tensor operation, 20 total, 52
Curl, 225 Energy methods, 28
Cycles per second (cps), 341 Euler angles, 192
Cyclic order, 11 Euler–Lagrange equation, 258
Cycloid, 100 Euler, Leonard, 81
Euler’s equations, 208
Euler’s identity, 340, 350, 365
D Euler’s laws of motion, 158
Damping canonical form, 207
critical, 352 first law, 147, 153, 197
overdamped systems, 352 second law, 149, 153, 163, 202
underdamped systems, 350 Explicit method, 422
Damping ratio, 350
Datum, 44, 127, 215
Degrees of freedom, 36, 88, 117, 361, 375 F
Delta function, 278 Faces, triangulated surface, 222
Derivative First integral, 54
directional, 45, 62, 257, 411 First moment of mass, 147, 166, 175, 196
Determinant, 363 Force, 36
Differential equation conservative, 43
classical solution, 59 drag, 61
general solution, 341 gravity, 43
homogeneous solution, 354 restoring, 337
linear, 343 total net applied, 146, 196
particular solution, 354 Frequency
Differential relationships, 31 circular, 341
Directional derivative, 45, 62, 257, 411 natural, 341
Distribution, 278 Function, 252
Divergence, 175, 225 Functional, 252, 414
Divergence theorem, 175, 224
Dot product, 5 G
matrix notation, 14 Generalized coordinates, 256
Double pendulum, 117 Generalized trapezoidal rule, 419, 421
Double Pendulum (code), 124 Geometry sketch, 89
Drag coefficient, 61 Gibbs, Josiah Willard, 10
Dzhanibekov effect, 242 Gimbal lock, 192
Gradient, 225
Graph, 252
E
Eigenvalue problem, 363, 369, 372
generalized, 429 H
matrix, 429 Hamilton, William Rowan, 10
SolveEVP (code), 432 Heavy top, 242
standard, 429 Heavy Top (code), 244
Eigenvalues, 202, 372, 430 Hertz, 341
Eigenvectors, 372, 431 Hooke, Robert, 46
Energy
conservation of, 52, 218, 262
kinetic, 39, 40, 86, 213 I
loss in impact, 303 Identity matrix, 430
potential, 42, 86 Imaginary numbers, 10
gravity, 44 Imaginary unit, 340

@seismicisolation
@seismicisolation
Index 439

Impact, 39, 329 Linear differential equation, 343


ball impacting pendulum, 292 Linearization, 337, 343, 402
computational approach, 299 Linear spring, 46
deformation phase, 279
elastic, 303
plastic, 303 M
recovery phase, 280 Mass, 27, 81, 147, 166, 175, 196
resolution, 306 center of, 129
Impacting pendulums per unit area, 107
contact detection, 314 Mass density, 86, 208
Impacting Pendulums (code), 322 Mass matrix, 362, 371, 376
interpolation, 317 Mass moment of inertia, 81, 129, 149, 166,
resolution, 318 175, 202, 204
Implicit method, 422 Matrix exponential, 194
Impulse, 38, 210, 275 Mean value theorem
Impulse-momentum, 212 piecewise continuous function, 287
Inertial properties, 222 product of functions, 290
composite, 168 Modal vibration, 366
Inertial Properties 2D (code), Mode shapes, 338, 364, 370, 372, 377, 431
181 Moment
Inertial Properties 3D (code), total net applied, 146, 199
232 Momentum, 38
planar motion, 166 angular, 149, 211
Inertial reference frame, 9, 29 linear, 147, 210
Initial conditions, 29, 90 Momentum, balance of
NDOF system, 365, 372 angular, rigid body, 84
SDOF system, 339 linear, rigid body, 82
Integration particle, 38
over a region, 85 Motion variables, 89
techniques of, 85, 86
Integration by parts, 34
Intermediate axis theorem, 208 N
Natural frequency, 337, 341, 366, 372, 377
damped, 350
J Natural period, 342
Jerk, 30 Newtonian reference frame, 24
Jounce, 30 Newton–Raphson, 403
Newton’s cradle, 286
Newton, Sir Isaac, 27
K Newton’s laws of motion, 28
Kinematic picture, 89 first law, 29
Kinematics, 29, 89 second law, 29
Kinematic state, 30 third law, 83
Kinetics, 36, 92 Newton’s method, 62, 304, 405, 425
Newton (code), 407
Nonlinear algebraic equations, 401
L Normal force, 59
Lagrangian, 257 No-slip condition, 98, 112
Law of cosines, 6 Numerical integration, 103, 122
Law of exponents, 350 backward Euler method, 419
Leibniz, Gottfried Wilhelm, 24 forward Euler method, 419
integration rule, 34 generalized trapezoidal rule, 419, 421
Linear algebra, 363 Nutation, 242, 246

@seismicisolation
@seismicisolation
440 Index

O Regula falsi, 305, 430


Obtuse angle, 314 Residual, 378
Origin, 29 Residual function, 238, 405, 411
Orthogonal, 9 Resonance, 337, 354, 359, 385
Oscillation, 337 Restoring force, 337
Outer product, 6 Resultant force, 157
Rigid body, 29, 81
Rigid body projectile
P Rigid Body Projectile (code), 239
Parallel axis theorem, 166, 167, 204 Rod, 87, 208
Parallelepiped, 7 Rodrigues, Benjamin Olinde, 192
Parallel vectors, 9 rotation formula, 192
Particle, 27 rotation tensor, 195
Particle impact Rolling without slipping, 97
contact detection, 303 Rotation, 145
interpolation, 304 about an axis, 193
resolution, 306 in a plane, 192
Surface Impact (code), 306 tensor, 195
Path of motion, 30 Runge–Kutta method, 422
Pendulum, 260, 425
Periodic motion, 342
Perturbation, 411 S
Phase portraits, 325 Scalar, 2
Phase shift, 342 SDOF oscillator, 338
Planar motion, 139 Self-weight, 156
Plastic impact, 280 Shear building, 375
Plate, 208 Vibration Classical (code), 374
Point loads, 84 Vibration Numerical (code), 378
Position vector, 29, 90 Simple oscillator, 259
Positive semi-definite, 204 Skew symmetric, 8
Power, 40 Snapshot states, 95
Precession, 242, 246 Speed, 30
Principal moments of inertia, 202 Spring energy, 46
Principia, Newton’s, 29 Spring, linear, 46
Principle of least action, 252, 257 Stability, 138
Projectile motion, 27, 36, 60 Stable, 208
Projectile Drag (code), 64 Static equilibrium, 345, 347
Projection, 17, 314 Statics, 110, 146
tensor, 301 Stationary, 255
Pythagorean theorem, 2 Stiffness matrix, 362, 371, 376
Symmetric matrices, 371

Q
Quadratic convergence, 404, 409 T
Quadratic form, 269 Tangent, 30
Quaternions, 10 Tangent matrix, 378, 405, 411
Taylor series, 194, 402
Tennis racket theorem, 242
R Tensor, 13
Radians, 60 antisymmetric, 21, 190
Radius of gyration, 133, 173 base tensor, 13
Raphson, Joseph, 403 basis, 13
Reaction force, 339 components, 13
Reference configuration, 140, 188 field, 176

@seismicisolation
@seismicisolation
Index 441

orthogonal, 189 unit, 9


product of vectors, 6 Vector algebra
projection, 17 addition, 3
rotation, 143 anticommutative property, 8
second-order, 16 associative property, 8
third-order, 16 commutative property, 8
Terminal velocity, 66 distributive property, 8, 19
Time step, 62, 418 head-to-tail rule, 3
Tolerance, 406 multiplication, 4
Trace, tensor, 227 parallelogram rule, 3
Translation, 145 right-hand rule, 11
Trapezoidal rule, 62, 235 subtraction, 4
Triple scalar product, 7, 294 Vector multiplication
Trivial solution, 340 cross product, 6
Two-state problem, 52, 56, 251 dot product, 5
Typical particle, 29, 81, 82, 88, 139, 187, 188, multiplication by scalar, 4
293 outer product, 6
triple scalar product, 7
Velocity, 30
U Vertices, 222
Unbalanced hoop, 97 Vibration, 337
Unbalanced Hoop (code), 104 forced, 353
Undamped vibration, 339 free, damped, 349
Unitless unit, 60, 121 free, NDOF, 373
Unit vectors, 9 free, undamped, 339
Universal gravitational constant, 44 natural frequency, 341
Unstable, 208, 348 natural period, 342
Viscous damper, 338

V
Validation, 65 W
Variation, 254 Wave propagation, 383
Vector, 1 Weight, 44
angle between, 116 Work, 40
axial, 21
component, 11
magnitude, 2 Z
position, 90 Zero vector, 4

@seismicisolation
@seismicisolation

You might also like