DPMFoam计算报错

我先算的10um的粒子,没有报错,现在算20um的,我注意到了K和EPSLION的值,并且做了对应修改。也适当调大了网格大小,保证其大于粒子直径,然而却出现了以下的报错。这是单纯的K和EPSLIN出错吗,还是说其他原因?
并且我发现bounding k.water和bounding epsilon.water很大

PIMPLE: iteration 1
DILUPBiCGStab:  Solving for U.waterx, Initial residual = 0.896027, Final residual = 2.11978e-06, No Iterations 5
DILUPBiCGStab:  Solving for U.watery, Initial residual = 0.901428, Final residual = 2.57276e-06, No Iterations 5
DICPCG:  Solving for p, Initial residual = 3.68489e-05, Final residual = 8.52398e-07, No Iterations 360
DICPCG:  Solving for p, Initial residual = 3.78278e-17, Final residual = 3.78278e-17, No Iterations 0
time step continuity errors : sum local = 4.49599e+19, global = 3307.12, cumulative = 3307.13
DICPCG:  Solving for p, Initial residual = 3.78802e-17, Final residual = 3.78802e-17, No Iterations 0
DICPCG:  Solving for p, Initial residual = 3.78802e-17, Final residual = 3.78802e-17, No Iterations 0
time step continuity errors : sum local = 4.50221e+19, global = -877.853, cumulative = 2429.28
DICPCG:  Solving for p, Initial residual = 3.79441e-17, Final residual = 3.79441e-17, No Iterations 0
DICPCG:  Solving for p, Initial residual = 3.79441e-17, Final residual = 3.79441e-17, No Iterations 0
time step continuity errors : sum local = 4.50981e+19, global = 5049.33, cumulative = 7478.62
DILUPBiCGStab:  Solving for epsilon.water, Initial residual = 1, Final residual = 215581, No Iterations 1001
bounding epsilon.water, min: -1.7954e+78 max: 1.75476e+78 average: -9.23698e+76
DILUPBiCGStab:  Solving for k.water, Initial residual = 3.4671e-05, Final residual = 4.85012e-06, No Iterations 5
bounding k.water, min: -5.78636e+58 max: 4.3885e+65 average: 6.70063e+62
ExecutionTime = 228.66 s  ClockTime = 229 s

fieldAverage fieldAverage1 write:
    Calculating averages

Courant Number mean: 2.2754e+19 max: 7.11064e+23
deltaT = 8.38547e-42
Time = 0.000140845

Evolving kinematicCloud

Solving 2-D cloud kinematicCloud
Cloud: kinematicCloud
    Current number of parcels       = 19
    Current mass in system          = 2.10906e-10
    Linear momentum                 = (0.00172113 0.0102159 0)
   |Linear momentum|                = 0.0103599
    Linear kinetic energy           = 818284
    model1:
        number of parcels added     = 19
        mass introduced             = 2.10906e-10
    Parcel fate (number, mass)      : patch inlet
      - escape                      = 0, 0
      - stick                       = 0, 0
    Parcel fate (number, mass)      : patch outlet
      - escape                      = 0, 0
      - stick                       = 0, 0
    Parcel fate (number, mass)      : patch walls
      - escape                      = 0, 0
      - stick                       = 0, 0
    Parcel fate (number, mass)      : patch frontAndBack
      - escape                      = 0, 0
      - stick                       = 0, 0
    Rotational kinetic energy       = 0

PIMPLE: iteration 1
#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::sigFpe::sigHandler(int) at ??:?
#2  ? in "/lib64/libc.so.6"
#3  double Foam::sumProd<double>(Foam::UList<double> const&, Foam::UList<double> const&) at ??:?
#4  Foam::PBiCGStab::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
#5  Foam::fvMatrix<Foam::Vector<double> >::solveSegregated(Foam::dictionary const&) at ??:?
#6  Foam::fvMatrix<Foam::Vector<double> >::solve(Foam::dictionary const&) at ??:?
#7  ? at ??:?
#8  ? at ??:?
#9  __libc_start_main in "/lib64/libc.so.6"
#10  ? at ??:?
Floating point exception (core dumped)

当我把粒子直径改为60um后,报错信息如下

