分析力学
分析力学
分析力学
虚功原理
我们从一个 N 体质点系统开始,约定: 代表每个支点质量, 代表支点位移。根据 变分 的原理,举例有:在如下的约束下:
有虚位移满足:
使用 Taylor 展开有:
进而得到了:
^54a7d8
这意味着 3N 个虚位移中只有 3N-1 是任意的 (无关的),因此有效的虚位移和系统的约束有关,和系统的自由度相同。
回到原问题,取和系统自由度一样多的虚位移 。对于静平衡的系统而言,假设该 N 体系统受到一系列合成后的力 影响。为了系统静平衡,有对应的 ,进而对应的系统虚功有:
其中 被定义为系统在虚位移 和合成力 作用下的虚功。
考虑到系统在约束下,可以将合成力 写为:,其中 为系统内力, 为约束力。
考虑到系统可能的虚位移向量存在于系统约束曲面的切空间中 (也就是虚位移向量一定和约束力垂直,不难通过上面关于 约束的微分 发现),因此
进一步有:
note
collapse: open title: Note
需要注意这里的合成力乘虚位移为0,只有在力是保守力情况下才成立。当存在摩擦力的时候,狮子并不成立。因为虚位移存在的特性是可逆性,即取当前方向的反方向理论上也是可以的,但在这一情况下摩擦力会也反向,带来做功,因此力必须要为保守力。
可以表述为:在无穷小的可逆的满足系统约束的虚位移下,作用在该系统上的力做的功为 0
此外,考虑到一般性,将虚位移 在选取的广义坐标 上分解 (或者看成对 上做 变分),有:
因此可以得到在广义坐标上,有:
因此有:
D'Alembert Principle
对 虚功原理 的 N 体质点系,通过虚功原理分析了系统静平衡的受力情况。自然的,在考虑系统运动后,结合牛顿第二定律,对每个质点有:
其中 是施加在质点上的力, 是约束力。上式也被称为 d'Alembert principle,其中 也叫做惯性力。
将上面的虚功定理由静平衡形式延伸到动态形式:
同样的,其中不能存在摩擦力等等保守力,下面所有的讨论都基于理想的无摩擦的情形。
Hamilton Principle
我们知道:虚功定义为:
,假定每个质点质量不变,有:
其中 代表质点的动能,因此有:
注意到约束力和虚位移垂直,因此结合 D'Alembert Principle 有:
进一步对时间积分有:
在所有的虚位移中,我们只考虑那些正好能够在时刻 t1,t2 和原始正确轨迹重合的情形,因此有:
,因此:
进一步选取拉格朗日量 ,因此的得到:
在不存在非保守力的情形,有:
注意到,对约束方程涉及到的坐标,如果约束方程的形式中对每个坐标都是单独出现的,即不存在类似 的形式,认为这个系统是 _ 可积的 _。对于这样的可积系统,真实路径是包含在虚位移空间中的。
如果约束条件中引入了速度,那么系统一定是不可积的。对于这样的不可积系统,真实路径一般来说不属于虚位移空间。
对可积的系统,变分 和积分是可以交换的,因此有:
这个式子体现的是大家常见到的哈密顿原理形式。可以将其表述为:
对真实路径属于虚位移构成的位形空间的系统,假定在 t1,t2 时刻处虚位移为 0,在时间 t1,t2 之间,积分 对所有虚位移保持恒定。
拉格朗日方程
在 Hamilton Principle 的基础上,为了进一步导出关于速度的微分方程,我们有名义上的 2 步需要考虑:
- 消除广义的虚位移速度,在积分号下仅仅保留虚位移项
- 利用虚位移任意的特性,使其对应系数为 0 来导出运动方程
Step 1
对系统的动能 T,可以将其表示为下面的一般形式:
因此取 变分 有:
而由于虚功 W,其在广义坐标下可以表示为:
其中 是作用在支点上外力在广义坐标上的投影。
因此根据 Hamilton Principle 有:
对速度的 变分 项,考虑到性质:
因此有:
Step 2
为了消除虚位移带来的不确定性保证上式成立,有系数为 0:
上式被称为 Lagrange's equations of motion (in their most general form),其中 包含了保守力和非保守力。
进一步,为了取消保守力的作用,有:
其中:
因此:
即有:
由于势能 V 中不包含速度项,因此取拉格朗日量有:
可以发现,拉格朗日可以导出系统自由度同样多的微分方程,能够解出系统的状态。
哈密顿方程
拉格朗日方程 中包含了 n 个 2 阶微分方程,但对于数值求解来说,希望将其转换为 2n 个 1 阶微分方程更加习惯,这导出了我们的进一步思考。
注意到,我们可以使用类似状态方程的手段得到这 2n 个方程,具体来说就是把速度和位移分开成为 2 个变量。
因此,我们定义在广义坐标 下的广义动量 ,这一项用来对拉格朗日方程中速度项进行小区代替。
对于系统拉格朗日量,可以将其表示为: ^1cddfa
进一步我们定义哈密顿函数 (Hamiltonian function) 为:
将 写为广义函数形式:
因此可以得到:
考虑到之前得到的拉格朗日方程,有:
有:
因此得到了一组微分方程:
上式得到的 2n 个方程也被称为哈密顿方程 (Hamilton's equations)
对于式子 哈密顿函数定义,将其对时间微分,结合上面的微分方程可以发现:
显然的,如果拉格朗日量不显示的依赖于时间,那么哈密顿量也一样。
为了更加清晰的考虑问题,我们将哈密顿量和系统的动能、势能联系起来。
对于 n 自由度的系统而言,可以把其动能 表示为:
其中:
这是一个二次型结构,反映的是系统的动能。
是关于速度呈线性关系的,其中 为其系数。
代表仅与广义坐标有关的一项。
如果一个系统的动能的结构如上面式子所示,那么称这个系统是 unnatural。
note
collapse: open title: Note 值得注意的是,很多的unnatural系统与转动的frame相关,此时科里奥利力会充当,离心力会充当
此时,对于拉格朗日量就有:
其中 U 代表了修正的动态势能。
进一步,带入哈密顿量的定义,有:
当 时,即系统是 natural 时,哈密顿量为:
也就是导出了能量守恒。
Conservation Laws
在 哈密顿方程 推导过后,我们得到了 2n 个一阶的微分方程,能够更加简明地描述涉及的系统。让我们对哈密顿量进行更细致的一些探讨。
首先考虑这样的情形,即,一个给定的广义坐标 ,在拉格朗日量中并未出现,那么在哈密顿量中也不可能出现。
comment
collapse: open title: Comment 回顾哈密顿量的定义:,在中不出现该坐标,那么中也不出现
我们称这样的,一个广义坐标在拉格朗日量中不显示的出现,称其为可忽略的 (ignorable)。此外,我们假设非保守力在 上投影为 0,因此 ,则根据:
有:
所以可以说,与该广义坐标对应的广义动量是保守的 (conserved)。
comment
collapse: open title: Comment 可以注意到保守力对应的守恒量:势能V,和这里保守的位移对应的守恒量:动量p之间也存在相似性。
可以认为,上面的广义动量的守恒律是 (角) 动量守恒的推广。
此外,我们考虑在拉格朗日量不显示地依赖于时间 t 的情形,因此使用哈密顿量的定义,对时间进行微分有:
我们可以认为,右边是非保守力对时间的功率。
这表明了,如果拉格朗日量不显示地依赖于时间,那么哈密顿量和非保守力所做的功有关。
日过非保守力为 0,那么自然的有:,这体现了另一种守恒律:在拉格朗日量不显示地依赖于时间时,如果所有的非保守力是 0,那么哈密顿量守恒。
进一步的,可以根据之前对系统动能的分析得到:
因此可以得到关于自然系统的哈密顿量守恒率:
这也被称为能量守恒。
一个例子
问题描述
计算求解
对于这样的三维摆问题,求解如下:
可以参考 Mathematica 代码:
ClearAll["Global`*"]
(*Principle and Techniques of Vibrations, P95 Prob*)
v\[Theta] = L D[\[Theta][t], t];
v\[Psi] = L D[\[Psi][t], t] Sin[\[Theta][t]];
T = 1/2 m (v\[Theta]^2 + v\[Psi]^2);
V = m g L (1 - Cos[\[Theta][t]]);
Lag = T - V;
rul1 = Solve[p\[Theta][t] == D[Lag, \[Theta]'[t]], \[Theta]'[t]];
rul2 = Solve[p\[Psi][t] == D[Lag, \[Psi]'[t]], \[Psi]'[t]];
Hil = T + V /. (Flatten[{rul1, rul2}]) // FullSimplify
params = {g -> 9.8, L -> 1, m -> 1};
eqns = {\[Theta]'[t] == D[Hil, p\[Theta][t]] // FullSimplify,
\[Psi]'[t] == D[Hil, p\[Psi][t]] // FullSimplify,
p\[Theta]'[t] == -D[Hil, \[Theta][t]] // FullSimplify,
p\[Psi]'[t] == -D[Hil, \[Psi][t]] // FullSimplify} /. params
(*Solve Problem*)
ic = {\[Theta]'[0] == 0, \[Psi]'[0] == 1, \[Theta][0] ==
Pi/3, \[Psi][0] == Pi/6}
sol = NDSolve[{eqns, ic} //
Flatten, {\[Theta], \[Psi], \[Theta]', \[Psi]'}, {t, 10}];
(*notice that \[Psi] is absent in Lag, which means p\[Psi] is \
constant,system degree of freedom reduce to 1 *)
Plot[Evaluate[\[Theta][t] /. sol], {t, 0, 10}, PlotRange -> All]
Plot[Evaluate[\[Theta]'[t] /. sol], {t, 0, 10}, PlotRange -> All]
ParametricPlot3D[{L Sin[\[Theta][t]] Cos[\[Psi][t]],
L Sin[\[Theta][t]] Sin[\[Psi][t]], -L Cos[\[Theta][t]]} /.
params /. sol, {t, 0, 10}, AxesLabel -> {x, y, z}]
理论分析
问题
尝试求解下面问题:
可以发现一来阻尼力作为非保守力,二来内部的旋转激振单元带来常量的动能和显含时间 t 的拉格朗日量,似乎不太好求解??? #todo