对于openfoam7中的算例
OpenFOAM/OpenFOAM-7/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn
blocks
(
hex (0 1 2 3 4 5 6 7) (25 75 1) simpleGrading (1 1 1)
将其blockMeshDict中的网格数从(25 75 1)修改为(50 150 1)和(100 300 1)得到bubbleColumnFine和bubbleColumnMorefine。然后运行./Allrun,这两个算例会分别在4.82s和1.785s发散
报错信息如下:
Courant Number mean: 0.193424 max: 2.38733
Max Ur Courant Number = 1.70125
Time = 1.785
PIMPLE: Iteration 1
MULES: Solving for alpha.air
MULES: Solving for alpha.air
alpha.air volume fraction = 0.300065 Min(alpha.air) = -1.42077e-16 Max(alpha.air) = 1.01947
Constructing momentum equations
smoothSolver: Solving for e.air, Initial residual = 0.00251771, Final residual = 1.55265e-08, No Iterations 2
smoothSolver: Solving for e.water, Initial residual = 6.01592e-05, Final residual = 5.94292e-08, No Iterations 4
min T.air 300
min T.water 300.167
GAMG: Solving for p_rgh, Initial residual = 0.000206863, Final residual = 2.12447e-09, No Iterations 6
PIMPLE: Iteration 2
MULES: Solving for alpha.air
MULES: Solving for alpha.air
alpha.air volume fraction = 0.30008 Min(alpha.air) = -0.000167232 Max(alpha.air) = 1.00044
Constructing momentum equations
smoothSolver: Solving for e.air, Initial residual = 0.000588382, Final residual = 1.82242e-08, No Iterations 2
smoothSolver: Solving for e.water, Initial residual = 4.07019e-05, Final residual = 5.33076e-08, No Iterations 4
min T.air 300
min T.water 300.167
GAMG: Solving for p_rgh, Initial residual = 0.000299811, Final residual = 4.64565e-09, No Iterations 6
PIMPLE: Iteration 3
MULES: Solving for alpha.air
MULES: Solving for alpha.air
alpha.air volume fraction = 0.300078 Min(alpha.air) = -0.286261 Max(alpha.air) = 1.3119
Constructing momentum equations
smoothSolver: Solving for e.air, Initial residual = 0.000643277, Final residual = 7.16972e-08, No Iterations 4
smoothSolver: Solving for e.water, Initial residual = 3.51151e-05, Final residual = 6.91279e-08, No Iterations 3
min T.air -57.4121
min T.water 300.167
GAMG: Solving for p_rgh, Initial residual = 0.00045527, Final residual = 8.56624e-09, No Iterations 13
bounding km, min: 2.22028e-16 max: 0.0271421 average: 0.000650568
smoothSolver: Solving for epsilonm, Initial residual = 0.129979, Final residual = 9.93029e-12, No Iterations 1
bounding epsilonm, min: -0.100887 max: 55.5581 average: 0.246321
smoothSolver: Solving for km, Initial residual = 6.55536e-12, Final residual = 5.87794e-14, No Iterations 1
bounding km, min: -0.000581692 max: 0.0170913 average: 0.000649872
#0 Foam::error::printStack(Foam::Ostream&) at ??:?
#1 Foam::sigFpe::sigHandler(int) at ??:?
#2 ? in "/lib/x86_64-linux-gnu/libc.so.6"
#3 ? in "/lib/x86_64-linux-gnu/libm.so.6"
#4 pow in "/lib/x86_64-linux-gnu/libm.so.6"
#5 Foam::pow(Foam::Field<double>&, Foam::UList<double> const&, double const&) at ??:?
#6 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::pow<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::dimensioned<double> const&) at ??:?
#7 Foam::dragModels::SchillerNaumann::CdRe() const at ??:?
#8 Foam::dragModel::Ki() const at ??:?
#9 Foam::dragModel::K() const at ??:?
#10 Foam::BlendedInterfacialModel<Foam::dragModel>::K() const at ??:?
#11 Foam::twoPhaseSystem::Kd() const at ??:?
#12 Foam::RASModels::mixtureKEpsilon<Foam::EddyDiffusivity<Foam::ThermalDiffusivity<Foam::PhaseCompressibleTurbulenceModel<Foam::phaseModel> > > >::Ct2() const at ??:?
#13 Foam::RASModels::mixtureKEpsilon<Foam::EddyDiffusivity<Foam::ThermalDiffusivity<Foam::PhaseCompressibleTurbulenceModel<Foam::phaseModel> > > >::correct() at ??:?
#14 Foam::twoPhaseSystem::correctTurbulence() at ??:?
通过paraview查看发散前的结果,可以看到epsilonm的值在局部区域有震荡(epsilonm的量程为2e-16到384)
调整松弛因子也未能解决问题,想请教一下各位前辈这种发散是由什么造成的?又该如何解决?