PIMPLE: iteration 1
DILUPBiCGStab:  Solving for U.waterx, Initial residual = 0.00569925, Final residual = 7.21195e-06, No Iterations 35
DILUPBiCGStab:  Solving for U.watery, Initial residual = 0.0167572, Final residual = 9.13267e-06, No Iterations 44
DICPCG:  Solving for p, Initial residual = 0.974778, Final residual = 0.00921663, No Iterations 28
DICPCG:  Solving for p, Initial residual = 2.80806e-12, Final residual = 2.80806e-12, No Iterations 0
time step continuity errors : sum local = 117503, global = -5.1755e-10, cumulative = -0.00723103
DICPCG:  Solving for p, Initial residual = 2.81182e-12, Final residual = 2.81182e-12, No Iterations 0
DICPCG:  Solving for p, Initial residual = 2.81182e-12, Final residual = 2.81182e-12, No Iterations 0
time step continuity errors : sum local = 117661, global = -5.27887e-10, cumulative = -0.00723103
DICPCG:  Solving for p, Initial residual = 2.81193e-12, Final residual = 2.81193e-12, No Iterations 0
DICPCG:  Solving for p, Initial residual = 2.81193e-12, Final residual = 2.81193e-12, No Iterations 0
time step continuity errors : sum local = 117665, global = -5.33522e-10, cumulative = -0.00723103
DILUPBiCGStab:  Solving for epsilon.water, Initial residual = 0.0304831, Final residual = 6.30135e-13, No Iterations 1
bounding epsilon.water, min: -1.1389e+29 max: 1.47802e+54 average: 9.84125e+50
DILUPBiCGStab:  Solving for k.water, Initial residual = 1, Final residual = 5.41229e+46, No Iterations 1001
bounding k.water, min: -1.46804e+81 max: 4.39921e+92 average: 1.29075e+92
ExecutionTime = 15.38 s  ClockTime = 16 s

fieldAverage fieldAverage1 write:
    Calculating averages

Courant Number mean: 888543 max: 3.00573e+08
deltaT = 4.37468e-36
Time = 7.9147e-06

Evolving kinematicCloud

Solving 2-D cloud kinematicCloud
Cloud: kinematicCloud
    Current number of parcels       = 1
    Current mass in system          = 2.99708e-10
    Linear momentum                 = (1.15811e-06 3.27381e-08 0)
   |Linear momentum|                = 1.15857e-06
    Linear kinetic energy           = 0.00223932
    model1:
        number of parcels added     = 1
        mass introduced             = 2.99708e-10
    Parcel fate (number, mass)      : patch inlet
      - escape                      = 0, 0
      - stick                       = 0, 0
    Parcel fate (number, mass)      : patch outlet
      - escape                      = 0, 0
      - stick                       = 0, 0
    Parcel fate (number, mass)      : patch walls
      - escape                      = 0, 0
      - stick                       = 0, 0
    Parcel fate (number, mass)      : patch frontAndBack
      - escape                      = 0, 0
      - stick                       = 0, 0
    Rotational kinetic energy       = 0

