Skip to content

方法Method

Baumgarte约束稳定化

Baumgarte stabilization · Baumgarte约束反馈 · Constraint stabilization by feedback

对独立位置约束构造加速度反馈,证明约束残差的连续衰减和临界阻尼扰动界,再以显式步长与非线性离散漂移说明反馈、稳定性和精确约束保持的不同职责。

把位置约束求两次导数,可以算出反作用力,却也会丢掉两个积分常数。求解器若只推进加速度层,微小的初始位置和速度误差便可能变成长期漂移。Baumgarte方法保留已经偏离了多少、偏离得多快这两项信息,再把它们反馈给加速度。

形式陈述 ​

在独立位置约束附近定义反馈 ​

取常对称正定矩阵 M∈Rd×d、光滑外力 F(t,q,v)及光滑约束 g:U→Rm,其中 U⊂Rd开、1≤m≤d。假设 G(q)=Dg(q)在所讨论邻域满行秩。原位置约束DAE是

(1)q′=v,Mv′=F−GTλ,g(q)=0.

记

H(q,v)=D2g(q)[v,v],W(q)=GM−1GT.

H是一个 m维向量,其第 i项为 vTD2gi(q)v。取常数 α>0,β>0,将乘子定义为

(2)λ=W−1(GM−1F+H+2αGv+β2g).

式(2)与前两条运动方程组成Baumgarte稳定化系统。它在约束面附近有定义,也允许从轻微偏离 g=0的状态开始。这里并没有继续另加一个不相容的代数要求 g(q)=0。

连续残差的精确合同 ​

沿稳定化系统的任意经典解,令 e(t)=g(q(t)),则

(3)e″+2αe′+β2e=0.

因此,在解存在且约束保持独立的时间段内,残差按这个常系数方程演化。如果 e(0)=e′(0)=0,则 e恒为零,稳定化轨道也是原约束系统的轨道。

若初值不相容,反馈使残差趋零的结论需要轨道一直存在于有效区域;它不会将非零初始残差立即改成零,也不能使该初值成为原DAE的一致初值。

直觉

为什么这个乘子能控制漂移 ​

由于 G满行秩,任意非零 a∈Rm都有 GTa≠0。由正定性,

aTWa=(GTa)TM−1(GTa)>0,

所以 W可逆,式(2)确实唯一确定乘子。链式法则给

e′=Gv,e″=Gv′+H=GM−1F−Wλ+H.

代入式(2),所有原动力项抵消,剩下式(3)。这说明两个反馈项的符号为什么必须是当前约定中的正号;若动力方程改用 +GTλ,乘子的符号也要一起改变。

不加反馈时只规定 e″=0,会留下 e(t)=e(0)+te′(0)。加入 2αe′抑制残差变化,加入 β2e消除静态偏差,两者负责的错误不同。

衰减来自哪里 ​

对每个残差分量,特征根是

−α±α2−β2.

当 α,β>0时,两根实部都严格为负:实根情形有 α2−β2<α,共轭根情形实部就是 −α。由常系数线性ODE的解形式,残差与残差速度均衰减;重根时还会乘一次多项式因子。

α=0,β>0只给振荡,β=0,α>0允许非零常数残差。因此“至少放一个很大的反馈系数”并不是两类漂移都消失的条件。

一致初值为何保留原轨道 ​

如果 g(q0)=0且 G(q0)v0=0,式(3)的零初值唯一解就是零。此时反馈项在整个轨道上消失,式(2)退回原系统由二阶隐藏约束确定的乘子。反过来,原系统的每条光滑轨道也满足稳定化系统。

这个等价只针对相容初值和同一有效邻域。约束梯度失秩、解逃离邻域或发生有限时间爆破时,线性残差方程不能单独保证物理轨道继续存在。

例子与边界

临界阻尼给出直接可用的误差界 ​

取 α=β=ω>0。更一般地,对一个实际 C2位置曲线 q,令 v=q′,并定义它的约束方程缺陷为

(4)η=e″+2ωe′+ω2e.

在 0≤t≤T上,常数变易得到

(5)e(t)=[e0+(w0+ωe0)t]e−ωt+∫0t(t−s)e−ω(t−s)η(s)ds,w0=e′(0).

它可以直接求两次导数并代回式(4)检查,不需要把计算出的轨道先当成精确解。

