Steady-state CFD simulation of Honda's concept car (PUYO), Part 2 of 3 (Calculation Setup)

Honda makes it possible for us to download the 3D data of their concept cars at http://honda-3d.com.

In this case, I downloaded the 3D data of PUYO, and performed a steady-state simulation using simpleFoam.

Here are the simulation setups.

Turbulence model: realizableKE

Initial Condition: generated by potentialFoam

Relaxation factors: 0.3 for p, 0.7 for U, k, epsilon

Numerical schemes:
gradSchemes: cellMDLimited central difference
divSchemes: Gamma
laplacianSchemes: limited
snGradSchemes: limited

I used limited schemes for grad, laplacian, snGrad, because of the high max non-orthogonality (> 60).

Inlet velocity: 10 m/s

Tyre rotation: 39.8 rad/s


================================
RASProperties:
RASModel        realizableKE;
turbulence      on;
printCoeffs     on;
fvSolution:
solvers
{
    "p"
    {
        solver          GAMG;
        tolerance       1e-9;
        relTol          0;
        smoother        GaussSeidel;
        nPreSweeps      0;
        nPostSweeps     2;
        cacheAgglomeration true;
        nCellsInCoarsestLevel 10;
        agglomerator    faceAreaPair;
        mergeLevels     1;
    }
    "(U|k|epsilon)"
    {
        solver          PBiCG;
        preconditioner  DILU;
        tolerance       1e-8;
        relTol          0;
    }
}
potentialFlow
{
    nNonOrthogonalCorrectors 20;
}
SIMPLE
{
    nNonOrthogonalCorrectors 2;
    pRefCell 0;
    pRefValue 0;
}
relaxationFactors
{
    fields
    {
        p       0.3;
    }
    equations
    {
        U       0.7;
        k       0.7;
        epsilon 0.7;
    }
}
fvSchemes:
ddtSchemes
{
    default         steadyState;
}
gradSchemes
{
    default         cellMDLimited Gauss linear 0.333;
}
divSchemes
{
    default         none;
    div(phi,U)      bounded Gauss GammaV 1;
    div(phi,k)      bounded Gauss Gamma 1;
    div(phi,epsilon) bounded Gauss Gamma 1;
    div((nuEff*dev(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
    default         Gauss linear limited 0.333;
}
interpolationSchemes
{
    default         linear;
}
snGradSchemes
{
    default          limited 0.333;
}
fluxRequired
{
    default         no;
    p               ;
}
U:
dimensions      [0 1 -1 0 0 0 0];
internalField   uniform (10 0 0);
boundaryField
{
    inlet
    {
        type            fixedValue;
        value           uniform (10 0 0);
    }
    outlet
    {
        type            zeroGradient;
    }
    side
    {
        type            slip;
    }
    car_body
    {
        type            fixedValue;
        value           uniform (0 0 0);
    }
    car_tyre_fl
    {
        type            rotatingWallVelocity;
          origin          ( -0.002252161 -0.726322139 0.2510928011 );
          axis            ( 0 -1 0 );
          omega           39.82591279;
    }
    car_tyre_fr
    {
        type            rotatingWallVelocity;
          origin          ( -0.002252161 0.726322139 0.2510928011 );
          axis            ( 0 -1 0 );
          omega           39.82591279;
    }
    car_tyre_rl
    {
        type            rotatingWallVelocity;
          origin          ( 1.8270661572 -0.726322139 0.2510928011 );
          axis            ( 0 -1 0 );
          omega           39.82591279;
    }
    car_tyre_rr
    {
        type            rotatingWallVelocity;
          origin          ( 1.8270661572 0.726322139 0.2510928011 );
          axis            ( 0 -1 0 );
          omega           39.82591279;
    }
    ground
    {
        type            fixedValue;
        value           uniform (10 0 0);
    }
}
p:
dimensions      [0 2 -2 0 0 0 0];
internalField   uniform 0;
boundaryField{    inlet    {        type            zeroGradient;    }
    outlet    {        type            fixedValue;        value           uniform 0;    }
    side    {        type            slip;    }
    car_body    {        type            zeroGradient;    }    car_tyre_fl    {        type            zeroGradient;    }    car_tyre_fr    {        type            zeroGradient;    }    car_tyre_rl    {        type            zeroGradient;    }    car_tyre_rr    {        type            zeroGradient;    }
    ground    {        type            zeroGradient;    }}
k:
dimensions      [0 2 -2 0 0];
internalField   uniform 0.375;
boundaryField
{
    inlet
    {
        type            fixedValue;
        value           uniform 0.375;
    }
    outlet
    {
        type            zeroGradient;
    }
    side
    {
        type            slip;
    }
    car_body
    {
        type            kqRWallFunction;
        value           uniform 0.375;
    }
    car_tyre_fl
    {
        type            kqRWallFunction;
        value           uniform 0.375;
    }
    car_tyre_fr
    {
        type            kqRWallFunction;
        value           uniform 0.375;
    }
    car_tyre_rl
    {
        type            kqRWallFunction;
        value           uniform 0.375;
    }
    car_tyre_rr
    {
        type            kqRWallFunction;
        value           uniform 0.375;
    }
    ground
    {
        type            kqRWallFunction;
        value           uniform 0.375;
    }
}
epsilon:
dimensions      [0 2 -3 0 0 0 0];
internalField   uniform 0.08158251199;
boundaryField{    inlet    {        type            fixedValue;        value           uniform 0.08158251199;    }    outlet    {        type            zeroGradient;    }    car_body    {        type            epsilonWallFunction;        value           uniform 0.08158251199;    }    car_tyre_fl    {        type            epsilonWallFunction;        value           uniform 0.08158251199;    }    car_tyre_fr    {        type            epsilonWallFunction;        value           uniform 0.08158251199;    }    car_tyre_rl    {        type            epsilonWallFunction;        value           uniform 0.08158251199;    }    car_tyre_rr    {        type            epsilonWallFunction;        value           uniform 0.08158251199;    }    ground    {        type            epsilonWallFunction;        value           uniform 0.08158251199;    }    side    {        type            slip;    }}
nut:
dimensions      [0 2 -1 0 0 0 0];
internalField   uniform 0;
boundaryField{    inlet    {        type            calculated;        value           uniform 0;    }
    outlet    {        type            calculated;        value           uniform 0;    }
    side    {        type            calculated;        value           uniform 0;    }
    ground    {        type            nutkWallFunction;        value           uniform 0;    }
    car_body    {        type            nutkWallFunction;        value           uniform 0;    }    car_tyre_fl    {        type            nutkWallFunction;        value           uniform 0;    }    car_tyre_fr    {        type            nutkWallFunction;        value           uniform 0;    }    car_tyre_rl    {        type            nutkWallFunction;        value           uniform 0;    }    car_tyre_rr    {        type            nutkWallFunction;        value           uniform 0;    }}

Comments