PIMPLE: iteration 1
DILUPBiCGStab:  Solving for U.waterx, Initial residual = 5.5652e-09, Final residual = 5.5652e-09, No Iterations 0
DILUPBiCGStab:  Solving for U.watery, Initial residual = 4.85851e-09, Final residual = 4.85851e-09, No Iterations 0
DICPCG:  Solving for p, Initial residual = 0.00934494, Final residual = 0.904318, No Iterations 1001
DICPCG:  Solving for p, Initial residual = 1.9336e-37, Final residual = 1.9336e-37, No Iterations 0
time step continuity errors : sum local = 6.79182e+79, global = 1.69382e+25, cumulative = 1.69382e+25
DICPCG:  Solving for p, Initial residual = 1.9336e-37, Final residual = 1.9336e-37, No Iterations 0
DICPCG:  Solving for p, Initial residual = 1.9336e-37, Final residual = 1.9336e-37, No Iterations 0
time step continuity errors : sum local = 6.79182e+79, global = 3.43389e+63, cumulative = 3.43389e+63
DICPCG:  Solving for p, Initial residual = 1.9336e-37, Final residual = 1.9336e-37, No Iterations 0
DICPCG:  Solving for p, Initial residual = 1.9336e-37, Final residual = 1.9336e-37, No Iterations 0
time step continuity errors : sum local = 6.79182e+79, global = -6.77955e+62, cumulative = 2.75594e+63
#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::sigFpe::sigHandler(int) at ??:?
#2  ? in "/lib64/libc.so.6"
#3  Foam::DILUPreconditioner::calcReciprocalD(Foam::Field<double>&, Foam::lduMatrix const&) at ??:?
#4  Foam::DILUPreconditioner::DILUPreconditioner(Foam::lduMatrix::solver const&, Foam::dictionary const&) at ??:?
#5  Foam::lduMatrix::preconditioner::addasymMatrixConstructorToTable<Foam::DILUPreconditioner>::New(Foam::lduMatrix::solver const&, Foam::dictionary const&) at ??:?
#6  Foam::lduMatrix::preconditioner::New(Foam::lduMatrix::solver const&, Foam::dictionary const&) at ??:?
#7  Foam::PBiCGStab::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
#8  Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) at ??:?
#9  Foam::fvMatrix<double>::solve(Foam::dictionary const&) at ??:?
#10  Foam::SolverPerformance<double> Foam::solve<double>(Foam::tmp<Foam::fvMatrix<double> > const&) at ??:?
#11  Foam::RASModels::kEpsilon<Foam::PhaseIncompressibleTurbulenceModel<Foam::singlePhaseTransportModel> >::correct() at ??:?
#12  ? at ??:?
#13  __libc_start_main in "/lib64/libc.so.6"
#14  ? at ??:?
Floating point exception (core dumped)

这个估计还是边界设置造成的。能把边界的情况列一下么?包括 p U k epsilon,参考一下 https://forum.cfdac.com/t/topic/540/13

FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    location    "0";
    object      epsilon;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 2 -3 0 0 0 0];

internalField   uniform 0.000918558;

boundaryField
{
    
    
    inlet
    {
        type            fixedValue;
        value           uniform 0.000918558;
    }

    outlet
    {
        type            zeroGradient;
    }

    walls
    {
        type            zeroGradient;
    }
     

    
}
    object      k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 2 -2 0 0 0 0];

internalField   uniform 1.5e-4;

boundaryField
{
    
    
     inlet
    {
        type            fixedValue;
        value           uniform 1.5e-4;
    }

    outlet
    {
        type            zeroGradient;
    }

    walls
    {
        type            zeroGradient;
    }

    
}
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 2 -2 0 0 0 0];

internalField   uniform 0;

boundaryField
{
    
    outlet
    {
        type            fixedValue;
        phi             phi.water;
        value           uniform 695.249;
    }

    inlet
    {
        type            fixedValue;
        phi             phi.water;
        value           uniform 8806.489;
    }

    

    walls
    {
        type            zeroGradient;
    }

    
}
    object      U.air;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 1 -1 0 0 0 0];

internalField   uniform (0 0 0);

boundaryField
{
  
    outlet
    {
        type            zeroGradient;
    }

    inlet
    {
        type            zeroGradient;
    }

   


    walls
    {
        type            noSlip;
    }

    

  
}

经过修改K和EPSLION的边界条件,20um的终于收敛了。同样的条件,运用在60um的粒子,又报错了,当然,K和EPSLION的值我是估计后修改了的:

    object      epsilon;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 2 -3 0 0 0 0];

internalField   uniform 1.435247e-8;

boundaryField
{
    
    
    inlet
    {
        type            fixedValue;
        value           uniform 1.435247e-8;
    }

    outlet
    {
       type            zeroGradient;
    }

    walls
    {
        type  epsilonWallFunction;
         value uniform 1.435247e-8;
    }
 object      k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 2 -2 0 0 0 0];

internalField   uniform 9.375e-8;

