计算物理 ›› 2023, Vol. 40 ›› Issue (5): 535-547.DOI: 10.19596/j.cnki.1001-246x.8646
收稿日期:
2022-10-10
出版日期:
2023-09-25
发布日期:
2023-11-02
通讯作者:
尚月强
作者简介:
王国梁, 男, 硕士研究生, 研究方向为偏微分方程数值解与计算流体力学
基金资助:
Guoliang WANG, Bo ZHENG, Yueqiang SHANG*()
Received:
2022-10-10
Online:
2023-09-25
Published:
2023-11-02
Contact:
Yueqiang SHANG
摘要:
基于两重网格离散和区域分解技术, 提出数值求解带阻尼项定常Navier-Stokes方程的三种并行两水平有限元算法。其基本思想是首先在粗网格上求解完全的非线性问题, 以获得粗网格解, 然后在重叠的局部细网格子区域上并行求解Stokes、Oseen和Newton线性化的残差问题, 最后在非重叠的局部细网格子区域上校正近似解。数值算例验证了算法的有效性。
王国梁, 郑波, 尚月强. 带阻尼项定常Navier-Stokes方程的并行两水平有限元算法[J]. 计算物理, 2023, 40(5): 535-547.
Guoliang WANG, Bo ZHENG, Yueqiang SHANG. Parallel Finite Element Algorithms Based on Two-grid Discretizations for the Steady Navier-Stokes Equations with Damping Term[J]. Chinese Journal of Computational Physics, 2023, 40(5): 535-547.
图1 (a) 全局粗网格TH(Ω); (b)局部细网格Th(Ωj); (c)局部细网格Th(Dj)
Fig.1 (a) A global coarse mesh of TH(Ω); (b) a local fine mesh of Th(Ωj); (c) a local fine mesh of Th(Dj)
算法 | h | H | CPU时间/s | 迭代次数 | | 收敛阶 | |
标准算法 | 1/27 | 1/18 | 0.958 92 | 7 | 0.038 048 80 | 0.009 489 85 | - |
1/64 | 1/32 | 3.101 29 | 7 | 0.004 081 53 | 0.001 621 26 | 2.457 09 | |
1/125 | 1/50 | 10.494 00 | 7 | 0.000 904 789 | 0.000 422 136 | 2.178 11 | |
1/216 | 1/72 | 31.317 20 | 7 | 0.000 288 131 | 0.000 141 144 | 2.063 25 | |
算法1 | 1/27 | 1/18 | 0.592 65 | 7 | 0.045 058 60 | 0.010 069 90 | - |
1/64 | 1/32 | 2.068 82 | 7 | 0.005 789 67 | 0.001 759 92 | 2.303 67 | |
1/125 | 1/50 | 5.952 02 | 7 | 0.001 395 74 | 0.000 484 417 | 2.076 6 | |
1/216 | 1/72 | 14.557 60 | 7 | 0.000 403 89 | 0.000 147 814 | 2.241 64 | |
算法2 | 1/27 | 1/18 | 0.635 46 | 7 | 0.044 699 70 | 0.010 083 90 | - |
1/64 | 1/32 | 2.118 71 | 7 | 0.005 769 56 | 0.001 762 59 | 2.299 08 | |
1/125 | 1/50 | 6.034 74 | 7 | 0.001 392 48 | 0.000 485 928 | 2.074 53 | |
1/216 | 1/72 | 15.046 00 | 7 | 0.000 403 328 | 0.000 148 118 | 2.240 8 | |
算法3 | 1/27 | 1/18 | 0.801 42 | 7 | 0.044 541 70 | 0.010 090 90 | - |
1/64 | 1/32 | 2.382 69 | 7 | 0.005 759 67 | 0.001 762 35 | 2.297 44 | |
1/125 | 1/50 | 6.268 96 | 7 | 0.001 391 31 | 0.000 485 551 | 2.073 75 | |
1/216 | 1/72 | 15.260 20 | 7 | 0.000 403 184 | 0.000 148 063 | 2.239 95 |
表1 二维情形下标准两重网格有限元算法与并行有限元算法误差比较:ν=0.1, α=1, r=3
Table 1 Comparison of the errors of the approximate solutions by standard two-grid finite element algorithm and parallel finite element algorithms in 2D: ν=0.1, α=1, r=3
算法 | h | H | CPU时间/s | 迭代次数 | | 收敛阶 | |
标准算法 | 1/27 | 1/18 | 0.958 92 | 7 | 0.038 048 80 | 0.009 489 85 | - |
1/64 | 1/32 | 3.101 29 | 7 | 0.004 081 53 | 0.001 621 26 | 2.457 09 | |
1/125 | 1/50 | 10.494 00 | 7 | 0.000 904 789 | 0.000 422 136 | 2.178 11 | |
1/216 | 1/72 | 31.317 20 | 7 | 0.000 288 131 | 0.000 141 144 | 2.063 25 | |
算法1 | 1/27 | 1/18 | 0.592 65 | 7 | 0.045 058 60 | 0.010 069 90 | - |
1/64 | 1/32 | 2.068 82 | 7 | 0.005 789 67 | 0.001 759 92 | 2.303 67 | |
1/125 | 1/50 | 5.952 02 | 7 | 0.001 395 74 | 0.000 484 417 | 2.076 6 | |
1/216 | 1/72 | 14.557 60 | 7 | 0.000 403 89 | 0.000 147 814 | 2.241 64 | |
算法2 | 1/27 | 1/18 | 0.635 46 | 7 | 0.044 699 70 | 0.010 083 90 | - |
1/64 | 1/32 | 2.118 71 | 7 | 0.005 769 56 | 0.001 762 59 | 2.299 08 | |
1/125 | 1/50 | 6.034 74 | 7 | 0.001 392 48 | 0.000 485 928 | 2.074 53 | |
1/216 | 1/72 | 15.046 00 | 7 | 0.000 403 328 | 0.000 148 118 | 2.240 8 | |
算法3 | 1/27 | 1/18 | 0.801 42 | 7 | 0.044 541 70 | 0.010 090 90 | - |
1/64 | 1/32 | 2.382 69 | 7 | 0.005 759 67 | 0.001 762 35 | 2.297 44 | |
1/125 | 1/50 | 6.268 96 | 7 | 0.001 391 31 | 0.000 485 551 | 2.073 75 | |
1/216 | 1/72 | 15.260 20 | 7 | 0.000 403 184 | 0.000 148 063 | 2.239 95 |
算法 | ν | CPU时间/s | 迭代次数 | |||p-ph|||0, Ω | |
算法1 | 1 | 10.203 9 | 3 | 0.000 287 601 | 0.000 160 076 |
0.1 | 12.975 1 | 5 | 0.000 403 884 | 0.000 147 888 | |
0.01 | 18.830 3 | 9 | 0.002 949 800 | 0.000 149 033 | |
0.001 | 31.991 8 | 18 | 0.075 603 900 | 0.000 243 342 | |
算法2 | 1 | 10.519 0 | 3 | 0.000 287 593 | 0.000 160 282 |
0.1 | 13.173 1 | 5 | 0.000 403 442 | 0.000 148 188 | |
0.01 | 19.131 7 | 9 | 0.002 985 070 | 0.000 153 978 | |
0.001 | 34.256 5 | 18 | 0.063 123 700 | 0.000 247 973 | |
算法3 | 1 | 11.052 5 | 3 | 0.000 287 593 | 0.000 160 251 |
0.1 | 13.414 5 | 5 | 0.000 403 367 | 0.000 148 185 | |
0.01 | 19.478 3 | 9 | 0.002 896 300 | 0.000 156 669 | |
0.001 | 32.931 2 | 18 | 0.024 774 600 | 0.000 262 535 |
表2 二维情形下不同粘性系数下并行有限元算法的数值结果:h=1/216, H=1/72, α=0.1, r=3
Table 2 Numerical results of parallel finite element algorithms with different values of viscosities in 2D: h=1/216, H=1/72, α=0.1, r=3
算法 | ν | CPU时间/s | 迭代次数 | |||p-ph|||0, Ω | |
算法1 | 1 | 10.203 9 | 3 | 0.000 287 601 | 0.000 160 076 |
0.1 | 12.975 1 | 5 | 0.000 403 884 | 0.000 147 888 | |
0.01 | 18.830 3 | 9 | 0.002 949 800 | 0.000 149 033 | |
0.001 | 31.991 8 | 18 | 0.075 603 900 | 0.000 243 342 | |
算法2 | 1 | 10.519 0 | 3 | 0.000 287 593 | 0.000 160 282 |
0.1 | 13.173 1 | 5 | 0.000 403 442 | 0.000 148 188 | |
0.01 | 19.131 7 | 9 | 0.002 985 070 | 0.000 153 978 | |
0.001 | 34.256 5 | 18 | 0.063 123 700 | 0.000 247 973 | |
算法3 | 1 | 11.052 5 | 3 | 0.000 287 593 | 0.000 160 251 |
0.1 | 13.414 5 | 5 | 0.000 403 367 | 0.000 148 185 | |
0.01 | 19.478 3 | 9 | 0.002 896 300 | 0.000 156 669 | |
0.001 | 32.931 2 | 18 | 0.024 774 600 | 0.000 262 535 |
算法 | r | CPU时间/s | 迭代次数 | |||p-ph|||0, Ω | |
算法1 | 3 | 6.159 79 | 7 | 0.001 395 74 | 0.000 484 417 |
6 | 10.308 4 | 14 | 0.001 395 72 | 0.000 484 620 | |
10 | 14.147 6 | 20 | 0.001 395 72 | 0.000 484 707 | |
20 | 22.345 3 | 33 | 0.001 395 71 | 0.000 484 384 | |
50 | 31.687 1 | 49 | 0.001 395 70 | 0.000 484 380 | |
算法2 | 3 | 6.279 78 | 7 | 0.001 392 48 | 0.000 485 928 |
6 | 10.539 9 | 14 | 0.001 393 04 | 0.000 485 697 | |
10 | 14.293 9 | 20 | 0.001 393 26 | 0.000 485 769 | |
20 | 22.024 2 | 33 | 0.001 393 43 | 0.000 485 567 | |
50 | 32.155 2 | 49 | 0.001 393 58 | 0.000 485 739 | |
算法3 | 3 | 6.456 41 | 7 | 0.001 391 31 | 0.000 485 551 |
6 | 10.631 2 | 14 | 0.001 390 47 | 0.000 483 011 | |
10 | 14.335 3 | 20 | 0.001 389 31 | 0.000 481 080 | |
20 | 22.170 0 | 33 | 0.001 387 42 | 0.000 478 291 | |
50 | 32.220 8 | 49 | 0.001 385 24 | 0.000 475 619 |
表3 二维情形下不同阻尼系数r时并行有限元算法的数值结果:h=1/125, H=1/50, α=1, ν=0.1
Table 3 Numerical results of parallel finite element algorithms with different values of damping parameter r in 2D: h=1/125, H=1/50, α=1, ν=0.1
算法 | r | CPU时间/s | 迭代次数 | |||p-ph|||0, Ω | |
算法1 | 3 | 6.159 79 | 7 | 0.001 395 74 | 0.000 484 417 |
6 | 10.308 4 | 14 | 0.001 395 72 | 0.000 484 620 | |
10 | 14.147 6 | 20 | 0.001 395 72 | 0.000 484 707 | |
20 | 22.345 3 | 33 | 0.001 395 71 | 0.000 484 384 | |
50 | 31.687 1 | 49 | 0.001 395 70 | 0.000 484 380 | |
算法2 | 3 | 6.279 78 | 7 | 0.001 392 48 | 0.000 485 928 |
6 | 10.539 9 | 14 | 0.001 393 04 | 0.000 485 697 | |
10 | 14.293 9 | 20 | 0.001 393 26 | 0.000 485 769 | |
20 | 22.024 2 | 33 | 0.001 393 43 | 0.000 485 567 | |
50 | 32.155 2 | 49 | 0.001 393 58 | 0.000 485 739 | |
算法3 | 3 | 6.456 41 | 7 | 0.001 391 31 | 0.000 485 551 |
6 | 10.631 2 | 14 | 0.001 390 47 | 0.000 483 011 | |
10 | 14.335 3 | 20 | 0.001 389 31 | 0.000 481 080 | |
20 | 22.170 0 | 33 | 0.001 387 42 | 0.000 478 291 | |
50 | 32.220 8 | 49 | 0.001 385 24 | 0.000 475 619 |
算法 | h | H | CPU时间/s | 迭代次数 | | |||p-ph|||0, Ω | 收敛阶 |
标准算法 | 1/8 | 1/4 | 4.448 66 | 2 | 0.001 550 550 | 0.004 051 25 | - |
1/12 | 1/6 | 22.151 90 | 2 | 0.000 682 911 | 0.001 796 71 | 2.009 99 | |
1/16 | 1/8 | 105.382 00 | 2 | 0.000 383 025 | 0.001 009 80 | 2.004 90 | |
1/20 | 1/10 | 408.273 00 | 2 | 0.000 244 837 | 0.000 646 003 | 2.002 85 | |
算法1 | 1/8 | 1/4 | 1.271 54 | 2 | 0.002 763 490 | 0.010 183 20 | - |
1/12 | 1/6 | 4.485 49 | 2 | 0.001 090 180 | 0.004 401 69 | 2.115 03 | |
1/16 | 1/8 | 12.701 90 | 2 | 0.000 570 030 | 0.002 510 84 | 2.009 36 | |
1/20 | 1/10 | 33.003 90 | 2 | 0.000 346 007 | 0.001 609 92 | 2.036 12 | |
算法2 | 1/8 | 1/4 | 1.397 73 | 2 | 0.002 763 490 | 0.010 183 30 | - |
1/12 | 1/6 | 4.785 84 | 2 | 0.001 090 190 | 0.004 401 81 | 2.114 99 | |
1/16 | 1/8 | 13.531 60 | 2 | 0.000 570 040 | 0.002 510 97 | 2.009 28 | |
1/20 | 1/10 | 34.505 40 | 2 | 0.000 346 018 | 0.001 610 05 | 2.036 00 | |
算法3 | 1/8 | 1/4 | 1.563 61 | 2 | 0.002 763 480 | 0.010 183 20 | - |
1/12 | 1/6 | 5.375 81 | 2 | 0.001 090 180 | 0.004 401 69 | 2.115 03 | |
1/16 | 1/8 | 14.856 20 | 2 | 0.000 570 028 | 0.002 510 85 | 2.009 36 | |
1/20 | 1/10 | 36.657 40 | 2 | 0.000 346 006 | 0.001 609 93 | 2.036 12 |
表4 三维情形下标准两重网格有限元算法与并行有限元算法误差比较:ν=1, α=1, r=3
Table 4 Errors of approximate solutions by standard two-grid and parallel finite element algorithms in 3D: ν=1, α=1, r=3
算法 | h | H | CPU时间/s | 迭代次数 | | |||p-ph|||0, Ω | 收敛阶 |
标准算法 | 1/8 | 1/4 | 4.448 66 | 2 | 0.001 550 550 | 0.004 051 25 | - |
1/12 | 1/6 | 22.151 90 | 2 | 0.000 682 911 | 0.001 796 71 | 2.009 99 | |
1/16 | 1/8 | 105.382 00 | 2 | 0.000 383 025 | 0.001 009 80 | 2.004 90 | |
1/20 | 1/10 | 408.273 00 | 2 | 0.000 244 837 | 0.000 646 003 | 2.002 85 | |
算法1 | 1/8 | 1/4 | 1.271 54 | 2 | 0.002 763 490 | 0.010 183 20 | - |
1/12 | 1/6 | 4.485 49 | 2 | 0.001 090 180 | 0.004 401 69 | 2.115 03 | |
1/16 | 1/8 | 12.701 90 | 2 | 0.000 570 030 | 0.002 510 84 | 2.009 36 | |
1/20 | 1/10 | 33.003 90 | 2 | 0.000 346 007 | 0.001 609 92 | 2.036 12 | |
算法2 | 1/8 | 1/4 | 1.397 73 | 2 | 0.002 763 490 | 0.010 183 30 | - |
1/12 | 1/6 | 4.785 84 | 2 | 0.001 090 190 | 0.004 401 81 | 2.114 99 | |
1/16 | 1/8 | 13.531 60 | 2 | 0.000 570 040 | 0.002 510 97 | 2.009 28 | |
1/20 | 1/10 | 34.505 40 | 2 | 0.000 346 018 | 0.001 610 05 | 2.036 00 | |
算法3 | 1/8 | 1/4 | 1.563 61 | 2 | 0.002 763 480 | 0.010 183 20 | - |
1/12 | 1/6 | 5.375 81 | 2 | 0.001 090 180 | 0.004 401 69 | 2.115 03 | |
1/16 | 1/8 | 14.856 20 | 2 | 0.000 570 028 | 0.002 510 85 | 2.009 36 | |
1/20 | 1/10 | 36.657 40 | 2 | 0.000 346 006 | 0.001 609 93 | 2.036 12 |
图2 二维情形下不同子区域时并行有限元算法所得速度与压力解的收敛阶(a)速度梯度的L2误差收敛阶;(b)压力L2误差收敛阶
Fig.2 Rates of convergence of the solutions by parallel finite element algorithms with different numbers of subdomains in 2D (a) order of convergence of L2-error for the gradient of velocity; (b) order of convergence of L2-error for the pressure
图3 在不同的阻尼参数α下圆柱绕流问题的并行有限元算法(左)与标准两重网格有限元算法(右)的速度分量u1(a)α=0;(b)α=0.1;(c)α=1;(d)α=10
Fig.3 Computed u1-velocity for the flow past a circular cylinder by parallel finite element algorithm (left) and standard two-grid finite element algorithm (right) with different α (a) α=0; (b) α=0.1; (c) α=1; (d) α=10
图4 在不同参数α下圆柱绕流问题的并行有限元算法(左)与标准两重网格有限元算法(右)的速度分量u2(a)α=0;(b)α=0.1;(c)α=1;(d)α=10
Fig.4 Computed u2-velocity for the flow past a circular cylinder by parallel finite element algorithm (left) and standard two-grid finite element algorithm (right) with different α (a) α=0; (b) α=0.1; (c) α=1; (d) α=10
图5 在不同参数α下圆柱绕流问题的并行有限元算法(左)与标准两重网格有限元算法(右)的压力p (a)α=0;(b)α=0.1;(c)α=1;(d)α=10
Fig.5 Computed p for the flow past a circular cylinder by parallel finite element algorithm (left) and standard two-grid finite element algorithm (right) with different α (a) α=0; (b) α=0.1; (c) α=1; (d) α=10
图6 在不同参数α下后台阶流问题的并行有限元算法(左)与标准两重网格有限元算法(右)的速度分量u1(a)α=0;(b)α=0.1;(c)α=1;(d)α=10
Fig.6 Computed u1-velocity for the backward-facing step flow by parallel finite element algorithm (left) and standard two-grid finite element algorithm (right) with different α (a) α=0; (b) α=0.1; (c) α=1; (d) α=10
图7 在不同参数α下后台阶流问题的并行有限元算法(左)与标准两重网格有限元算法(右)的速度分量u2 (a)α=0;(b)α=0.1;(c)α=1;(d)α=10
Fig.7 Computed u2-velocity for the backward-facing step flow by parallel finite element algorithm (left) and standard two-grid finite element algorithm (right) with different α (a) α=0; (b) α=0.1; (c) α=1; (d) α=10
图8 在不同参数α下后台阶流问题的并行有限元算法(左)与标准两重网格有限元算法(右)的压力p(a)α=0;(b)α=0.1;(c)α=1;(d)α=10
Fig.8 Computed pressure p for the backward-facing step flow by parallel finite element algorithm (left) and standard two-grid finite element algorithm (right) with different α (a) α=0; (b) α=0.1; (c) α=1; (d) α=10
1 |
DOI |
2 |
DOI |
3 |
|
4 |
DOI |
5 |
|
6 |
DOI |
7 |
DOI |
8 |
|
9 |
DOI |
10 |
|
11 |
DOI |
12 |
DOI |
13 |
DOI |
14 |
|
15 |
|
16 |
DOI |
17 |
|
18 |
|
19 |
DOI |
20 |
|
21 |
DOI |
22 |
DOI |
23 |
DOI |
24 |
DOI |
25 |
DOI |
26 |
DOI |
27 |
|
28 |
|
29 |
DOI |
30 |
DOI |
31 |
DOI |
32 |
DOI |
33 |
DOI |
34 |
|
[1] | 王湛煌, 郑波, 尚月强. 非定常Navier-Stokes方程的并行两水平稳定有限元算法[J]. 计算物理, 2023, 40(1): 14-28. |
[2] | 胡晓燕, 范征锋. 惯性约束聚变内爆中基于多块结构网格的高效辐射扩散并行算法[J]. 计算物理, 2022, 39(3): 277-285. |
[3] | 朱家莉, 尚月强. 不可压缩流的并行两水平稳定有限元算法[J]. 计算物理, 2022, 39(3): 309-317. |
[4] | 蔡颖, 张存波, 刘旭, 范征锋, 刘元元, 徐小文, 张爱清. 二维球坐标系中子输运方程的一种并行SN算法[J]. 计算物理, 2022, 39(2): 143-152. |
[5] | 李馨东, 赵英奎, 胡宗民, 姜宗林. 基于第二粘性的Navier-Stokes方程组求解正激波结构[J]. 计算物理, 2020, 37(5): 505-513. |
[6] | 丁琪, 尚月强. 非定常Navier-Stokes方程基于两重网格离散的有限元并行算法[J]. 计算物理, 2020, 37(1): 10-18. |
[7] | 张庆福, 姚军, 黄朝琴, 李阳, 王月英. 裂缝性介质多尺度深度学习模型[J]. 计算物理, 2019, 36(6): 665-672. |
[8] | 温小静, 屈瑜, 陈城钊. 双层开口环的圆二色性数值研究[J]. 计算物理, 2019, 36(3): 357-362. |
[9] | 张守慧, 梁栋. 二维抛物型问题的Strang型交替分段区域分裂格式[J]. 计算物理, 2018, 35(4): 413-428. |
[10] | 葛志昊, 吴慧丽. 体积约束的非局部扩散问题的加罚有限元方法[J]. 计算物理, 2018, 35(2): 161-168. |
[11] | 杨晓成, 尚月强. 大雷诺数Navier-Stokes方程的两水平亚格子模型稳定化方法[J]. 计算物理, 2017, 34(6): 657-665. |
[12] | 朱晓钢, 聂玉峰, 王俊刚, 袁占斌. 分数阶对流扩散方程的特征有限元方法[J]. 计算物理, 2017, 34(4): 417-424. |
[13] | 祁美玲, 杨琼, 王苍龙, 田园, 杨磊. 结构材料辐照损伤的分子动力学程序GPU并行化及优化[J]. 计算物理, 2017, 34(4): 461-467. |
[14] | 赵国忠, 蔚喜军, 郭怀民. 二维Lagrangian坐标系下可压气动方程组的间断Petrov-Galerkin方法[J]. 计算物理, 2017, 34(3): 294-308. |
[15] | 叶珍宝, 朱剑, 周海京. 基于曲四面体单元剖分的CN E-H TDFEM方法[J]. 计算物理, 2016, 33(6): 652-660. |
阅读次数 | ||||||
全文 |
|
|||||
摘要 |
|
|||||
版权所有 © 《计算物理》编辑部
地址:北京市海淀区丰豪东路2号 邮编:100094 E-mail:jswl@iapcm.ac.cn
本系统由北京玛格泰克科技发展有限公司设计开发