T721_24 movingCone

T721_242 movingCone2

この記事は約14分で読めます。

OpenFoamのサンプル確認(パラメータやキーワードの覚書)です。

バージョン : Windows版(OpenFOAM-v2206-windows-mingw.exe)

ベース

チュートリアルフォルダ:チュートリアル場所(windows)

引用元

<チュートリアルフォルダ>\compressible\sonicDyMFoam

結果図

作業

基本的な流れはT703 OpenFoam tipsと同じです。(または作業

//コマンド:メッシュ作成
blockMesh

//計算実行//
sonicDyMFoam

//ParaView用VTK変換//
foamToVTK

全体構造

sonicDyMFoam     
├ 0                           
│ ├ p                        
│ ├ pointMotionUx            
│ ├ T                        
│ └ U                        
├ constant                    
│ ├ dynamicMeshDict          
│ ├ thermophysicalProperties 
│ └ turbulenceProperties     
└ system                      
   ├ blockMeshDict            
   ├ controlDict              
   ├ fvSchemes                
   └ fvSolution               

0

p

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

internalField   uniform 1e5;

boundaryField
{
    movingWall
    {
        type            zeroGradient;
    }

    farFieldMoving
    {
        type            zeroGradient;
    }

    fixedWall
    {
        type            zeroGradient;
    }

    left
    {
        type            totalPressure;
        p0              $internalField;
    }

    farField
    {
        type            zeroGradient;
    }

    back
    {
        type            wedge;
    }

    front
    {
        type            wedge;
    }
}

pointMotionUx

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

internalField   uniform 0;

boundaryField
{
    movingWall
    {
        type            uniformFixedValue;
        uniformValue    constant 160;
    }

    farFieldMoving
    {
        type            slip;
    }

    fixedWall
    {
        type            uniformFixedValue;
        uniformValue    constant 0;
    }

    left
    {
        type            uniformFixedValue;
        uniformValue    constant 0;
    }

    farField
    {
        type            slip;
    }

    back
    {
        type            wedge;
    }

    front
    {
        type            wedge;
    }
}

T

dimensions      [0 0 0 1 0 0 0];

internalField   uniform 300;

boundaryField
{
    movingWall
    {
        type            zeroGradient;
    }

    farFieldMoving
    {
        type            zeroGradient;
    }

    fixedWall
    {
        type            zeroGradient;
    }

    left
    {
        type            inletOutlet;
        inletValue      $internalField;
    }

    farField
    {
        type            zeroGradient;
    }

    back
    {
        type            wedge;
    }

    front
    {
        type            wedge;
    }
}

U

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

internalField   uniform (0 0 0);

boundaryField
{
    movingWall
    {
        type            movingWallVelocity;
        value           $internalField;
    }

    farFieldMoving
    {
        type            noSlip;
    }

    fixedWall
    {
        type            noSlip;
    }

    left
    {
        type            pressureInletOutletVelocity;
        value           $internalField;
    }

    farField
    {
        type            noSlip;
    }

    back
    {
        type            wedge;
    }

    front
    {
        type            wedge;
    }
}

constant

dynamicMeshDict

dynamicFvMesh   dynamicMotionSolverFvMesh;

motionSolverLibs (fvMotionSolvers);

motionSolver    velocityComponentLaplacian;

component       x;
diffusivity     directional (1 200 0);

thermophysicalProperties

thermoType
{
    type            hePsiThermo;
    mixture         pureMixture;
    transport       const;
    thermo          hConst;
    equationOfState perfectGas;
    specie          specie;
    energy          sensibleInternalEnergy;
}

mixture
{
    specie
    {
        molWeight   28.9;
    }
    thermodynamics
    {
        Cp          1007;
        Hf          2.544e+06;
    }
    transport
    {
        mu          1e-3;
        Pr          0.7;
    }
}

turbulenceProperties

simulationType  laminar;

system

blockMeshDict

scale   0.001;

mergeType points;   // Wedge geometry - Merge points instead of topology

vertices
(
    (-7.5 0 0)
    (-7 0 0)
    (-3.5 0 0)
    (0 0 0)
    (-7.5 0.75 -0.032745707)
    (-7 0.75 -0.032745707)
    (-3.5 2 -0.087321886)
    (0 2 -0.087321886)
    (-7.5 2.5 -0.10915236)
    (-7 2.5 -0.10915236)
    (-3.5 2.5 -0.10915236)
    (0 2.5 -0.10915236)
    (-7.5 0.75 0.032745707)
    (-7 0.75 0.032745707)
    (-3.5 2 0.087321886)
    (0 2 0.087321886)
    (-7.5 2.5 0.10915236)
    (-7 2.5 0.10915236)
    (-3.5 2.5 0.10915236)
    (0 2.5 0.10915236)
);

blocks
(
    hex (0 1 5 4 0 1 13 12) (15 15 1) simpleGrading (1 1 1)
    hex (2 3 7 6 2 3 15 14) (20 20 1) simpleGrading (2 0.25 1)
    hex (4 5 9 8 12 13 17 16) (15 15 1) simpleGrading (1 1 1)
    hex (5 6 10 9 13 14 18 17) (50 15 1) simpleGrading (1 1 1)
    hex (6 7 11 10 14 15 19 18) (20 15 1) simpleGrading (2 1 1)
);

edges
(
);

boundary
(
    movingWall
    {
        type wall;
        faces
        (
            (1 5 13 1)
            (5 6 14 13)
            (2 2 14 6)
        );
    }
    farFieldMoving
    {
        type patch;
        faces
        (
            (9 17 18 10)
        );
    }
    fixedWall
    {
        type wall;
        faces
        (
            (3 7 15 3)
            (7 11 19 15)
        );
    }
    axis
    {
        type empty;
        faces
        (
            (0 1 1 0)
            (2 3 3 2)
        );
    }
    left
    {
        type patch;
        faces
        (
            (0 0 12 4)
            (4 12 16 8)
        );
    }
    farField
    {
        type patch;
        faces
        (
            (8 16 17 9)
            (10 18 19 11)
        );
    }
    back
    {
        type wedge;
        faces
        (
            (0 4 5 1)
            (2 6 7 3)
            (4 8 9 5)
            (5 9 10 6)
            (6 10 11 7)
        );
    }
    front
    {
        type wedge;
        faces
        (
            (0 1 13 12)
            (2 3 15 14)
            (12 13 17 16)
            (13 14 18 17)
            (14 15 19 18)
        );
    }
);

mergePatchPairs
(
);

controlDict

application     sonicDyMFoam;

startFrom       startTime;

startTime       0;

stopAt          endTime;

endTime         0.00002;

deltaT          1e-08;

writeControl    adjustable;

writeInterval   5e-7;

purgeWrite      10;

writeFormat     binary;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;

adjustTimeStep  yes;

maxCo           0.2;

fvSchemes

ddtSchemes
{
    default         Euler;
}

gradSchemes
{
    default         Gauss linear;
}

divSchemes
{
    default         none;

    div(phi,U)      Gauss vanLeerV;

    div(phi,e)      Gauss vanLeer;
    div(phid,p)     Gauss vanLeer;
    div(phi,K)      Gauss vanLeer;

    div(phiv,p)     Gauss linear;
    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
    default         Gauss linear corrected;

    laplacian(diffusivity,cellMotionU) Gauss linear uncorrected;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default         corrected;
}

fvSolution

solvers
{
    p
    {
        solver          PBiCGStab;
        preconditioner  DILU;
        tolerance       1e-06;
        relTol          0.01;
    }

    pFinal
    {
        $p;
        relTol          0;
    }

    "pcorr.*"
    {
        solver          PCG;
        preconditioner  DIC;
        tolerance       1e-2;
        relTol          0;
    }

    "rho.*"
    {
        solver          diagonal;
        tolerance       1e-05;
        relTol          0;
    }

    "(U|h|e)"
    {
        solver          smoothSolver;
        smoother        symGaussSeidel;
        tolerance       1e-05;
        relTol          0.1;
    }

    "(U|h|e)Final"
    {
        $U;
        relTol          0;
    }

    cellMotionUx
    {
        solver          PCG;
        preconditioner  DIC;
        tolerance       1e-08;
        relTol          0;
    }
}

PIMPLE
{
    momentumPredictor   yes;
    correctPhi          yes;
    nOuterCorrectors    2;
    nCorrectors         2;
    transonic           yes;
    nNonOrthogonalCorrectors 0;

    rhoMin              0.1;
    rhoMax              100.0;
}

relaxationFactors
{
    equations
    {
        ".*"        1;
    }
}

コメント

Translate »
タイトルとURLをコピーしました