boundaryField
{
 
 
  inlet
 {
     type            fixedValue;
     value           uniform 9.375e-8;
 }

 outlet
 {
     type            zeroGradient;
 }

 walls
 {
     type kqRWallFunction;
     value uniform 9.375e-8;
 }

报错如下:

PIMPLE: iteration 1
DILUPBiCGStab:  Solving for U.waterx, Initial residual = 0.859298, Final residual = 1.13595e+09, No Iterations 1001
DILUPBiCGStab:  Solving for U.watery, Initial residual = 0.857719, Final residual = 11057.6, No Iterations 1001
DICPCG:  Solving for p, Initial residual = 1, Final residual = 0.00913779, No Iterations 38
time step continuity errors : sum local = 7.33314e+24, global = -2.78186e+24, cumulative = -2.78186e+24
DICPCG:  Solving for p, Initial residual = 1.3315e-09, Final residual = 1.3315e-09, No Iterations 0
time step continuity errors : sum local = 3.33474e+26, global = -2.65925e+24, cumulative = -5.44112e+24
DILUPBiCGStab:  Solving for epsilon.water, Initial residual = 1, Final residual = 9.59058e-07, No Iterations 7
bounding epsilon.water, min: -1.17757e+90 max: 2.06408e+98 average: 3.75024e+94
DILUPBiCGStab:  Solving for k.water, Initial residual = 0.863714, Final residual = 1.65352e-17, No Iterations 1
bounding k.water, min: -2.35254e+44 max: 8.72171e+61 average: 9.1622e+57
ExecutionTime = 11.46 s  ClockTime = 12 s

fieldAverage fieldAverage1 write:
    Calculating averages

Courant Number mean: 1.16587e+28 max: 1.99321e+30
deltaT = 3.0342e-51
Time = 7.94166e-06

Evolving kinematicCloud

Solving 2-D cloud kinematicCloud
Cloud: kinematicCloud
    Current number of parcels       = 1
    Current mass in system          = 2.99708e-10
    Linear momentum                 = (-2.40921e+29 4.18617e+30 0)
   |Linear momentum|                = 4.19309e+30
    Linear kinetic energy           = 2.93319e+70
    model1:
        number of parcels added     = 1
        mass introduced             = 2.99708e-10
    Parcel fate (number, mass)      : patch inlet
      - escape                      = 0, 0
      - stick                       = 0, 0
    Parcel fate (number, mass)      : patch outlet
      - escape                      = 0, 0
      - stick                       = 0, 0
    Parcel fate (number, mass)      : patch walls
      - escape                      = 0, 0
      - stick                       = 0, 0
    Parcel fate (number, mass)      : patch frontAndBack
      - escape                      = 0, 0
      - stick                       = 0, 0
    Rotational kinetic energy       = 0

PIMPLE: iteration 1
DILUPBiCGStab:  Solving for U.waterx, Initial residual = 0.989306, Final residual = 1.27055e-06, No Iterations 2
DILUPBiCGStab:  Solving for U.watery, Initial residual = 0.998452, Final residual = 1.52048e-06, No Iterations 2
DICPCG:  Solving for p, Initial residual = 1, Final residual = 0.00873987, No Iterations 15
time step continuity errors : sum local = 4.4561e+26, global = -5.46486e+12, cumulative = -5.44112e+24
DICPCG:  Solving for p, Initial residual = 1.1655e-13, Final residual = 1.1655e-13, No Iterations 0
time step continuity errors : sum local = 4.11878e+32, global = 1.11727e+17, cumulative = -5.44112e+24
#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::sigFpe::sigHandler(int) at ??:?
#2  ? in "/lib64/libc.so.6"
#3  double Foam::sumProd<double>(Foam::UList<double> const&, Foam::UList<double> const&) at ??:?
#4  Foam::PBiCGStab::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
#5  Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) at ??:?
#6  Foam::fvMatrix<double>::solve(Foam::dictionary const&) at ??:?
#7  Foam::SolverPerformance<double> Foam::solve<double>(Foam::tmp<Foam::fvMatrix<double> > const&) at ??:?
#8  Foam::RASModels::kEpsilon<Foam::PhaseIncompressibleTurbulenceModel<Foam::singlePhaseTransportModel> >::correct() at ??:?
#9  ? at ??:?
#10  __libc_start_main in "/lib64/libc.so.6"
#11  ? at ??:?
Floating point exception (core dumped)

很明显,是K和EPSLION的问题,关键是,其初始值是我严格按照公式计算得道的。

然后,foam-extend3.1 k-epsilon 边界错误中的其他组合我也都用过了,全部显示都是类是的报错信息。