对任意向量范数,若 sup[0,T]‖η‖≤δ,则

(6)‖e(t)‖≤(‖e0‖+t‖w0+ωe0‖)e−ωt+δω2[1−(1+ωt)e−ωt].

最后一项来自非负核的准确积分。若该缺陷界在所有正时间成立,相同公式给全时间界;若只在 [0,T]核验,就只在该窗使用。再用 te−ωt≤1/(eω)可得较粗的统一界

(7)‖e(t)‖≤‖e0‖+‖w0+ωe0‖eω+δω2.

例如 e0=1/100、w0=0、ω=2、缺陷恒为 η=1/250时,

(8)e(t)=11000+91000(1+2t)e−2t.

极限为 1/1000,准确达到持续缺陷的静态尺度 δ/ω2。稳定并不等于误差最后必为零。

增大反馈会给显式步长增加限制 ​

先只看线性残差测试系统

(9)ddt(ew)=B(ew),B=(01−ω2−2ω).

对它使用显式Euler,更新矩阵是 R=I+hB,其双特征值为 r=1−hω。由绝对稳定域,严格衰减要求

(10)0<hω<2.

重根还要检查Jordan因子。写 C=B+ωI,有 C2=0且 C≠0,于是对 r≠0、整数 n≥1,

(11)Rn=rnI+nhrn−1C.

当 |r|<1,两项都趋零;r=0时直接有 R2=0。边界 hω=2给 r=−1,对满足 Cu0≠0的初值出现线性增长;超过边界时可沿特征方向指数增长。连续方程越来越快的衰减,可能在固定显式步长下变成数值不稳定。

这个二阶测试只诊断反馈引入的快尺度,不独自证明完整非线性机械离散法稳定。特别是,对 q,v作一步Euler后再算非线性 g(q),所得残差一般不等于直接对式(9)做Euler。

左图的零缺陷连续解展示反馈对初始漂移的修正;右图固定残差初态,用步数比较三个归一化步长,边界重根仍会增长。两侧计算对象不同,右图没有将非线性位置残差直接当成线性Euler递推。

精确连续约束也不等于逐步精确约束 ​

取 g(q)=(‖q‖2−1)/2,一步位置更新 q+=q+hv给

(12)g(q+)=g(q)+hG(q)v+h22‖v‖2.

即使当前 g(q)=G(q)v=0,只要 v≠0,该显式位置步仍会离开圆面。这与式(3)的连续结论没有矛盾:离散点并不是该微分方程的精确轨道。

RATTLE在步内另求位置与切向动量约束。Baumgarte反馈本身没有这两次投影,也不自动获得保辛、保能量或逐步零约束误差。

推论与应用

将反馈装进一个可核验的乘子求解 ​

一次加速度评值可直接解

(13)(MGTG0)(aλ)=(F−H−2αGv−β2g).

消去 a=M−1(F−GTλ),就恢复式(2)。验证程序应同时记录这两行残差,以及位置残差 g和速度残差 Gv。

对满足 q′=v的光滑候选曲线,若第二行残差定义为

r2=Gv′+H+2αGv+β2g,

那么 r2就是式(4)的 η,可直接进入式(6)。仅知道动力第一行残差小,并不能控制 η。若插值曲线还不满足 q′=v,链式法则会多出运动学缺陷项,必须先把它们算入;不能把任意离散求解器的一项残差直接冒充连续误差证书。

稠密常质量矩阵可以预分解。一次评值形成 W、应用质量矩阵逆并解 m维正定系统;朴素稠密算术成本为 O(d2m+dm2+m3),另加 F,G,H的评值。这里应用预分解的逆指三角求解,不要求显式储存 M−1。约束接近相关时,W会病态,反馈系数调大不能恢复丢失的独立约束。

从连续容差走到离散设置 ​

先声明约束和速度残差采用的单位及尺度,再按允许的衰减时间选 α,β。临界阻尼下,式(6)把初始偏差、持续缺陷和时间窗分开;随后检查积分器能否解析 1/ω这一快尺度。

最终验收应交出原初值是否一致、反馈方程是否被正确实现、离散步长是否稳定,以及实际位置/速度约束误差各有多大。四个判断分别需要证据,不能由一次成功的乘子线性求解代替。

参考资料
关系图谱11 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系