计算圆管绕流,的流固耦合fsiFoam的Floating point exception (core dumped)



  • 计算圆管绕流,的流固耦合fsiFoam,库郎数和残差较大,第一个时间步长都计算不过去。使用了foam-extend3.1,迭代了30次都无法收敛,请教大神如何才能降低库郎数和残差让他收敛

    Time = 0.00025, iteration: 30
    Maximal accumulated displacement of interface points: 0.0030560221
    GAMG:  Solving for cellMotionUx, Initial residual = 0.91131119, Final residual = 0.00072219997, No Iterations 1
    GAMG:  Solving for cellMotionUy, Initial residual = 0.8372583, Final residual = 0.00018220686, No Iterations 4
    GAMG:  Solving for cellMotionUz, Initial residual = 0.83907808, Final residual = 0.00074754473, No Iterations 3
    GAMG:  Solving for cellMotionUx, Initial residual = 0.005840706, Final residual = 3.3755319e-06, No Iterations 5
    GAMG:  Solving for cellMotionUy, Initial residual = 0.0014240355, Final residual = 9.3916646e-07, No Iterations 5
    GAMG:  Solving for cellMotionUz, Initial residual = 0.0037156885, Final residual = 2.0135642e-06, No Iterations 5
    Evolving flow model
    Courant Number mean: 0.12920764 max: 2.1173853 velocity magnitude: 5.8284982
    DILUPBiCG:  Solving for Ux, Initial residual = 0.00050711718, Final residual = 6.735853e-07, No Iterations 3
    DILUPBiCG:  Solving for Uy, Initial residual = 0.00036428585, Final residual = 8.7737472e-07, No Iterations 3
    DILUPBiCG:  Solving for Uz, Initial residual = 0.0016313381, Final residual = 1.5961465e-07, No Iterations 4
    GAMG:  Solving for p, Initial residual = 0.00108613, Final residual = 7.8685153e-07, No Iterations 8
    GAMG:  Solving for p, Initial residual = 0.00019371718, Final residual = 5.401407e-07, No Iterations 5
    time step continuity errors : sum local = 2.3989423e-09, global = -6.1017797e-11
    GAMG:  Solving for p, Initial residual = 0.0003988323, Final residual = 4.1675183e-07, No Iterations 7
    GAMG:  Solving for p, Initial residual = 4.9145888e-05, Final residual = 5.1093922e-07, No Iterations 4
    time step continuity errors : sum local = 2.270261e-09, global = 2.9434889e-10
    GAMG:  Solving for p, Initial residual = 8.1696621e-05, Final residual = 5.3236835e-07, No Iterations 5
    GAMG:  Solving for p, Initial residual = 7.3969174e-06, Final residual = 4.311989e-07, No Iterations 2
    time step continuity errors : sum local = 1.915783e-09, global = 2.5707342e-10
    DILUPBiCG:  Solving for epsilon, Initial residual = 0.00031614333, Final residual = 1.050823e-07, No Iterations 3
    DILUPBiCG:  Solving for k, Initial residual = 0.0012814958, Final residual = 4.2631276e-07, No Iterations 3
    Setting traction on solid patch
    Total force (fluid) = (-459.15346 -1.0986824 6.7686718e-06)
    Total force (solid) = (459.1594 1.0991446 -6.379015e-06)
    
    Time = 0.00025, iteration: 30
    Maximal accumulated displacement of interface points: 0.065467478
    GAMG:  Solving for cellMotionUx, Initial residual = 0.79783225, Final residual = 4.939853e-06, No Iterations 1
    GAMG:  Solving for cellMotionUy, Initial residual = 0.98797867, Final residual = 0.00038088437, No Iterations 1
    GAMG:  Solving for cellMotionUz, Initial residual = 0.99921705, Final residual = 0.00017911438, No Iterations 1
    GAMG:  Solving for cellMotionUx, Initial residual = 1.2711546e-05, Final residual = 4.7196981e-07, No Iterations 3
    GAMG:  Solving for cellMotionUy, Initial residual = 0.00037198031, Final residual = 6.6720231e-07, No Iterations 4
    GAMG:  Solving for cellMotionUz, Initial residual = 0.00017081592, Final residual = 5.0439818e-07, No Iterations 4
    Evolving flow model: consistentIcoFlow
    Courant Number mean: 0.0090301047 max: 0.065159774 velocity magnitude: 0.057301147
    DILUPBiCG:  Solving for Ux, Initial residual = 0.0026059227, Final residual = 7.4154757e-07, No Iterations 1
    DILUPBiCG:  Solving for Uy, Initial residual = 0.014165186, Final residual = 4.8137205e-09, No Iterations 2
    DILUPBiCG:  Solving for Uz, Initial residual = 0.008498764, Final residual = 2.0793996e-09, No Iterations 2
    Consistent backwardDdtPhiCorr
    GAMG:  Solving for p, Initial residual = 0.051049597, Final residual = 9.9704343e-07, No Iterations 126
    GAMG:  Solving for p, Initial residual = 0.020685413, Final residual = 9.673727e-07, No Iterations 32
    time step continuity errors : sum local = 3.1839476e-08, global = -2.5816328e-09
    Consistent backwardDdtPhiCorr
    GAMG:  Solving for p, Initial residual = 0.0063770573, Final residual = 9.5379753e-07, No Iterations 28
    GAMG:  Solving for p, Initial residual = 0.0017021007, Final residual = 7.7514105e-07, No Iterations 7
    time step continuity errors : sum local = 2.5870532e-08, global = -3.2020508e-09
    Consistent backwardDdtPhiCorr
    GAMG:  Solving for p, Initial residual = 0.00032173865, Final residual = 8.340539e-07, No Iterations 6
    GAMG:  Solving for p, Initial residual = 6.000076e-05, Final residual = 9.9786163e-07, No Iterations 3
    time step continuity errors : sum local = 3.324389e-08, global = 1.4105992e-09
    Setting traction on solid patch
    Total force (fluid2) = (-0.032864973 -7.3826261e-06 -8.2297438e-06)
    Total force (solid) = (0.032882651 4.759419e-06 8.2338506e-06)
    Evolving stress model
    DICPCG: Solving for D, Initial residula = 9.4105628e-05, Final residual = 7.0815126e-05, No outer iterations = 62
    Max relative residual = 0.00010949815, Relative residual = 9.6889967e-08, enforceLinear = 0
    here. rheol
    Current fsi relative residual norm: 0.99756477
    there. rheo? 
    ExecutionTime = 393.24 s  ClockTime = 393 s
    
    forces output:
        forces(pressure, viscous)((459.60513 1.099789 -6.5750415e-06) (0.45167049 0.0011065994 1.9363028e-07))
        moment(pressure, viscous)((-0.27504867 114.90181 -0.00011651384) (-0.00027659408 0.11291678 -1.6157571e-05))
    
    forceCoeffs output:
        Cd = 13.047032
        Cl = 0.031220971
        Cm = -7.5250194e-06
    
    Time = 0.0005
    
    
    Time = 0.0005, iteration: 1
    Modes before clean-up : 28, modes after clean-up : 28
    Maximal accumulated displacement of interface points: 131520.66
    GAMG:  Solving for cellMotionUx, Initial residual = 0.99999997, Final residual = 0.00059804825, No Iterations 3
    GAMG:  Solving for cellMotionUy, Initial residual = 1, Final residual = 0.00018112037, No Iterations 4
    GAMG:  Solving for cellMotionUz, Initial residual = 1, Final residual = 0.00071242028, No Iterations 3
    GAMG:  Solving for cellMotionUx, Initial residual = 0.00030676863, Final residual = 6.1484473e-07, No Iterations 4
    GAMG:  Solving for cellMotionUy, Initial residual = 9.0611988e-05, Final residual = 9.4170358e-07, No Iterations 3
    GAMG:  Solving for cellMotionUz, Initial residual = 0.00035888355, Final residual = 5.823629e-07, No Iterations 4
    Evolving flow model
    Courant Number mean: 4.4963525 max: 8386.7294 velocity magnitude: 223638.76
    DILUPBiCG:  Solving for Ux, Initial residual = 0.99999848, Final residual = 1.0000271, No Iterations 1000
    DILUPBiCG:  Solving for Uy, Initial residual = 0.99997733, Final residual = 0.99997733, No Iterations 1000
    DILUPBiCG:  Solving for Uz, Initial residual = 0.99999992, Final residual = 0.99999992, No Iterations 1000
    Floating point exception (core dumped)
    
    * 列表
    外侧流体 	epsilon 	k 	nut 	p 	pointmotion U 	U 	
    INLET 	inletOutlet 	inletOutlet 	calculated 	zeroGradient 	fixedValue 	fixedValue 	
    OUTLET 	inletOutlet 	inletOutlet 	calculated 	fixedValue 	fixedValue 	zeroGradient 	
    FRONT_AND_BACK 	epsilonWallFunction 	kqRWallFunction 	nutkWallFunction 	zeroGradient 	fixedValue 	fixedValue 	
    UP_AND_DOWN 	epsilonWallFunction 	kqRWallFunction 	nutkWallFunction 	zeroGradient 	fixedValue 	fixedValue 	
    INTERFACE_INTERFACE 	epsilonWallFunction 	kqRWallFunction 	nutkWallFunction 	zeroGradient 	fixedValue 	movingWallVelocity 	
    内侧流体 	epsilon 	k 	nut 	p 	pointmotion U 	U 	
    INLET 	inletOutlet 	inletOutlet 	calculated 	zeroGradient 	fixedValue 	fixedValue 	
    OUTLET 	inletOutlet 	inletOutlet 	calculated 	fixedValue 	zeroGradient 	zeroGradient 	
    INTERFACEWATER 	epsilonWallFunction 	kqRWallFunction 	nutkWallFunction 	zeroGradient 	fixedValue 	movingWallVelocity 	
    固体 	D 	pointD 	密度 	弹性模量 	泊松比 		
    OUTERWALL 	tractionDisplacement 	calculated 	6500 	7.80E+10 	0.37 		
    INNERWALL 	tractionDisplacement 	calculated 					
    UP_AND_DOWN 	fixedValue 	fixedValue 		
    
    控制条件为
    application     fsiFoam.rheo;
    
    startFrom       startTime;
    
    startTime       0;
    
    stopAt          endTime;
    
    endTime         0.42;
    
    deltaT          2.5e-4;
    
    writeControl    runTime;
    
    writeInterval   2.5e-3;
    
    purgeWrite      0;
    
    writeFormat     ascii;
    
    writePrecision  8;
    
    writeCompression uncompressed;
    
    timeFormat      general;
    
    timePrecision   6;
    
    runTimeModifiable yes;
    
    adjustTimeStep  yes;
    
    maxCo           0.01;
    
    maxdeltaT       2.5e-3;
    
    fsi设置如下
    solidPatch OUTERWALL;
    solidZone OUTERWALL_zone;
    
    fluidPatch INTERFACE_INTERFACE;
    fluidZone INTERFACE_zone;
    
    solidPatch2 INNERWALL;
    solidZone2 INNERWALL_zone;
    
    fluid2Patch INTERFACEWATER;
    fluid2Zone INTERFACEWATER_zone;
    
    relaxationFactor 0.01;
    
    interfaceDeformationLimit 0;
    
    outerCorrTolerance 1e-6;
    nOuterCorr 20;
    
    interpolatorUpdateFrequency 0;
    
    //couplingScheme FixedRelaxation;
    //couplingScheme Aitken;
    
    couplingScheme IQN-ILS;
    couplingReuse 1;
    
    coupled yes;
    


  • 请问你解决了吗,我最近也遇到了同样的问题。我不是刚开始出现的,我是计算到三分之一的时候出现的这个问题


  • Linux讲师 OpenFOAM讲师

    库朗数大就减小时间步啊,如果一个时间步冲出网格,怎么都收敛不了



  • @bestucan 对哦,我发现我的也是库朗数是1.9。害,没发散就没往库朗数那边考虑,一语惊醒梦中人,谢谢



  • @bestucan 你看下我这个,我的最大库朗数还是很小的,但是每次都要迭代到最大次数30才能推进下一个时间步 1.png 2.png


  • Linux讲师 OpenFOAM讲师

    @炎冰灬灬 看看这是残差监视设的太低了。就是fvSolution里的面tolerance。达不到这么小的值就认为还没收敛就继续算。你的30次迭代,残差都e-8了,太小了。relTol也会影响,一个相对的,一个绝对的。



  • @bestucan 我的耦合求解器设置的是e-6,流体也是e-6,固体是e-9。是不是固体这边设置的残差太小了呢?下面的截图依次是流体、耦合和固体的残差设置。残差.png 耦合.png guti.png


  • Linux讲师 OpenFOAM讲师

    @炎冰灬灬 我没做过,所以不清除多大合适。但是你说每次都计算到30次才进入下一个时间步是因为这个设置的。设大了,就不会要计算到30步才停了。或者把最大迭代步设大点。

    判断当前的残差还需不需要算,需要看残差图,看看随着迭代的增加残差是否还明显下降,如果残差线都平了,再算意义也不大了。如果还有很大的下降空间,再算算稳一些。


  • Linux讲师 OpenFOAM讲师

    OpenFOAM生成残差图,好像之前有人在论坛里讨论过



  • @bestucan 我设置的计算时间是6秒,前面都还好,算得很快,每次算到2秒的时候,就开始每个时间步迭代到30次了


  • Linux讲师 OpenFOAM讲师

    @炎冰灬灬 八成是算到两秒的时候,物理量开始急剧变化了(比如撞倒边界突然减速之类的),所以追踪起来比较费劲。那就让他算到30步。等后面这种变化平稳了,就不会每一步都要算到30步了



  • @bestucan 我算的是柔性翼形。我看自带算例里面,大概在两秒的时候,自带算例里面的固体开始出现变形。所以我在考虑两秒的时候是不是就是固体开始变形的时候呢,然后这个时候有什么东西导致了迭代出现30次



  • @bestucan 自带算例里面也是,从某一时刻开始一直到计算结束,每个时间步迭代为16次


  • Linux讲师 OpenFOAM讲师

    @炎冰灬灬 反正不崩了,能算下去就是希望₍₍ (ง ˘ω˘ )ว⁾⁾
    先过一遍再慢慢改善



  • @bestucan 有没有可能是差分格式或者是求解格式的问题呢


  • Linux讲师 OpenFOAM讲师

    @炎冰灬灬 判断差分和求解格式需要的理论深度比较深,我说不来。

    我目前的认知:如果是差分的问题,可能会造成特殊的结果,不符合实际(比如中心差分的棋盘压力,比如迎风算带回流的)。如果是求解格式,它会影响能不能收敛或者收敛的速度。

    可是的你的计算很正常,只是收敛的慢些,还不至于出错。可能会有另一种求解格式能快一些收敛。但是差分格式有没有问题要看物理场合不合预想,结果合不合实际。

    如果你那么在意单时间步内收敛步数。那就再缩短时间步。时间步越短,单时间步收敛的越快。当然计算同样的时间,需要的时间步越多。



  • @bestucan 谢谢,涨知识了。我在考虑要不要最大迭代次数变成50次,看看它是不是要迭代到50次,如果迭代不到50次,那就应该是30次不够收敛,如果迭代到了50次,就有点问题了感觉



  • @bestucan 我设置迭代50次,它还真的就迭代到了50次。。。


  • Linux讲师 OpenFOAM讲师

    @炎冰灬灬 所以要看残差线,如果随着迭代残差不再下降,迭代到天荒地老也不行啊:mihu:



  • @bestucan 对的,我正在监测,我看了自带算例的残差,0-2秒残差下降,2秒这一刻突然集体升高,然后2-4秒一直上升,4-6秒上下波动趋于稳定。然后我现在主要就是两秒这个时候在那疯狂迭代,我两秒之前和自带算例一样,残差是下降的


Log in to reply
 

CFD中文网 2016 - 2020 | 京ICP备15017992号-2