虛功

在分析力學裏，施加於某物體的作用力，由於給定的虛位移，所做的機械功，稱為虛功（virtual work）。以方程式表達，虛功$\delta W$是

$\delta W= \mathbf{F} \cdot \delta \mathbf{r}$。

其中，$\mathbf{F}$是作用力，$\delta \mathbf{r}$是虛位移。

在這篇文章裏，位移指的是平移運動所造成的位移或旋轉運動所造成的角位移；作用力指的是力量或力矩。虛位移不是實際的位移，而是一種虛構的、理論上的位移，是一種只涉及位置，不涉及時間的變化。每一個虛位移既是自變量（independent variable），又是任意設定的。任意性是一個很重要的特性，在數學關係式裏，能夠推導出許多重要的結果。例如，思考下述矩陣方程式：

$\mathbf{R}^{T} \mathbf{r} = \mathbf{R}^{T} \mathbf{B} \mathbf{q}$。

其中，$\mathbf{R},\ \mathbf{r},\ \mathbf{q}$都是向量，$\mathbf{B}$是方塊矩陣。

假若，$\mathbf{R}$是個任意非零向量，則可以將任意項目$\mathbf{R}$從方程式中除去，得到$\mathbf{r} = \mathbf{B} \mathbf{q}$。

## 虛功原理

虛功原理闡明，一個物理系統處於靜態平衡（static equilibrium），若且唯若，所有施加的外力，經過符合約束條件的虛位移，所做的虛功的總和等於零。以方程式表達。

$\delta W = \sum_{i} \mathbf{F}_{i}\cdot \delta \mathbf{r}_i = 0$。

考慮一個由一群質點組成，呈靜態平衡的物理系統，其內部任意一個質點$P_i$可能感受到很多個作用力。這些作用力的總和$\mathbf {F}_{i}^{(T)}$等於零：

$\mathbf {F}_{i}^{(T)} = 0$。

給予這質點$P_i$ 虛位移$\delta \mathbf r_i$，則合力$\mathbf {F}_{i}^{(T)}$所做的虛功$\delta W_i$為零：

$\delta W_i = \mathbf{F}_{i}^{(T)} \cdot \delta \mathbf{r}_i = 0$。

總合這系統內做於每一個質點的虛功，其答案也是零：

$\delta W = \sum_{i}\ \mathbf{F}_{i}^{(T)} \cdot \delta \mathbf{r}_i = 0$。

將合力細分為外力$\mathbf F_i$與約束力$\mathbf C_i$：

$\delta W = \sum_{i} \mathbf{F}_{i} \cdot \delta \mathbf{r}_i + \sum_{i} \mathbf {C}_{i} \cdot \delta \mathbf{r}_i = 0$。

假設所有約束力所做的符合約束條件的虛功，其總合是零：

$\sum_{i} \mathbf {C}_{i} \cdot \delta \mathbf{r}_i = 0$。

則約束力項目可以從方程式中除去，從而得到虛功原理的方程式：

$\delta W = \sum_{i} \mathbf{F}_{i}\cdot \delta \mathbf{r}_i = 0$。

注意到這推論裏的約束力假設。在這裏，約束力就是牛頓第三定律的反作用力。因此，可以稱此假設為反作用力的虛功假設：所有反作用力所做的符合約束條件的虛功，其總合是零。這是分析力學額外設立的假設，無法從牛頓運動定律推導出來。

在動力學裏，虛功原理會被推廣為達朗貝爾原理。這原理是拉格朗日力學的理論基礎。更詳盡細節，請參閱相關條目。

### 適用案例

在此特別列出幾個案例，展示出約束力所做的符合約束條件的虛功的總合是零：

- 剛體的約束條件是一種完整約束，以方程式表達，$(\mathbf{r}_i-\mathbf{r}_j)^2=L_{ij}^2$；其中，剛體內部的質點$P_i$、$P_j$的位置分別為$\mathbf{r}_i$、$\mathbf{r}_j$，它們之間的距離$L_{ij}$是個常數。所以，兩個質點的虛位移$\delta\mathbf{r}_i$、$\delta\mathbf{r}_j$之間的關係為

