案例解析|翼型摆动cfd模拟

本项目为求解摆动翼型流场,湍流模型选用kOmegaSST,需分别设置对应fvSchemes离散方法,fvSolution方程求解方法,指定场函数setFieldsDict ,动网格运动参数及求解控制参数。

1.1 离散方法fvSchemes设置

ddtSchemes //时间离散格式,该项目瞬态计算采用欧拉离散Euler

{

default Euler;

}

gradSchemes//梯度离散,采用高斯方法,有界线性插值,为二阶离散

{

default cellLimited Gauss linear 1;

}

divSchemes//散度离散,对流项U采用带限制器高斯线性插值,为二阶离散,k、epsilon采用高斯迎风格式,为一阶离散。

{

default Gauss linear;

div(rhoPhi,U) Gauss linearUpwindV grad(U);

div(phi,alpha) Gauss vanLeer;

div(phirb,alpha) Gauss linear;

div(phi,k) Gauss upwind;

div(phi,epsilon) Gauss upwind;

div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;

}

laplacianSchemes//拉普拉斯项离散,扩散项及压力方程离散均采用高斯理论线性插值,并带有正交修正

{

default Gauss linear corrected;

}

interpolationSchemes//插值格式,默认线性插值

{

default linear;

}

snGradSchemes//梯度法向分量,默认带有非正交修正

{

default limited 1;

}

oversetInterpolation//嵌套网格插值格式

{

method inverseDistance;

}

wallDist

{

method meshWave;

}

1.2 方程求解方法fvSolution设置

solvers

{

cellDisplacement

{

solver PCG;

preconditioner DIC;

tolerance 1e-06;

relTol 0;

maxIter 100;

}

p

{

solver PBiCGStab;

preconditioner DILU;

tolerance 1e-6;

relTol 0.01;

minIter 2;

}

pFinal

{

solver PBiCGStab;

preconditioner DILU;

tolerance 1e-6;

relTol 0;

minIter 2;

}

"(U|k|epsilon|omega)"

{

solver PBiCGStab;

preconditioner DILU;

tolerance 1e-8;

relTol 0.0;

minIter 2;

}

"(U|k|epsilon|omega)Final"

{

$U;

tolerance 1e-8;

relTol 0;

minIter 2;

}

}

PIMPLE

{

momentumPredictor true;

correctPhi false;

oversetAdjustPhi false;

nOuterCorrectors 1;

nCorrectors 3;

nNonOrthogonalCorrectors 2;

ddtCorr true;

checkMeshCourantNo yes;

}

relaxationFactors

{

fields

{

}

equations

{

".*" 1;

}

}

1.3 域设置

defaultFieldValues

(

volScalarFieldValue zoneID 123

);

regions

(

cellToCell

{

set c0;

fieldValues

(

volScalarFieldValue zoneID 0

);

}

cellToCell

{

set c1;

fieldValues

(

volScalarFieldValue zoneID 1

);

}

);

1.4 动网格参数设置

dynamicFvMesh dynamicOversetFvMesh;

dynamicOversetFvMeshCoeffs

solver multiSolidBodyMotionSolver;

multiSolidBodyMotionSolverCoeffs

{

movingZone

{

solidBodyMotionFunction tabulated6DoFMotion;

CofG (0.33 -0.5 0);

timeDataFileName "$FOAM_CASE/constant/6DoF.dat";

}

}

1.5 求解控制参数设置

application pimpleDyMFoam;

startFrom startTime;

startTime 0;

stopAt endTime;

endTime 10;

deltaT 0.01;

writeControl runTime;

writeInterval 0.2;

purgeWrite 0;

writeFormat ascii;

writePrecision 10;

writeCompression off;

timeFormat general;

timePrecision 6;

runTimeModifiable true;

adjustTimeStep yes;

maxCo 4;

maxDeltaT 0.01;

functions

{}