大家新春快乐!
在模拟波浪与刚性植物相互作用时遇到了波面振荡的问题,想请教一下各位大佬是什么原因导致。
模拟草图如下,将植物概化为直径0.01m的圆柱,水深0.15m,波高0.05m,G1~7是波高测点,在水池的中心线上,波浪自左向右传播。左侧边界为速度造波,右侧边界为主动式消波,湍流模型参考文献选择了k-ω SST,侧面用了cyclic边界。
之前植物区域长度为0.545m时的模拟结果较好,但是植物区域变长为1.635之后就只在G4、G5处发生了波面振荡,如下图
大家新春快乐!
在模拟波浪与刚性植物相互作用时遇到了波面振荡的问题,想请教一下各位大佬是什么原因导致。
模拟草图如下,将植物概化为直径0.01m的圆柱,水深0.15m,波高0.05m,G1~7是波高测点,在水池的中心线上,波浪自左向右传播。左侧边界为速度造波,右侧边界为主动式消波,湍流模型参考文献选择了k-ω SST,侧面用了cyclic边界。
我把完整算例以及部分设置文件贴在下面,希望各位大佬帮忙指点一下
boundary
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
7
(
inlet
{
type patch;
nFaces 150;
startFace 9636710;
}
outlet
{
type patch;
nFaces 150;
startFace 9636860;
}
ground
{
type wall;
inGroups 1(wall);
nFaces 25852;
startFace 9637010;
}
top
{
type patch;
nFaces 25852;
startFace 9662862;
}
front
{
type cyclic;
inGroups 1(cyclic);
nFaces 117640;
startFace 9688714;
matchTolerance 0.0001;
transform unknown;
neighbourPatch back;
}
back
{
type cyclic;
inGroups 1(cyclic);
nFaces 117640;
startFace 9806354;
matchTolerance 0.0001;
transform unknown;
neighbourPatch front;
}
CTHREE //vegetation
{
type wall;
inGroups 1(wall);
nFaces 256800;
startFace 9923994;
}
)
k
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0.0001;
boundaryField
{
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
ground
{
type kqRWallFunction;
value $internalField;
}
front
{
type cyclic;
}
back
{
type cyclic;
}
top
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
".*"
{
type kqRWallFunction;
value $internalField;
}
}
omega
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 -1 0 0 0 0];
internalField uniform 0.0001;
boundaryField
{
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
ground
{
type omegaWallFunction;
value $internalField;
}
front
{
type cyclic;
}
back
{
type cyclic;
}
top
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
".*"
{
type omegaWallFunction;
value $internalField;
}
}
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;
}
front
{
type cyclic;
}
back
{
type cyclic;
}
top
{
type calculated;
value uniform 0;
}
ground
{
type nutkWallFunction;
value uniform 0;
}
".*"
{
type nutkWallFunction;
value uniform 0;
}
}
fvSolution
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
"alpha.water.*"
{
nAlphaCorr 1;
nAlphaSubCycles 3;
cAlpha 1;
MULESCorr yes;
nLimiterIter 3;
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-8;
relTol 0;
}
"pcorr.*"
{
solver PCG;
preconditioner DIC;
tolerance 1e-6;
relTol 0;
}
p_rgh
{
solver PCG;
preconditioner DIC;
tolerance 1e-6;
relTol 0.1;
}
p_rghFinal
{
solver GAMG;
smoother DIC;
tolerance 1e-7;
relTol 0;
}
U
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-6;
relTol 0.1;
}
UFinal
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-6;
relTol 0;
}
"(U|k|omega).*"
{
solver smoothSolver;
smoother symGaussSeidel;
nSweeps 1;
tolerance 1e-6;
relTol 0.1;
};
}
PIMPLE
{
momentumPredictor no;
nCorrectors 2;
nNonOrthogonalCorrectors 0;
}
relaxationFactors
{
equations
{
".*" 1;
}
}
fvSchemes
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default none;
div(rhoPhi,U) Gauss linearUpwind grad(U);
div(phi,alpha) Gauss vanLeer;
div(phirb,alpha) Gauss linear;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
"div\(phi,(k|omega)\)" Gauss upwind;
}
laplacianSchemes
{
default Gauss linear orthogonal;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected;//orthogonal;
}
wallDist
{
method meshWave;
}
算例文件
taC3.zip (64.6 KB)