流函数 是空间中的一个场,用它可以表示平面不可压缩流体的速度:
% s6 `5 t9 k$ h- ]. {$ N$ c$ l# d) U# L3 v& q9 D @
0 L1 [/ a6 X5 Y' `' {" ^0 t" m2 [" Q
4 ]3 @* u8 m" P+ Z0 U$ Q$ j; e$ ?9 C* l+ {" K
这样二维平面上的连续方程就能自动满足。
2 f1 W: O$ \9 _2 K4 a我们的目标是要根据这两个式子求流函数标量场。可以想象,这两个式子规定了场 在 方向和 方向的变化,并不涉及具体的数值。因此,我们需要给定一个流函数的积分零点(求 % s* U% _! h Z8 G/ D2 O# y
实际就是求积分),我们可以设: o$ M( ~: e: T2 M+ \
1 {0 e" a( X( j6 t4 R
. ?' U7 {0 t8 s7 x6 M. h* D从这个点积分到任一点 。首先, 对y积分,有:! }" E1 K/ A8 U8 ~+ c% Y% X
) @6 ?8 ^$ z M7 f: G) t
- X q5 H6 b8 J% f
- a! z5 w% N" D) ~( c. m0 V( P
- ? o' T/ l( y9 X& {! R: j1 Q9 d+ g
左边的积分式子,可以直接根据速度场求解,即:
6 _ m4 }, q' U2 p. Y: n- n5 b/ ]: A0 D! w9 ^
现在只需要求出 ,就能求出我们需要的 。通过观察发现,在 中令 即可得到我们想要的结果:/ H+ V7 f g$ {( ?% h7 J+ a
9 R1 t2 f& O7 r; ?$ m N) S8 e K0 J$ m5 o2 d4 _. E# ~
! y+ G( r V: W/ d3 B最终有:
2 p7 p2 Q' t7 t0 _, e
( J+ k# i+ Z/ o7 u
( }: M! }# A4 O或者可在 中令 代入 ,有:
* ?) x. p4 c# H0 ]5 {
7 E/ W9 b9 @. [- w/ z' a
7 h- x8 t& f9 O/ S' G8 E j9 k+ c2 f% f2 n' U
这样,利用 和 就可以进行流函数的编程计算。
7 w! `4 z! a8 y# u5 b- V, T0 H# }' d* \4 A: k; E
值得注意的是,可以对求得的流函数加减常数,以使需要的陆地岸界为0。
^% }' b) z4 J* U. H
2 } Z- {' {* L% D; w2 R% b |