OpenFOAM动网格案例中相分数突然增大并发散

在计算多相流动网格案例时,计算一段时间后库朗数突然增大并导致计算发散。起初以为是网格变形过大导致的发散,但查看日志文件和结果发现,计算并非是结构物受到波浪冲击后达到最大变形时终止的,而是在逐渐回到原位置时终止的,此时相分数alpha.water超过了1并在急剧增大。这时结构物附近有一定的越流(如下图所示),且计算停止时(44.2s)的气液交界面显然是有很大问题的。因此我认为应该是相方程计算不收敛进而导致的整个计算终止。
微信图片_202203281625522 微信图片_202203281625521 微信图片_20220328162552

日志文件中库朗数、相分数突然开始增加

Courant Number mean: 0.00712723 max: 0.239651
Interface Courant Number mean: 8.62383e-05 max: 0.127567
Time = 44.075

smoothSolver: Solving for cellDisplacementx, Initial residual = 9.70175e-07, Final residual = 9.36364e-07, No Iterations 2
smoothSolver: Solving for cellDisplacementy, Initial residual = 7.68774e-07, Final residual = 5.87688e-08, No Iterations 2
smoothSolver: Solving for cellDisplacementz, Initial residual = 1.01423e-06, Final residual = 9.40735e-07, No Iterations 2
Velocity BC on patch inlet
DICPCG: Solving for pcorr, Initial residual = 1, Final residual = 9.62297e-06, No Iterations 411
time step continuity errors : sum local = 2.41058e-13, global = -5.99187e-15, cumulative = 0.000120042
alpha.water BC on patch inlet
MULES: Solving for alpha.water
alpha.water BC on patch inlet
Phase-1 volume fraction = 0.617753 Min(alpha.water) = -0.0723531 Max(alpha.water) = 1
alpha.water BC on patch inlet
MULES: Solving for alpha.water
alpha.water BC on patch inlet
Phase-1 volume fraction = 0.617752 Min(alpha.water) = -0.0696466 Max(alpha.water) = 1
Velocity BC on patch inlet
DICPCG: Solving for p_rgh, Initial residual = 0.00350418, Final residual = 4.87612e-05, No Iterations 2
time step continuity errors : sum local = 1.13449e-05, global = 1.59365e-09, cumulative = 0.000120044
DICPCG: Solving for p_rgh, Initial residual = 5.96198e-05, Final residual = 2.76106e-06, No Iterations 14
Velocity BC on patch inlet
time step continuity errors : sum local = 6.41972e-07, global = 2.13611e-09, cumulative = 0.000120046
DICPCG: Solving for p_rgh, Initial residual = 3.88797e-06, Final residual = 9.97992e-08, No Iterations 71
Velocity BC on patch inlet
time step continuity errors : sum local = 2.32035e-08, global = 1.31752e-09, cumulative = 0.000120047
smoothSolver: Solving for omega, Initial residual = 0, Final residual = 0, No Iterations 0
smoothSolver: Solving for k, Initial residual = 0.000474679, Final residual = 1.40865e-10, No Iterations 3
bounding k, min: -0.00063919 max: 83.9909 average: 0.00447351
ExecutionTime = 45623.1 s ClockTime = 45728 s

—[precice] e[0m Time window completed
—[precice] e[0m iteration: 1, time-window: 8816, time: 44.075 of 200, time-window-size: 0.005, max-timestep-length: 0.005, ongoing: yes, time-window-complete: yes,
—[preciceAdapter] The solver’s timestep is smaller than the coupling timestep. Subcycling…
→ FOAM Warning :
From function void adapterInfo(std::string, std::string)
in file Utilities.C at line 17
e[36mWarning in the preCICE adapter: e[0m
The adapter does not fully support subcycling for FSI and instabilities may occur.

Courant Number mean: 0.00712747 max: 0.239608
Interface Courant Number mean: 8.64116e-05 max: 0.127789
Time = 44.076

smoothSolver: Solving for cellDisplacementx, Initial residual = 0.0698615, Final residual = 9.95523e-07, No Iterations 272
smoothSolver: Solving for cellDisplacementy, Initial residual = 5.91121e-08, Final residual = 9.48422e-09, No Iterations 2
smoothSolver: Solving for cellDisplacementz, Initial residual = 0.113032, Final residual = 9.98401e-07, No Iterations 318
Velocity BC on patch inlet
DICPCG: Solving for pcorr, Initial residual = 1, Final residual = 9.76987e-06, No Iterations 398
time step continuity errors : sum local = 1.09415e-11, global = -7.0999e-13, cumulative = 0.000120047
alpha.water BC on patch inlet
MULES: Solving for alpha.water
alpha.water BC on patch inlet
Phase-1 volume fraction = 0.617783 Min(alpha.water) = -0.261537 Max(alpha.water) = 1.00674
alpha.water BC on patch inlet
MULES: Solving for alpha.water
alpha.water BC on patch inlet
Phase-1 volume fraction = 0.617814 Min(alpha.water) = -0.578914 Max(alpha.water) = 1.23162
Velocity BC on patch inlet
DICPCG: Solving for p_rgh, Initial residual = 0.00735186, Final residual = 0.000127607, No Iterations 2
time step continuity errors : sum local = 2.92919e-05, global = -3.10885e-10, cumulative = 0.000120047
DICPCG: Solving for p_rgh, Initial residual = 0.000216319, Final residual = 1.02956e-05, No Iterations 33
Velocity BC on patch inlet
time step continuity errors : sum local = 2.36231e-06, global = -3.65233e-08, cumulative = 0.00012001
DICPCG: Solving for p_rgh, Initial residual = 5.07214e-05, Final residual = 9.92743e-08, No Iterations 163
Velocity BC on patch inlet
time step continuity errors : sum local = 2.28309e-08, global = 2.40076e-11, cumulative = 0.00012001
smoothSolver: Solving for omega, Initial residual = 0, Final residual = 0, No Iterations 0
smoothSolver: Solving for k, Initial residual = 0.00365358, Final residual = 5.13115e-09, No Iterations 6
bounding k, min: -0.000311009 max: 412.548 average: 0.00672446
ExecutionTime = 45626.4 s ClockTime = 45731 s

44.202s计算终止

Courant Number mean: 2.0543e+34 max: 1.4421e+38
Interface Courant Number mean: 7.07638e+32 max: 4.12311e+36
Time = 44.203

smoothSolver: Solving for cellDisplacementx, Initial residual = 0.303008, Final residual = 3.33344e-05, No Iterations 1000
smoothSolver: Solving for cellDisplacementy, Initial residual = 0.884516, Final residual = 9.77589e-07, No Iterations 626
smoothSolver: Solving for cellDisplacementz, Initial residual = 0.30362, Final residual = 1.48376e-05, No Iterations 1000

因此,想请问大家是否在多相流动网格的计算中是否遇到过类似的问题,有什么办法可以解决这种相分数越界的问题吗?

1 个赞

请问你解决了吗?是因为相分数没有限制吗?

请问您这个问题解决了嘛,我也遇到该问题了