回転する角柱廻りの流れ場解析について

489 views
Skip to first unread message

Kuniie f8

unread,
Aug 10, 2015, 3:35:39 AM8/10/15
to OpenFOAM
お世話になっております。国家と申します。

現在、pimpleDyMFoam を用いて回転する角柱廻りの流れ場を解いていますが、解が発散してしまいます。
境界条件を見直し、圧力の緩和係数を小さくしていますが状況が変化しません。ご助言の程宜しくお願い致します。


最終残差の変化
添付いたします。

pimpleDyMFoamの最後のステップのログ
 2330 Courant Number mean: 2.15841e+28 max: 1.46037e+32
   
2331 deltaT = 2.00334e-43
   
2332 --> FOAM Warning :
   
2333     From function Time::operator++()
   
2334     in file db/Time/Time.C at line 1024
   
2335     Increased the timePrecision from 8 to 9 to distinguish between timeNames at time 0.18875
   
2336 Time = 0.188750361
   
2337
   
2338 solidBodyMotionFunctions::rotatingMotion::transformation(): Time = 0.18875 transformation: ((0 0 0) (0.999313 (0 0 0.0370526)))
   
2339 AMI: Creating addressing and weights between 153600 source faces and 153600 target faces
   
2340 AMI: Patch source weights min/max/average = 0.750045, 1.07729, 1.00073
   
2341 AMI: Patch target weights min/max/average = 0.781392, 1.11334, 1.00069
   
2342 PIMPLE: iteration 1
   
2343 smoothSolver:  Solving for Ux, Initial residual = 0.966776, Final residual = 0.0884086, No Iterations 1
   
2344 smoothSolver:  Solving for Uy, Initial residual = 0.966524, Final residual = 0.0275134, No Iterations 2
   
2345 smoothSolver:  Solving for Uz, Initial residual = 0.978059, Final residual = 0.0588787, No Iterations 1
   
2346 GAMG:  Solving for p, Initial residual = 1, Final residual = 2.75805e+45, No Iterations 70
   
2347 time step continuity errors : sum local = 3.0841e+40, global = 5.36584e+38, cumulative = 5.36584e+38
   
2348 GAMG:  Solving for p, Initial residual = 9.23518e-11, Final residual = 9.23518e-11, No Iterations 0
   
2349 time step continuity errors : sum local = 1.13638e+59, global = -6.44633e+50, cumulative = -6.44633e+50
   
2350 GAMG:  Solving for p, Initial residual = 9.23518e-11, Final residual = 9.23518e-11, No Iterations 0
   
2351 time step continuity errors : sum local = 3.40914e+58, global = -1.9339e+50, cumulative = -8.38023e+50
   
2352 GAMG:  Solving for p, Initial residual = 9.23518e-11, Final residual = 9.23518e-11, No Iterations 0
   
2353 time step continuity errors : sum local = 1.02274e+58, global = -5.8017e+49, cumulative = -8.9604e+50
   
2354 GAMG:  Solving for p, Initial residual = 9.23518e-11, Final residual = 9.23518e-11, No Iterations 0
   
2355 time step continuity errors : sum local = 3.06822e+57, global = -1.74051e+49, cumulative = -9.13445e+50
   
2356 PIMPLE: iteration 2
   
2357 smoothSolver:  Solving for Ux, Initial residual = 0.0590496, Final residual = 0.000349449, No Iterations 1
   
2358 smoothSolver:  Solving for Uy, Initial residual = 2.84643e-06, Final residual = 1.009e-07, No Iterations 2
   
2359 smoothSolver:  Solving for Uz, Initial residual = 4.32656e-06, Final residual = 5.42474e-07, No Iterations 2
   
2360 GAMG:  Solving for p, Initial residual = 1, Final residual = nan, No Iterations 70
   
2361 time step continuity errors : sum local = nan, global = -nan, cumulative = -nan
   
2362 GAMG:  Solving for p, Initial residual = nan, Final residual = nan, No Iterations 70
   
2363 [7]
   
