system: [SYSTEM]

user: 2. 波动方程及其间断有限元方法 2.1. 波动方程 以带有初值条件的一维无源声波方程为例，其方程形式如下： { ∂ 2 U ( x ， t ) ∂ t 2 − c 2 ∂ 2 U ( x ， t ) ∂ x 2 = 0 x ∈ [ L ， R ] ， t > 0 U ( x ， 0 ) = f ( x ) x ∈ [ L ， R ] ∂ U ( x ， 0 ) ∂ t = g ( x ) x ∈ [ L ， R ] 首先对方程进行降阶处理，使其化为满足守恒律的形式。引入位移变量 P = ( x ， t ) ，满足如下的关系： c ∂ U ∂ x = ∂ P ∂ t . 将其带入原声波方程中，并进行积分得到满足双曲守恒律的方程组： { ∂ 2 U ∂ t 2 − c ∂ ∂ x ( ∂ P ∂ t ) = 0 c ∂ U ∂ x = ∂ P ∂ t ⇒ { ∂ U ∂ t − c ∂ P ∂ x = 0 ∂ P ∂ t = c ∂ U ∂ x . 为简化方程，引入以下记号：则方程可以写成 ∂ W ∂ t + V ∂ W ∂ x = 0. W = [ U P ]   V = [ 0 − c − c 0 ] 至此，通过引入新的变量将二阶声波方程转化为一阶方程组，并满足守恒律的要求 [ 7 ]。 2.2. 空间域间断有限元方法 对一阶方程组 ∂ W ∂ t + V ∂ W ∂ x = 0 进行空间离散。首先将求解区域 Ω = [ L ， R ] 划分为K个不重叠的单元 D k = [ x l k ， x r k ] 去逼近计算区域 Ω = [ L ， R ] ，在单元上选取 N p 个节点。区域划分如图1所示： 图1. 计算区域单元剖分 引进线性映射如下：将每个计算单元变换到区间[−1， 1]上。 x ∈ D k : x ( r ) = x l k + 1 + r 2 h k ，   h k = x r k − x l k . 在求解区域上构建试验函数空间： V h : = { φ h ∈ L 2 ( Ω ) : φ h | K ∈ P k ( K ) } ，在单元上把局部解用 N = N p − 1 阶多项式表示： [ E h k ( x ， t ) H h k ( x ， t ) ] = ∑ i = 1 N p [ E h k ( x i k ， t ) H h k ( x i k ， t ) ] φ i k ( x ) 。 构造残量 R h ( x ， t ) = ∂ W h ∂ t + V ∂ W h ∂ x ，现要求残量正交于 V h 中所有的试验函数 [ 8 ]，即 ∫ D k R h ( x ， t ) φ n ( x ) d x = 0 ，   1 ≤ n ≤ N p . 经过一次分部积分得到DG方法弱形式如下，其中 n ^ 表示局部外法向量，在一维问题中是一个标量。 ∫ D k ( ∂ W h k ∂ t φ n − V W h k d φ n d x ) d x = − [ V W h k φ n ] x i k x r k = − ∫ ∂ D k n ^ ⋅ V W h k φ n d x ， 1 ≤ n ≤ N p . 在图1中，如果对试验函数和局部解没有约束条件，在单元界面上就可能会出现多个值 W R k − 1 、 W L k ，必须选择一个合适的解来进行接下来的计算。这就是数值通量的选择，目前先将其记为 ( W h ) * [ 6 ]。 通过再一次分部积分，可以得到DG方法的强形式如下，这是计算常用的形式。 ∫ D k R h ( x ， t ) φ n d x = ∫ ∂ D k n ^ ⋅ ( V W h k − ( V W h ) * ) φ n d x ， 1 ≤ n ≤ N p . 将残量 R h ( x ， t ) 带入上式积分得到： M k d W h k d t + V ⋅ S W h k = [ l k ( x ) ( V W h k − ( V W ) * ) ] x l k x r k . 其中： M i j k = ∫ x l k x r k φ i k ( x ) φ j k ( x ) d x = h k 2 ∫ − 1 1 φ i ( r ) φ j ( r ) d r S i j k = ∫ x l k x r k φ i k ( x ) d φ j k ( x ) d x d x = ∫ − 1 1 φ i ( r ) d φ j ( r ) d r d r . 接下来将局部解的表达式带入，即可得到一阶方程组的DG方法的强形式，如下： d U h k d t + − c J k D r P h k = 1 J k M − 1 [ φ k ( x ) ( ( − c ) H h k − ( − c ) H * ) ] x l k x r k = 1 J k M − 1 ∮ x l k x r k n ^ ⋅ ( ( − c ) H h k − ( − c ) H * ) φ k ( x ) d x . d P h k d t + − c J k D r U h k = 1 J k M − 1 [ φ k ( x ) ( ( − c ) E h k − ( − c ) E * ) ] x l k x r k = 1 J k M − 1 ∮ x l k x r k n ^ ⋅ ( ( − c ) E h k − ( − c ) E * ) φ k ( x ) d x . 其中： J k 为线性映射的Jacobi， D r ， ( i ， j ) = d φ j d r | r i 。 D r 和 S i j 之间存在如下的计算关系： ( M D r ) ( i ， j ) = ∑ n = 1 N p M i n D r ， ( n ， j ) = ∑ n = 1 N p ∫ − 1 1 φ i ( r ) φ n ( r ) d φ j d r | r n d r = ∫ − 1 1 φ i ( r ) ∑ n = 1 N p d φ j d r | r n φ n ( r ) d r = ∫ − 1 1 φ i ( r ) d φ j ( r ) d r d r = S i j . 至此即完成了DG方法的空间离散。 2.3. 时间离散 完成空间域离散后，可以得到半离散问题如下，其中 W h 为未知量。此时问题的求解为常微分方程 [ 9 ]。 d W h d t = L h ( W h ， t ) . 经典的基于数值通量的RK-DG方法采用Runge-Kutta进行时间离散，这是一种经典的单步法 [ 7 ]。一般的高阶Runge-Kutta时间离散格式表达式如下 [ 10 ]： { u ( 0 ) = W ( n ) u ( i ) = ∑ l = 0 i − 1 [ α i l u ( l ) + β i l Δ t L ( u ( l ) ) ] i = 1 ， ⋯ ， r W ( n + 1 ) = u ( r ) 其中当 r ≤ 4 时，上述时间离散格式的精度是 r 阶。在这里选取变形的四阶显式RK方法(ERK)：其基本形式如下，相关系数可查阅文献 [ 5 ] 得到。 p ( 0 ) = W n { k ( i ) = a i k ( i − 1 ) + Δ t L h ( p ( i − 1 ) ， t n + c i Δ t ) ， i ∈ [ 1 ， ⋯ ， 5 ] p ( i ) = p ( i − 1 ) + b i k ( i ) W n + 1 = p ( 5 )