$\delta(\mathbf{r}_i-\mathbf{r}_j)^2=2(\mathbf{r}_i - \mathbf{r}_j)(\delta\mathbf{r}_i - \delta\mathbf{r}_j)=0$。

在這裏，有兩種可能的狀況：

1、$\delta\mathbf{r}_i=\delta\mathbf{r}_j$：

對於這狀況，由於$\mathbf{C}_{ji}= - \mathbf{C}_{ij}$，兩個作用力所做的虛功相互抵銷，也就是說。

$\mathbf{C}_{ij}\cdot\delta\mathbf{r}_i+\mathbf{C}_{ji}\cdot\delta\mathbf{r}_j=0$。

所以，約束力所做的虛功的總合是零。

2、$(\mathbf{r}_i - \mathbf{r}_j)\perp(\delta\mathbf{r}_i - \delta\mathbf{r}_j)$ :

由於$\mathbf{C}_{ij}\ \|\ \mathbf{C}_{ji}\ \|\ (\mathbf{r}_i-\mathbf{r}_j)$。

$\mathbf{C}_{ij}\cdot\delta\mathbf{r}_i+\mathbf{C}_{ji}\cdot\delta\mathbf{r}_j=\mathbf{C}_{ij}\cdot\delta\mathbf{r}_i - \mathbf{C}_{ij}\cdot\delta\mathbf{r}_j=\mathbf{C}_{ij}\cdot (\delta\mathbf{r}_i - \delta\mathbf{r}_j)=0$。

所以，約束力所做的虛功的總合是零。

所以，在剛體內，質點與質點之間的約束力所作的虛功的總合是零。

- 思考置放於平滑地面上的一塊木塊。因為木塊的重量，而產生的反作用力，是地面施加於木塊的一種約束力。注意到對於這案例，符合約束條件的虛位移必須與地面平行，所以，地面施加的約束力垂直於虛位移，它所作的虛功等於零。

### 在位形空間的意義

將一般的作用力和坐標分別變換為以廣義力$\mathcal{F}_i$和廣義坐標$q_i$表達。

$\delta W = \sum_{i} \mathcal{F}_i \delta q_i = 0$。

設定一個$N$維位形空間，其坐標為$(q_1,q_2,\dots,q_N)$，其內中表示位置的點稱為位形點。想像這物理系統移動於這位形空間。在這位形空間裏，廣義力$\boldsymbol{\mathcal{F}}=(F_1,F_2,\dots,F_N)$垂直於符合約束條件的虛位移$\delta\mathbf{q}=(\delta q_1,\delta q_2,\dots,\delta q_N)$。

假設，這物理系統沒有任何約束條件，則虛位移可以是任意向量。但是，廣義力$\boldsymbol{\mathcal{F}}$不可能垂直於$N$維位形空間裏的每一個向量，所以，廣義力$\boldsymbol{\mathcal{F}}$必須等於零。

假設，這物理系統有$L$個約束條件，則自由度為$N - L$，位形點必需處於位形空間的某$N - L$維子空間，而廣義力$\boldsymbol{\mathcal{F}}$必須垂直於這子空間，因此必需使用$N - L$個運動方程式來表達這物理系統。

### 保守系統

假設這系統是保守系統，則每一個廣義力都是純量的廣義位勢函數$V(q_1,q_2,\dots,q_N)$的對於其對應的廣義坐標的負偏導數：

$F_{i} = - \frac{\partial V}{\partial q_i}$。

虛功與廣義位勢的關係為

$\delta W = \sum_{i} - \frac{\partial V}{\partial q_i} \delta q_i = - \delta V=0$。

由於位勢的變分$\delta V$等於零，一個靜態平衡系統的位勢$V$乃是個局域平穩值。注意到這系統只處於平穩狀態。假設，要求這系統處於穩定狀態，則位勢$V$必須是個局域極小值。