D'Alembert's principle suggests that the work done by the internal forces for a virtual displacement of a mechanical system in harmony with the constraints is zero.

This is obviously true for the constraint of a rigid body where all the particles maintain a constant distance from one another. It's also true for constraining force where the virtual displacement is normal to it.

Can anyone think of a case where the virtual displacements are in harmony with the constraints of a mechanical system, yet the total work done by the internal forces is non-zero, making D'Alembert's principle false?


3 Answers 3


Given a system of $N$ point-particles with positions ${\bf r}_1, \ldots , {\bf r}_N$; with corresponding virtual displacements $\delta{\bf r}_1$, $\ldots $, $\delta{\bf r}_N$; with momenta ${\bf p}_1, \ldots , {\bf p}_N$; and with applied forces ${\bf F}_1^{(a)}, \ldots , {\bf F}_N^{(a)}$. Then D'Alembert's principle states that

$$\tag{1} \sum_{j=1}^N ( {\bf F}_j^{(a)} - \dot{\bf p}_j ) \cdot \delta {\bf r}_j~=~0. $$

The total force

$${\bf F}_j ~=~ {\bf F}_j^{(a)} +{\bf F}^{(ec)}_j+{\bf F}^{(ic)}_j + {\bf F}^{(i)}_j + {\bf F}_j^{(o)}$$

on the $j$'th particle can be divided into five types:

  1. applied forces ${\bf F}_j^{(a)}$ (that we keep track of and that are not constraint forces).

  2. an external constraint force ${\bf F}^{(ec)}_j$ from the environment.

  3. an internal constraint force ${\bf F}^{(ic)}_j$ from the $N-1$ other particles.

  4. an internal force ${\bf F}^{(i)}_j$ (that is not an applied or a constraint force of type 1 or 3, respectively) from the $N-1$ other particles.

  5. Other forces ${\bf F}_j^{(o)}$ not already included in type 1, 2, 3 and 4.

Because of Newton's 2nd law ${\bf F}_j= \dot{\bf p}_j$, D'Alembert's principle (1) is equivalent to$^1$

$$\tag{2} \sum_{j=1}^N ( {\bf F}^{(ec)}_j+{\bf F}^{(ic)}_j+{\bf F}^{(i)}_j+{\bf F}_j^{(o)}) \cdot \delta {\bf r}_j~=~0. $$

So OP's question can essentially be rephrased as

Are there examples in classical mechanics where eq. (2) fails?

Eq. (2) could trivially fail, if we have forces ${\bf F}_j^{(o)}$ of type 5, e.g. sliding friction, that we (for some reason) don't count as applied forces of type 1.

However, OP asks specifically about internal forces.

For a rigid body, to exclude pairwise contributions of type 3, one needs the strong Newton's 3rd law, cf. this Phys.SE answer. So if these forces fail to be collinear, this could lead to violation of eq. (2).

For internal forces of type 4, there is in general no reason that they should respect eq. (2).

Example: Consider a system of two point-masses connected by an ideal spring. This system has no constraints, so there are no restrictions to the class of virtual displacements. It is easy to violate eq. (2) if we count the spring force as a type 4 force.


H. Goldstein, Classical Mechanics, Chapter 1.


$^1$It is tempting to call eq. (2) the Principle of virtual work, but strictly speaking, the principle of virtual work is just D'Alembert's principle (1) for a static system.

  • $\begingroup$ A simplified and less technical version of this Phys.SE answer is available here. $\endgroup$
    – Qmechanic
    Feb 4, 2014 at 22:22
  • 2
    $\begingroup$ 1. Does that mean it will be valid if we were to consider sliding friction indeed in applied force "bin" ? (Considering no other objections) 2. And why we don't count them in the applied force? $\endgroup$
    – Someone
    Jul 10, 2017 at 18:09
  • 3
    $\begingroup$ Thanks for the feedback 1. Yes. 2. We in principle do have to include sliding friction forces if they are present. But we might not know their exact form. And even if we do know them, they don't have generalized potentials, so they are in any case cumbersome to include in our model. $\endgroup$
    – Qmechanic
    Jul 10, 2017 at 19:15
  • $\begingroup$ @Qmechanic I think another reason as to why we can't include sliding friction in applied force is because friction is non-conservative and we can't integrate $f.\delta r$ and expect to get a potential energy term as it converts into heat in an irreversible way. Is that correct? $\endgroup$
    – user139621
    Jul 10, 2017 at 20:19
  • $\begingroup$ $\uparrow$ Yes. $\endgroup$
    – Qmechanic
    Jul 10, 2017 at 20:37

You can have instances where there is no local extremum of the action--for instance, take the lagrangian $L=m\left(\dot x ^{2}+\dot y^{2}\right)$ over the space defined by a crescent embedded in $\mathbb{R}^2$--then, even though the tips of the crescent are both perfectly good starting and ending points in your domain, there is no extremal path connecting them--it would have to be the straight line that leaves the domain of your configuration space.

But this is admittedly a contrived example.

  • $\begingroup$ I was asking about cases where D'Alembert's principle fails, not where the principle of least action fails - which is the application of D'Alembert's principle for holonomic constraints. $\endgroup$ May 13, 2011 at 16:26
  • 1
    $\begingroup$ @user2146: and thus, a subclass of D'Albert's principle. $\endgroup$ May 13, 2011 at 16:31

I have a interesting example:

Consider two blocks moving in a line, and an electric intelligent rod connects them. Everything is frictionless. The rod can make measurements of the coordinates of the two blocks, and change length to always makes sure that $x_2 = 2x_1$. Then we assume the mass of the rod is negligible, so that the forces it gives to the two blocks are exactly opposite. Now, we have an equation of constraint, and whenever the rod changes length and applies a non-zero force, D'Alembert's principle fails.

The way to fix Lagrange equation for this kind of constraint is to add the generalized force $Q_i^{(c)}$ created by the constraint ($0$ if D'Alembert's principle holds) to the right: $$ \frac{\mathrm{d}}{\mathrm{d}{t}} \frac{\partial L}{\partial \dot q_i} - \frac{\partial L}{\partial q_i} = Q_i + Q_i^{(c)} $$


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.