多自由度平衡稳定性

       物理竞赛中常有让你判断平衡稳定性的问题,所有这类问题分成两类,一类叫单自由度系统,这个算是正统竞赛纲内的,比较好说,具体做法当然就是将势能在平衡位置附近泰展,即U(x)=anxn,想法是只要施加任一微扰都使势能增加就说明平衡位置是稳定的。然后看首个非零项的奇偶以及正负就能实现这个想法了。这一点都是大家应知应会的,不再赘述。
       但有一类题,初学者常会“以为自己明白了”,但总觉得哪里有问题。这里引用难题集萃综合试题(四)【题二】来说明这个问题

长方体匀质木料的正截面为正方形,设木料对称地浮在水面上,且只有一条长边没入水中,达到平衡。试讨论平衡的稳定性。
多自由度平衡稳定性

       熟悉这题套路的同学感觉没有什么问题——“嗯,我固定木块受到的合力大小为零,让木块有一个小转角,看重力作用线与浮力作用线的相对位置,然后此题就做完了.”一切都如此美好.
       然后忽然有同学觉得不对劲,这个问题一共有三个自由度,其中一个代表水平方向的平移,与势能没有关系,要求稳定平衡,必然是在另外两个自由度的任一微扰下总势能恒增加才行。而现在固定了一个自由度,只去讨论另外一个,这种做法得到的结论似乎只是必要条件,并不充分,显然如果U=x2+y23xy,固定y 只研究x就会得到它代表稳定平衡位置的荒谬结论。
       我们先来看看在考虑完整问题的情况下应该怎么处理。这涉及到我们要将多自由度情形下的势能展开至二阶项,即U=aijxixj,当然有aij=2Uxixj,而一般情况下一个二次型是否恒为正的条件数学家早都研究过了,要让矩阵aij(称为Hessian矩阵)Wikipedia——Hessian Matrix正定,算法叫做此矩阵任一主子式的行列式大于零。具体细节请感兴趣的同学自行了解。
       具体到这道题,设木块边长为a,平衡态设为x=y=x0.我们可以选择如图两个自由度来描述,总势能显然为排开的水所增加的重力势能与木块自己的。经过简单计算发现势能为(省略一些系数并选择零点):

U=x20(a2(x+y)xy)+13x2y2x2+y2

然后临界平衡状态为2Ux22Uyx2Uxy2Uy2=0
        注意到我们已经把自由度选的十分对称了,所以这个方程等价于2Ux2=2Uxyx=y=x0。你当然可以选择手头的Casio来完成这一步运算,式子比较长,你可能需要两个Casio一起手动打表(本人第一次就是这么干的),或继续关注本博客后续有关“教你玩坏Casio”的内容。当然有电脑的话算着就非常的爽,贴图如下
多自由度平衡稳定性
可见解得x0=3a4
        回到一开始的问题,凭什么用一般参考书上“强行固定一个自由度“的方法是对的呢?仔细观察我们发现它这个方法异常玄妙,并不是我们认为的在研究二阶变化量,与刚才介绍的套路方法完全不同(未完待续