2364 [7]
   
2365 [7] --> FOAM FATAL IO ERROR:
   
2366 [7] wrong token type - expected Scalar, found on line 8 the word 'nan'




流速の境界条件
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.1.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/

FoamFile
{
    version    
2.0;
    format      ascii
;
   
class       volVectorField;
    location    
"0";
   
object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

internalField   uniform
(10 0 0);

boundaryField
{
    inlet
   
{
        type            inletOutlet
;
        inletValue      uniform
(10 0 0);
        value           uniform
(10 0 0);
   
}
    outlet
   
{
        type            zeroGradient
;
   
}
    sides
   
{
        type            slip
;
   
}
    bottom
   
{
        type            uniformFixedValue
;
        uniformValue    constant
(0 0 0);
   
}
    top
   
{
        type            slip
;
   
}
    building
   
{
        type            uniformFixedValue
;
        uniformValue    constant
(0 0 0);
   
}
    AMI1
   
{
        type            cyclicAMI
;
        value           uniform
(0 0 0);
   
}

    AMI2
   
{
        type            cyclicAMI
;
        value           uniform
(0 0 0);
   
}
}


// ************************************************************************* //

圧力の境界条件
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.1.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/

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

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

internalField   uniform
0;

boundaryField
{
    inlet
   
{
        type            zeroGradient
;
   
}
    outlet
   
{
        type            uniformFixedValue
;
    uniformValue    constant
0;
   
}
    sides
   
{
        type            zeroGradient
;
   
}
    bottom
   
{
        type            zeroGradient
;
   
}
    top
   
{
        type            zeroGradient
;
   
}
    building
   
{
        type            zeroGradient
;
   
}
    AMI1
   
{
        type            cyclicAMI
;
        value           uniform
0;
   
}

    AMI2
   
{
        type            cyclicAMI
;
        value           uniform
0;
   
}
}


// ************************************************************************* //

乱流エネルギーの境界条件
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.1.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/

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

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

kVal    
0.24;
internalField   uniform $kVal
;

boundaryField
{
    inlet
   
{
        type            uniformFixedValue
;
        uniformValue    constant $kVal
;
   
}
    outlet
   
{
        type            zeroGradient
;
   
}
    sides
   
{
        type            slip
;
   
}
    bottom
   
{
        type            epsilonWallFunction
;
        value           $internalField
;
   
}
    top
   
{
        type            slip
;
   
}
    building
   
{
        type            epsilonWallFunction
;
        value           $internalField
;
   
}
    AMI1
   
{
        type            cyclicAMI
;
        value           $internalField
;
   
}

    AMI2
   
{
        type            cyclicAMI
;
        value           $internalField
;
   
}
}


// ************************************************************************* //



エネルギー散逸率の境界条件
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.1.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/

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

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

internalField   uniform
0.006899;

boundaryField
{
    inlet
   
{
        type            fixedValue
;
        value           $internalField
;
   
}

    outlet
   
{
        type            zeroGradient
;
   
}

    sides
   
{
        type            slip
;
   
}

    top
   
{
        type            slip
;
   
}

    bottom
   
{
        type            epsilonWallFunction
;
        value           $internalField
;
   
}

    building
   
{
        type            epsilonWallFunction
;
        value           $internalField
;
   
}
    AMI1
   
{
        type            cyclicAMI
;
        value           $internalField
;
   
}

    AMI2
   
{
        type            cyclicAMI
;
        value           $internalField
;
   
}
}


// ************************************************************************* //


動粘性係数の境界条件
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.1.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/

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

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

internalField   uniform
0;

boundaryField
{
    inlet
   
{
        type            calculated
;
        value           uniform
0;
   
}

    outlet
   
{
        type            zeroGradient
;
   
}

    building
   
{
        type            nutkWallFunction
;
        value           uniform
0;
   
}

    bottom
   
{
        type            nutkWallFunction
;
        value           uniform
0;
   
}

    top
   
{
        type            calculated
;
        value           uniform
0;
   
}

    sides
   
{
        type            calculated
;
        value           uniform
0;
   
}
    AMI1
   
{
        type            cyclicAMI
;
        value           uniform
0;
   
}

    AMI2
   
{
        type            cyclicAMI
;
        value           uniform
0;
   
}
}


// ************************************************************************* //



system/fvSolution
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.1.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/

FoamFile
{
    version    
2.0;
    format      ascii
;
   
class       dictionary;
   
object      fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solvers
{
    pcorr
   
{
        solver          GAMG
;
        tolerance      
1e-2;
        relTol          
0;
        smoother        
DICGaussSeidel;
        cacheAgglomeration
no;
        nCellsInCoarsestLevel
10;
        agglomerator    faceAreaPair
;
        mergeLevels    
1;
        maxIter        
70;
   
}

    p
   
{
        $pcorr
;
        tolerance      
1e-5;
        relTol          
0.01;
   
}

    pFinal
   
{
        $p
;
        tolerance      
1e-6;
        relTol          
0;
   
}

   
"(U|k|epsion)"
   
{
        solver          smoothSolver
;
        smoother        
GaussSeidel;
        tolerance      
1e-6;
        relTol          
0.1;
   
}

   
"(U|k|epsilon)Final"
   
{
        solver          
PBiCG;
        preconditioner  DILU
;
        tolerance      
1e-6;
        relTol          
0;
   
}
}

PIMPLE
{
    correctPhi          
no;
    nOuterCorrectors    
3;
    nCorrectors        
5;
    nNonOrthogonalCorrectors
0;
}

relaxationFactors
{
    equations
   
{
           
"(U|k|epsilon).*"   1;
   
}
    fields
   
{
        U    
0.7;
        p    
0.3;
   
}

}

cache
{
    grad
(U);
}

// ************************************************************************* //


system/fvScheme
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.1.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/

FoamFile
{
    version    
2.0;
    format      ascii
;
   
class       dictionary;
    location    
"system";
   
object      fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

ddtSchemes
{
   
default         Euler;
}

gradSchemes
{
   
default         Gauss linear;
    grad
(p)         Gauss linear;
    grad
(U)         cellLimited Gauss linear 1;
}

divSchemes
{
   
default         none;
    div
(phi,U)      Gauss upwind;
//    div(phi,U)      Gauss linearUpwind grad(U);
    div
(phi,k)      Gauss upwind;
    div
(phi,epsilon) Gauss upwind;
    div
((nuEff*dev(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
   
default         Gauss linear corrected;
}

interpolationSchemes
{
   
default         linear;
}

snGradSchemes
{
   
default         corrected;
}

fluxRequired
{
   
default         no;
    pcorr          
;
    p              
;
}


// ************************************************************************* //
finalRes.png

ohbuchi

unread,
Aug 11, 2015, 2:59:53 AM8/11/15
to OpenFOAM
こんにちは。残差履歴グラフの点が等間隔でないのが気になります。一方、ログではクーラン数が巨大な値になり
dtがマシン零に近い値になっています。
クーラン数が大きくなり始める時間ステップで流れを可視化し、以上な速度ベクトルが表示される場所がないか
確認してみると良いと思います。その周辺に何か問題がある(メッシュ品質など)ことが多いです。
ご参考まで。



2015年8月10日月曜日 16時35分39秒 UTC+9 Kuniie f8:

Kuniie f8

unread,
Aug 20, 2015, 7:50:07 PM8/20/15
to OpenFOAM
ohbuchi 様

 ご助言有難うございました。残差履歴の点が等間隔ではないのは、"adjustableRunTime"を使用しているためです。"writeInterval"を小さくし再計算した所同値を変更する前に発散した時刻で発散しませんでした。念のため当該時刻の流速ベクトルを確認しましたが現在の所異常な流速ベクトルは確認できていません。

國家


2015年8月10日月曜日 16時35分39秒 UTC+9 Kuniie f8:
お世話になっております。国家と申します。
...
Reply all
Reply to author
Forward
0 new messages