等比例放大模型和加密网格后程序跑不通
-
好久不用openfoam了,问一个可能是手生引起的问题:我等比例放大一个集合模型后(2倍),又同时加密网格(2)倍,按理来说,网格大小跟原来算例的一样,可为什么跑到0.4s后就发散了?并且,时间步调整到非常小(用的是writeControl adjustableRunTime)是网格质量的问题(基本排除)还是程序设置(时间步设置成固定的1e-3也跑不动)的问题?增添细节:发散后流场某个位置会出现一个非常莫名其妙的极大值,但是这个位置的网格没有尖点或是扭曲。求教各位大神
错误代码:
Courant Number mean: 3.23333e+16 max: 6.60848e+21
deltaT = 1.46123e-51
--> FOAM Warning :
From function Time::operator++()
in file db/Time/Time.C at line 1055
Increased the timePrecision from 13 to 14 to distinguish between timeNames at time 1.10972
Time = 1.1097214228993Evolving kinematicCloud
smoothSolver: Solving for Ux, Initial residual = 0.701011, Final residual = 9.69034e-06, No Iterations 94
smoothSolver: Solving for Uy, Initial residual = 0.861352, Final residual = 9.45844e-06, No Iterations 90
smoothSolver: Solving for Uz, Initial residual = 0.779098, Final residual = 9.84775e-06, No Iterations 21
GAMG: Solving for p, Initial residual = 1, Final residual = 0.00756131, No Iterations 5
time step continuity errors : sum local = 4.1672e-08, global = -2.23119e-12, cumulative = -6.04932e+10
GAMG: Solving for p, Initial residual = 8.07324e-13, Final residual = 8.07324e-13, No Iterations 0
time step continuity errors : sum local = 1.07325e+53, global = 6.39537e+36, cumulative = 6.39537e+36
[1] #0 Foam::error::printStack(Foam::Ostream&)[0] #0 Foam::error::printStack(Foam::Ostream&) at ??:?
[1] #1 Foam::sigFpe::sigHandler(int) at ??:?
[0] #1 Foam::sigFpe::sigHandler(int) at ??:?
[1] #2 at ??:?
[0] #2 in "/lib/x86_64-linux-gnu/libc.so.6"
[1] #3 Foam::multiply(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/lib/x86_64-linux-gnu/libc.so.6"
[0] #3 Foam::multiply(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) at ??:?
[1] #4 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::operator*<Foam::fvPatchField, Foam::volMesh>(Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
[0] #4 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::operator*<Foam::fvPatchField, Foam::volMesh>(Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
[1] #5 Foam::RASModels::kEpsilon<Foam::PhaseIncompressibleTurbulenceModelFoam::singlePhaseTransportModel >::correct() at ??:?
[0] #5 Foam::RASModels::kEpsilon<Foam::PhaseIncompressibleTurbulenceModelFoam::singlePhaseTransportModel >::correct() at ??:?
[0] #6 at ??:? -
(放大两倍的模型)
Create timeCreate polyMesh for time = 0
Time = 0
Mesh stats
points: 2902677
faces: 8492768
internal faces: 8280352
cells: 2795520
faces per cell: 6
boundary patches: 7
point zones: 0
face zones: 1
cell zones: 2Overall number of cells of each type:
hexahedra: 2795520
prisms: 0
wedges: 0
pyramids: 0
tet wedges: 0
tetrahedra: 0
polyhedra: 0Checking topology...
Boundary definition OK.
Cell to face addressing OK.
Point usage OK.
Upper triangular ordering OK.
Face vertices OK.
Number of regions: 1 (OK).Checking patch topology for multiply connected surfaces...
Patch Faces Points Surface topology
inlet 3040 3157 ok (non-closed singly connected)
lowerWall 24160 24846 ok (non-closed singly connected)
innerWall 69888 70797 ok (non-closed singly connected)
outerWall 69888 70797 ok (non-closed singly connected)
upperWall 32240 33087 ok (non-closed singly connected)
outflow 4080 4223 ok (non-closed singly connected)
snowBed 9120 9389 ok (non-closed singly connected)Checking geometry...
Overall domain bounding box (-2.19998 -1.2 -1) (2.2 1.2 0)
Mesh (non-empty, non-wedge) directions (1 1 1)
Mesh (non-empty) directions (1 1 1)
Boundary openness (1.26117e-15 6.75462e-15 -2.66071e-16) OK.
Max cell openness = 3.69512e-16 OK.
Max aspect ratio = 3.2953 OK.
Minimum face area = 5.55661e-05. Maximum face area = 0.00018708. Face area magnitudes OK.
Min volume = 5.60807e-07. Max volume = 1.99623e-06. Total volume = 3.65304. Cell volumes OK.
Mesh non-orthogonality Max: 59.6884 average: 18.0232
Non-orthogonality check OK.
Face pyramids OK.
Max skewness = 1.25424 OK.
Coupled point location match (average 0) OK.Mesh OK.
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
(原来一倍的模型)
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create timeCreate polyMesh for time = 0
Time = 0
Mesh stats
points: 376467
faces: 1074872
internal faces: 1021768
cells: 349440
faces per cell: 6
boundary patches: 7
point zones: 0
face zones: 1
cell zones: 2Overall number of cells of each type:
hexahedra: 349440
prisms: 0
wedges: 0
pyramids: 0
tet wedges: 0
tetrahedra: 0
polyhedra: 0Checking topology...
Boundary definition OK.
Cell to face addressing OK.
Point usage OK.
Upper triangular ordering OK.
Face vertices OK.
Number of regions: 1 (OK).Checking patch topology for multiply connected surfaces...
Patch Faces Points Surface topology
snowBed 2280 2415 ok (non-closed singly connected)
outflow 1020 1092 ok (non-closed singly connected)
upperWall 8060 8484 ok (non-closed singly connected)
outerWall 17472 17927 ok (non-closed singly connected)
innerWall 17472 17927 ok (non-closed singly connected)
lowerWall 6040 6384 ok (non-closed singly connected)
inlet 760 819 ok (non-closed singly connected)Checking geometry...
Overall domain bounding box (-1.1 -0.6 -0.5) (1.1 0.6 0)
Mesh (non-empty, non-wedge) directions (1 1 1)
Mesh (non-empty) directions (1 1 1)
Boundary openness (4.76581e-16 1.4229e-16 -3.77148e-15) OK.
Max cell openness = 3.18475e-16 OK.
Max aspect ratio = 1.89439 OK.
Minimum face area = 9.06159e-05. Maximum face area = 0.000205752. Face area magnitudes OK.
Min volume = 9.19344e-07. Max volume = 2.03919e-06. Total volume = 0.45664. Cell volumes OK.
Mesh non-orthogonality Max: 17.2092 average: 2.46502
Non-orthogonality check OK.
Face pyramids OK.
Max skewness = 0.392591 OK.
Coupled point location match (average 0) OK.Mesh OK.
End
-
@yuhxFoamer
不是老师哈,我最近也在做网格验证,所以可以一起讨论下。
1.最小网格尺寸看起来变化了,网格的质量好像也不一致,看起来不是结构网格。要考虑设置相同的计算参数。
2.几何尺寸发生变化会导致雷诺数、参考面积这些的变化。我看你的计算域在三个方向上都发生了改变,检查一下基于这些几何参数的其他量是不是也相对需要改动。你可以按照这个方案来检查,首先在原本能够顺利计算的网格上直接加密,看看是否发散。然后使用缩放命令改变网格(不再加密)transformPoints -scale "( 2 2 1)",设置对应尺寸下的物理参数计算验证。一般来说没有很密的边界层的话可以这样调整,这样不行的话就进一步考虑离散方法和数值精度的调整,先用一阶的,再反复调整这样。