单核与并行时输出的区别



  • 最近在求解器中加了一个输出,输出量是rho*alpha*V(气相密度*气相体积分数*计算域体积)
    单核输出的情况如下:

     output update massOfBubbles0 7.87118497833e-12
     output update massOfBubbles  7.87118889713e-12
    

    至始至终都相差不大。
    然而开并行在计算的时候输出的时候出现如下情况:
    刚开始是这样:

     output update massOfBubbles0 4.23997812699e-14
     output update massOfBubbles  7.87118889736e-12
    

    计算到一定时间步之后出现这样的情况:

     output update massOfBubbles0  4.23997812699e-14
     output update massOfBubbles    3.42961774122e-12
    

    在这里的massOfBubbles0是在createFileds里计算的,所以一直不变,massOfBubbles是在求解完压力泊松方程后更新密度后再计算的。
    疑问是:同样的算例,为什么开并行跟单核计算输出massOfBubbles0massOfBubbles会有区别呢?


  • 网格教授 OpenFOAM教授 管理员

    -12之后在有的机器上要小于机器精度了。所以不用管它了。



  • @李东岳 我觉得不是机器精度的问题,我用单核能够计算出较为符合的结果,用多核计算的结果相差较大(跟自带的算例相比)。
    0_1512441830812_结果差异.jpg



  • @影川风 的确差别很大