谢谢李老师的回复,我去试一下ESI的SHM。
目前看来如果将质量控制降低一些,尤其是对正交性要求降低,边界层看上去会好一点。但是我之所以用SHM,就是因为它可以一开始就将网格质量直接作为控制参数。
S
Static
@Static
帖子
-
snappyHexMesh生成三维外形添加边界层的相关问题? -
snappyHexMesh增加边界层失败@gogo 请问你现在有在边界层生成功吗?我看了一下你的文件,觉得你的边界层网格设置的不好,finalThickness太小,这样即便生出来长宽比也会很大
-
snappyHexMesh生成三维外形添加边界层的相关问题?本人最近刚开始使用SHM生成一个飞机的半模网格,发现边界层总是没法达到想要的效果。具体来说有曲率的物面上效果不好或根本长不出来,但是在比较平的物面上边界层可以长出来。我想要的效果是使得边界层尽量平铺物面长出来。
如下图机头部分
机尾
我调节了挺长时间参数,总是没有什么改进,请问各位这种问题有什么解决的办法?主要修改什么参数?
贴上snappyHexMesh的配置,希望有哪位大神可以帮忙看看哪里有问题,我的surfaceFeature的 includedAngle取的是150°
castellatedMesh true; snap true; addLayers true; geometry { aircraft { type triSurfaceMesh; file "aircraft.obj"; } refinementBox { type searchableBox; min (-30 -30 -30); max (45 0 30); } }; castellatedMeshControls { maxLocalCells 5000000; maxGlobalCells 50000000; minRefinementCells 3; maxLoadUnbalance 0.10; nCellsBetweenLevels 3;//1; features ( { file "aircraft.eMesh"; level 8; } ); refinementSurfaces { aircraft { level (6 8); patchInfo { type wall; inGroups (wingGroup); } } } resolveFeatureAngle 30; refinementRegions { refinementBox { mode inside; levels ((1E15 4)); } } locationInMesh (-10 0 0); allowFreeStandingZoneFaces no;//true; } snapControls { nSmoothPatch 3; tolerance 1; nSolveIter 300; nRelaxIter 5; nFeatureSnapIter 10; implicitFeatureSnap true;//false; explicitFeatureSnap false;//true; multiRegionFeatureSnap true;//false; } addLayersControls { relativeSizes true; expansionRatio 1.2; finalLayerThickness 0.5; minThickness 0.05; layers { "aircraft.*" { nSurfaceLayers 10; } } nGrow 0; featureAngle 180; //30; // slipFeatureAngle 75; nSmoothSurfaceNormals 1; nSmoothNormals 3; nSmoothThickness 10; maxFaceThicknessRatio 0.5; minMedianAxisAngle 80;//90; maxThicknessToMedialRatio 0.3; nBufferCellsNoExtrude 0; nLayerIter 100; meshQualityControl::relaxed; nRelaxedIter 20; nRelaxIter 8; } meshQualityControls { maxNonOrtho 55; maxBoundarySkewness 20; maxInternalSkewness 4; maxConcave 80; minVol 1e-13; minArea 1e-13; //-1; minTetQuality 1e-30; //1e-15; minTwist 0.05;//0.02; minDeterminant 0.001; minFaceWeight 0.05;//0.02; minVolRatio 0.01;//-0.01; minTriangleTwist -1; nSmoothScale 4; errorReduction 0.75; relaxed { maxNonOrtho 65; } } debug 0; mergeTolerance 0.001;
-
pimple算法非定常计算时残差持续增加最终发散如何解决?@东岳 东岳老师,问题已解决。非定常计算一开始要求时间步长要比较小,先得到一个较稳定的流场,在别的求解器里可能会先用稳态求解器算一个初场。而我上面的算例一开始时间步长较大,到后面越来越不稳定最终发散。开始用变时间步长让对应的库郎数从1以下慢慢增加即可。
-
pimple算法非定常计算时残差持续增加最终发散如何解决?最近使用rhoPimpleFoam算一个翼型的气动特性,总是在算很长时间后突然发散,发现p和e的残差在不断增加最后导致发散
我计算时取的时间步长基本让最大库郎数稳定在80以下,pimple设置如下:73 PIMPLE 74 { 75 momentumPredictor yes; 76 nOuterCorrectors 15; 77 nCorrectors 4; 78 nNonOrthogonalCorrectors 1; 79 rhoMin 0.1; 80 rhoMax 5.0; 81 pMinFactor 0.5; 82 pMaxFactor 2.0; 83 84 }
空间和时间离散格式如下
18 ddtSchemes 19 { 20 default backward; 21 } 22 23 gradSchemes 24 { 25 default Gauss linear; 26 limited cellLimited Gauss linear 1; 27 grad(U) $limited; 28 grad(k) $limited; 29 grad(kU) $limited; 30 grad(omega) $limited; 31 grad(omegaU) $limited; 32 } 33 34 divSchemes 35 { 36 default none; 37 div(phi,U) Gauss linearUpwind limited; 38 39 turbulence Gauss linearUpwind limited; 40 energy Gauss linearUpwind limited; 41 42 div(phi,k) $turbulence; 43 div(phi,kU) $turbulence; 44 div(phi,omega) $turbulence; 45 div(phi,omegaU) $turbulence; 46 47 div(phi,e) $energy; 48 div(phi,h) $energy; 49 div(phi,K) $energy; 50 div(phi,Ekp) $energy; 51 52 div(phiv,p) Gauss upwind; 53 div((phi|interpolate(rho)),p) Gauss upwind; 54 55 div(phi,ReThetat) $turbulence; 56 div(phi,gammaInt) $turbulence; 57 58 div(B) Gauss linear; 59 div(meshPhi,p) Gauss linear; 60 61 div((nuEff*dev2(T(grad(U))))) Gauss linear; 62 div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear; 63 div(nonlinearStress) Gauss linear; 64 }
网格是blockMesh做的,比较简单,因为要保证边界层密度所以纵横比比较大。请问导致发散的主要原因是什么?什么方法可以改善?我个人不希望再降低时间步长,因为目前已经很小了,采用pimple算法也是由于它能够在较大的库郎数下计算。谢谢各位!~
-
关于rhoCentralFoam计算高超声速问题时温度出现负值的原因@longming 你好,我在使用rhoPimpleFoam时遇到了同样的问题,请问你的问题现在解决了吗?