system: [SYSTEM]

user: 3. 全隐式有限差分求解 三元复合驱的机理模型(1)~(5)是一组复杂的非线性多变量耦合偏微分方程组，其中，状态变量分别为油藏压力 p ( x ， y ， z ， t ) 、含水饱和度 S w ( x ， y ， z ， t ) 以及驱替剂溶液浓度 c Θ ( x ， y ， z ， t ) ， Θ = { O H ， s ， p } 。目前主要采用有限差分法求解偏微分方程组，该方法主要包括两类：一类是依次求解各个状态变量，如隐压显饱法，该方法先隐式求解状态压力，再显式求解含水饱和度、驱替剂浓度；另一类是联立求解方程组，同时求解各个状态变量，如全隐式法。隐压显饱法虽然在每个时间步需要的计算量较小，但是为了保证求解的稳定性，步长必须取得很小，有时候甚至小到没有实际价值。全隐式法离散化模型后得到的差分方程组往往阶数较高，需要的计算量较大，但是该方法可以选取的步长较大，具有很好的数值稳定性。此外，该方法离散三元复合驱数学模型得到的最优控制模型和伴随方程具有特殊的形式，便于编程求解。随着计算机技术的飞速发展，计算机的运行速度和存储能力都有了极大提高，结合矩阵存储以及数据处理等数值求解技术，完全可以实现全隐式方法的计算。因此，本文采用全隐式有限差分法 [ 9 ] 求解三元复合驱数学模型。 3.1. 全隐式有限差分离散化 对于(1)~(5)所述的三元复合驱数学模型，优化变量为注入井的驱替剂(碱、表面活性剂和聚合物)注入浓度 c Θ i n ，状态变量为油藏空间每一个空间点的压力 p ( x ， y ， z ， t ) 、含水饱和度 S w ( x ， y ， z ， t ) 和驱替剂的网格浓度 c Θ ( x ， y ， z ， t ) ，系统的输出为采出井的含水率。本节中，我们采用全隐式有限差分法进行离散 [ 9 ] ，为了使本问题的数学描述同一般优化问题一致，引入 x = [ c Θ ， s w ， p ] T 表示所有的空间状态变量， u = c Θ i n ， Θ = { p ， s ， O H } 表示所有的优化变量。 将整个油藏离散化为 n x × n y × n z 个网格，其中整数 i ( i = 1 ， 2 ， ⋯ ， n x ) ， j ( j = 1 ， 2 ， ⋯ ， n y ) ， k ( k = 1 ， 2 ， ⋯ ， n z ) 分别表示在 x ， y ， z 方向上的网格序号，即 x i ， y j ， z k 分别表示对应的 x ， y ， z 方向上的第 i ， j ， k 个坐标值。按照块中心网格系统 [ 10 ] 进行离散化，即网格点 ( x i ， y j ， z k ) 位于网格 ( i ， j ， k ) 的中心。那么，网格点 ( x i ， y j ， z k ) 处的离散状态向量可表述为 x i ， j ， k = x ( x i ， y j ， z k ) . (18) 对于网格 ( x i ， y j ， z k ) ，定义 x i − 1 / 2 ， x i + 1 / 2 ， y j − 1 / 2 ， y j + 1 / 2 ， z k − 1 / 2 ， z k + 1 / 2 分别为 x ， y ， z 方向上的左、右边界坐标。仅在状态网格上离散化三元复合驱机理模型，根据网格系统的划分结果，状态变量的有限差分可以表述为 ∂ x ∂ t = x n + 1 − x n Δ t n ， (19) ∂ x ∂ x = x i + 1 / 2 ， j ， k − x i − 1 / 2 ， j ， k Δ x ， (20) ∂ x ∂ y = x i ， j + 1 / 2 ， k − x i ， j − 1 / 2 ， k Δ y ， (21) ∂ x ∂ z = x i ， j ， k + 1 / 2 − x i ， j ， k − 1 / 2 Δ z ， (22) 其中， n = 0 ， 1 ， ⋯ ， N − 1 表示三元复合物的时间步，N表示总的步数， Δ t n 表示步数n的长度， x n + 1 为时间 Δ t n + 1 处的状态向量， Δ t n + 1 表示第n个时间步终点时刻的仿真时间( t N = t f )。 Δ x ， Δ y ， Δ z 分别表示在 x ， y ， z 方向上的空间步长。网格在 x - y 平面上的详细划分情况如图1所示。 图1. 有限差分网格划分原理图 采用上述有限差分法对三元复合驱数学模型(1)~(5)进行离散化，并在方程组的每一个等式两端同时乘以网格体积 V = Δ x Δ y Δ z ( m 3 ) 。采用全隐式有限差分法将模型中二阶导数项离散化后，状态变量均取 Δ t n + 1 时刻的值。则初始的三元复合驱数学模型可以被离散化为如下一般形式 G n = F n + 1 ( x ˜ n + 1 ) + W n + 1 ( x ˜ n + 1 ， u n ) − [ A n + 1 ( x ˜ n + 1 ) − A n ( x ˜ n ) ] = 0 ， (23) 其中， G = [ G 1 ， 1 ， 1 T ， ⋯ ， G i ， j ， k T ， ⋯ ， G n x ， n y ， n z T ] T ∈ R n x × n y × n z × 3 表示离散的数学模型差分方程组， x ˜ = [ x ˜ 1 ， 1 ， 1 T ， ⋯ ， x ˜ i ， j ， k T ， ⋯ ， x ˜ n x ， n y ， n z T ] T ∈ R n x × n y × n z × 3 表示离散的状态向量， u = [ u i ， j | u i ， j = c Θ i n ， i ， j ， ( i ， j ) ∈ κ w ] T ∈ R N w 表示所有注入井的驱替剂注入浓度， κ w 是注入井的位置集合， F 表示差分方程组的流动项， W 表示源汇项， A 表示累积项。 在 t n 时刻网格 ( i ， j ， k ) 的差分方程组 G i ， j ， k = [ G o i ， j ， k ， G w i ， j ， k ， G p i ， j ， k ， G s i ， j ， k ， G O H i ， j ， k ] T 为 G Ψ i ， j ， k n = F Ψ i ， j ， k n + 1 + W Ψ i ， j ， k n + 1 − A Ψ i ， j ， k n + 1 + A Ψ i ， j ， k n = 0 ， Ψ = { w ， o ， O H ， s ， p } ， (24) 该方程实际是五个方程的综合， Ψ 中的 w ， o ， O H ， s ， p 分别对应离散水相方程、油相方程、以及碱、表面活性剂和聚合物的吸附扩散方程。 根据式(15)以及第(8)~(12)中的流动项系数 r Ζ ， Ζ = { o ， w } ， r c Θ ， r d Θ ， Θ = { O H ， s ， p } 定义，流动项 F i ， j ， k = [ F o i ， j ， k ， F w i ， j ， k ， F p i ， j ， k ， F s i ， j ， k ， F O H i ， j ， k ] T 的全隐式有限差分可写作 F Ζ i ， j ， k n + 1 = Δ y Δ z [ r Ζ i + 1 2 ， j ， k n + 1 Δ x ( E i + 1 ， j ， k n + 1 − E i ， j ， k n + 1 ) + r Ζ i − 1 2 ， j ， k n + 1 Δ x ( E i − 1 ， j ， k n + 1 − E i ， j ， k n + 1 ) ]     + Δ x Δ z [ r Ζ i ， j + 1 2 ， k n + 1 Δ y ( E i ， j + 1 ， k n + 1 − E i ， j ， k n + 1 ) + r Ζ i ， j − 1 2 ， k n + 1 Δ y ( E i ， j − 1 ， k n + 1 − E i ， j ， k n + 1 ) ]     + Δ x Δ y [ r Ζ i ， j ， k + 1 2 n + 1 Δ z ( E i ， j ， k + 1 n + 1 − E i ， j ， k n + 1 ) + r Ζ i ， j ， k − 1 2 n + 1 Δ z ( E i ， j ， k − 1 n + 1 − E i ， j ， k n + 1 ) ] ， (25) F Θ i ， j ， k n + 1 = Δ y Δ z [ r d Θ i + 1 2 ， j ， k n + 1 Δ x ( c Θ i + 1 ， j ， k n + 1 − c Θ i ， j ， k n + 1 ) + r d Θ i − 1 2 ， j ， k n + 1 Δ x ( c Θ i − 1 ， j ， k n + 1 − c Θ i ， j ， k n + 1 ) ]     + Δ x Δ z [ r d Θ i ， j + 1 2 ， k n + 1 Δ y ( c Θ i ， j + 1 ， k n + 1 − c Θ i ， j ， k n + 1 ) + r d Θ i ， j − 1 2 ， k n + 1 Δ y ( c Θ i ， j − 1 ， k n + 1 − c Θ i ， j ， k n + 1 ) ]     + Δ x Δ y [ r d Θ i ， j ， k + 1 2 n + 1 Δ z ( c Θ i ， j ， k + 1 n + 1 − c Θ i ， j ， k n + 1 ) + r d Θ i ， j ， k − 1 2 n + 1 Δ z ( c Θ i ， j ， k − 1 n + 1 − c Θ i ， j ， k n + 1 ) ]       + Δ y Δ z [ r c Θ i + 1 2 ， j ， k n + 1 Δ x ( E i + 1 ， j ， k n + 1 − E i ， j ， k n + 1 ) + r c Θ i − 1 2 ， j ， k n + 1 Δ x ( E i − 1 ， j ， k n + 1 − E i ， j ， k n + 1 ) ] + Δ x Δ z [ r c Θ i ， j + 1 2 ， k n + 1 Δ y ( E i ， j + 1 ， k n + 1 − E i ， j ， k n + 1 ) + r c Θ i ， j − 1 2 ， k n + 1 Δ y ( E i ， j − 1 ， k n + 1 − E i ， j ， k n + 1 ) ]   + Δ x Δ y [ r c Θ i ， j ， k + 1 2 n + 1 Δ z ( E i ， j ， k + 1 n + 1 − E i ， j ， k n + 1 ) + r c Θ i ， j ， k − 1 2 n + 1 Δ z ( E i ， j ， k − 1 n + 1 − E i ， j ， k n + 1 ) ] . (26) 其中， E = p − ρ g h 表示流体的流势。 结合公式(8)~(12)以及(17)，源汇项 W i ， j ， k = [ W o i ， j ， k ， W w i ， j ， k ， W p i ， j ， k ， W s i ， j ， k ， W O H i ， j ， k ] T 可表示为 W o i ， j ， k n + 1 = q o i ， j ， k n + 1 = { − ( 1 − f w i ， j ， k n + 1 ) q o u t i ， j n ，     ( x ， y ， z ) ∈ ψ p 0 ，                                                             ( x ， y ， z ) ∉ ψ p (27) W w i ， j ， k n + 1 = q w i ， j ， k n + 1 = { − f w i ， j ， k n + 1 q o u t i ， j n ，         ( x ， y ， z ) ∈ ψ p q i n i ， j n ，                           ( x ， y ， z ) ∈ ψ w 0 ，                                   ( x ， y ， z ) ∉ ψ p ∪ ψ w (28) W p i ， j ， k n + 1 = q c i ， j ， k n + 1 = { − f w i ， j ， k n + 1 q o u t i ， j n c p i ， j ， k n + 1 ，     ( x ， y ， z ) ∈ ψ p q i n i ， j n c p i n i ， j n ，                 ( x ， y ， z ) ∈ ψ w 0 ，                                     ( x ， y ， z ) ∉ ψ p ∪ ψ w (29) W s i ， j ， k n + 1 = q d i ， j ， k n + 1 = { − f w i ， j ， k n + 1 q o u t i ， j n c w s i ， j ， k n + 1 − ( 1 − f w i ， j ， k n + 1 ) q o u t i ， j n c o s i ， j ， k n + 1 ，     ( x ， y ， z ) ∈ ψ p q i n i ， j n c s i n i ， j n ，                       ( x ， y ， z ) ∈ ψ w 0 ，                                       ( x ， y ， z ) ∉ ψ p ∪ ψ w (30) W O H i ， j ， k n + 1 = R O H i ， j ， k n + 1 + q e i ， j ， k n + 1 = { R O H i ， j ， k n + 1 − f w i ， j ， k n + 1 q o u t i ， j n c O H i ， j ， k n + 1 ，     ( x ， y ， z ) ∈ ψ p R O H i ， j ， k n + 1 + q i n i ， j n c O H i n i ， j n ，               ( x ， y ， z ) ∈ ψ w 0 ，                                   ( x ， y ， z ) ∉ ψ p ∪ ψ w (31) 其中，式(31)为修正碱耗后的碱吸附方程源汇项， R O H 为系统碱耗。结合井参数，系统的含水率 f w i ， j ， k n + 1 可修正为 f w i ， j ， k n + 1 = W I i ， j ， k ( r w i ， j ， k + r o i ， j ， k ) ∑ k ′ = 1 n z W I i ， j ， k ′ ( r w i ， j ， k ′ + r o i ， j ， k ′ ) ， (32) WI表示井指数 [ 11 ] ，定义如下 W I = 2 π K Δ z ln d e d w + S ， (33) 其中， d e ， d w 分别为井筒半径和井筒等效半径，S为表皮系数，当采用矩形离散化网格且渗透率非均质时 d e 表示如下 [ 12 ] d e ≅ 0.28 [ ( K y K x ) 1 2 Δ x 2 + ( K x K y ) 1 2 Δ y 2 ] 1 2 / ( K y K x ) 1 2 + ( K x K y ) 1 2 ， (34) 其中， K x ， K y 分别表示在 x ， y 方向上的绝对渗透率。 类似地，采用全隐式有限差分可将累积项 A i ， j ， k = [ A o i ， j ， k ， A w i ， j ， k ， A p i ， j ， k ， A s i ， j ， k ， A O H i ， j ， k ] T 表示为 A o i ， j ， k n + 1 = V i ， j ， k Δ t n ϕ i ， j ， k n + 1 ( 1 − S w i ， j ， k n + 1 ) B o i ， j ， k n + 1 ， A o i ， j ， k n = V i ， j ， k Δ t n ϕ i ， j ， k n ( 1 − S w i ， j ， k n ) B o i ， j ， k n ， (35) A w i ， j ， k n + 1 = V i ， j ， k Δ t n ϕ i ， j ， k n + 1 S w i ， j ， k n + 1 B w i ， j ， k n + 1 ， A w i ， j ， k n = V i ， j ， k Δ t n ϕ i ， j ， k n S w i ， j ， k n B w i ， j ， k n ， (36) A p i ， j ， k n + 1 = V i ， j ， k Δ t n [ ρ r ( 1 − ϕ i ， j ， k n + 1 ) C r p i ， j ， k n + 1 + ϕ p i ， j ， k n + 1 S w i ， j ， k n + 1 c p i ， j ， k n + 1 B w i ， j ， k n + 1 ] ， A p i ， j ， k n = V i ， j ， k Δ t n [ ρ r ( 1 − ϕ i ， j ， k n ) C r p i ， j ， k n + ϕ p i ， j ， k n S w i ， j ， k n c p i ， j ， k n B w i ， j ， k n ] ， (37) A s i ， j ， k n + 1 = V i ， j ， k Δ t n [ ϕ s i ， j ， k n + 1 S o i ， j ， k n + 1 c o s i ， j ， k n + 1 B o i ， j ， k n + 1 + ϕ s i ， j ， k n + 1 S w i ， j ， k n + 1 c w s i ， j ， k n + 1 B w i ， j ， k n + 1 + ρ r ( 1 − ϕ i ， j ， k n + 1 ) C r s i ， j ， k n + 1 ] ， A s i ， j ， k n = V i ， j ， k Δ t n [ ϕ s i ， j ， k n S o i ， j ， k n c o s i ， j ， k n B o i ， j ， k n + ϕ s i ， j ， k n S w i ， j ， k n c w s i ， j ， k n B w i ， j ， k n + ρ r ( 1 − ϕ i ， j ， k n ) C r s i ， j ， k n ] ， (38) A O H i ， j ， k n + 1 = V i ， j ， k Δ t n [ K a ( 1 + K b c O H i ， j ， k n + 1 ) 2 ( 1 − ϕ i ， j ， k n + 1 ) S w i ， j ， k n + 1 c O H i ， j ， k n + 1 + ϕ i ， j ， k n + 1 S w i ， j ， k n + 1 c O H i ， j ， k n + 1 B w i ， j ， k n + 1 ] ， A O H i ， j ， k n = V i ， j ， k Δ t n [ K a ( 1 + K b c O H i ， j ， k n ) 2 ( 1 − ϕ i ， j ， k n ) S w i ， j ， k n c O H i ， j ， k n + ϕ i ， j ， k n S w i ， j ， k n c O H i ， j ， k n B w i ， j ， k n ] ， (39) 边界条件公式(7)可以表示为 ∂ x ∂ x = 0 ， ∂ x ∂ y = 0 ， ∂ x ∂ z = 0 ， ∀ ( x ， y ， z ) ∈ ∂ Ω . (40) 上式可采用全隐式有限差分离散为 x 0 ， j ， k = x 1 ， j ， k ， x n x + 1 ， j ， k = x n x ， j ， k ， j = 1 ， 2 ， ⋯ ， n y ， k = 1 ， 2 ， ⋯ ， n z ， (41) x i ， 0 ， k = x i ， 1 ， k ， x i ， n y + 1 ， k = x i ， n y ， k ， i = 1 ， 2 ， ⋯ ， n x ， k = 1 ， 2 ， ⋯ ， n z ， (42) x i ， j ， 0 = x i ， j ， 1 ， x i ， j ， n z + 1 = x i ， j ， n z ， i = 1 ， 2 ， ⋯ ， n x ， j = 1 ， 2 ， ⋯ ， n y . (43) 初始条件公式(6)可用全隐式有限差分离散化为 x i ， j ， k 0 = x ( x i ， y j ， z k ， 0 ) ， i = 1 ， ⋯ ， n x ， j = 1 ， ⋯ ， n y ， k = 1 ， ⋯ ， n z . (44) 至此，在时域和空间域上连续的三元复合驱偏微分系统公式(1)~(7)已经通过全隐式有限差分法离散化为一系列非线性隐式差分代数方程组。 3.2. 数学模型方程组求解 针对上节得到的差分代数方程组，这里采用Newton-Raphson法 [ 13 ] 进行求解： ∂ G n ∂ x ˜ n + 1 | x ˜ n + 1 ， l δ x ˜ n + 1 ， l = − G n ( x ˜ n + 1 ， x ˜ n ， u n ) ， (45) x ˜ n + 1 ， l + 1 = x ˜ n + 1 ， l + δ x ˜ n + 1 ， l ， (46) 式中，l表示迭代次数， x ˜ n + 1 ， l 表示第l次迭代的离散状态向量， ∂ G n ∂ x ˜ n + 1 | x ˜ n + 1 ， l 为Jacobian矩阵，计算公式如下： ∂ G n ∂ x ˜ n + 1 | x ˜ n + 1 ， l = ∂ F n + 1 ∂ x ˜ n + 1 ， l + ∂ W n + 1 ∂ x ˜ n + 1 ， l − ∂ A n + 1 ∂ x ˜ n + 1 ， l . (47) 通过求解公式(45)可得 δ x ˜ n + 1 ， l ， x ˜ n + 1 ， l + 1 的更新通过公式(46)实现。算法每一步迭代的具体实现过程如图2所示，其中，ε为设定的精度。在得到的隐式差分代数方程组的基础上，通过迭代求解，得到整个空间的状态。