请问为什么OpenFOAM会比Fluent计算快?
-
因为方向的需求,仿真对象一般都是物理时间几个小时起步的热实验。之前我们基本都是用Fluent来算,在自己的服务器上算1s大概需要1200s(从论文和交流了解到大家都差不多也都是这个速度),所以开销比较大。最近意外的发现使用OpenFOAM的计算时间缩短为50s左右(网格是使用
foam3DMeshToFoam
直接转的,计算结果经过调整后也基本相同)。我查了一些资料,普遍认为Fluent毕竟是商业软件,在细节的调校上会优于OpenFOAM,因此计算速度也应该更快些。请问有没有大佬能指导一下为什么会这样
物理过程:封闭腔体内气液两相混合物受热的蒸发过程
使用的OpenFOAM求解器:略微修改的compressibleInterFoam
-
1200s缩短为50s,这个听起来差别太大了吧?我也发现OpenFOAM比FLUENT可能稍微快一点,但不会大到像你这个有两个数量级的差别。说“可能”的原因是,OpenFOAM和FLUENT做不到线性求解器完全相同,没法很准确的去比较。
FLUENT线性求解器大量采用多重网格技术,OpenFOAM里面选择就多了。我知道的是,如果是并行计算,多重网格因为不同核之间需要交换信息而网格相当于有好几套,反而会拖慢速度。这种情况下OpenFOAM里面的线性求解器反而会快一些。
说一点不同的意见。我认为商业软件不意味着算得更快,只是说算起来更稳定(或者至少能给你一个结果)。比如FLUENT很多地方只让用迎风格式,大大加强了计算的稳定性。一个算例放到FLUENT里面基本上无脑就可以算,OpenFOAM就没这么灵活。另外,FLUENT里面在你勾选了一些设置之后它接下来只会让你选择它认为更匹配的其他设置,而OpenFOAM没有这个限制,原则上任何设置都可以放在一起用,这也是为什么FLUENT显得稍微好用一些的原因。
-
@cccrrryyy 我确实也觉得这个提升太夸张了,如果不是结果算对了我可能会重新看看求解器有没有写错...
我完全赞同您的观点,Fluent确实更稳定一些,甚至最开始的时候很多设置明明是错的也能得到结果(当然这也给后期的工作造成了一些误导)。只是在查两者计算速度的时候看到有人提到Fluent似乎“应该”更快一些。
我的计算都是在组里的小服务器上算的(单节点50核左右),可能确实有交换信息的问题,但是可能没那么突出?我也想到了可能是Fluent可以设置的地方太多了,有些地方可能只是打了一个勾就明显拖慢了计算的速度。除此之外,Fluent计算和保存的数据比OF多一些,因为它是大而全的处理器,所以对我这个计算不那么重要的数据算了一大堆。但是OpenFOAM我就只算了必要的几个场。
但是我不清楚这些不同会不会让计算时间缩短这么多...
-
刚发现提供的信息有点少,现在把改过的设置都放上来请大家参照一下@ @
Fluent:
求解器:
intelMPI, Pressure-Based, Transient, VOF(evaporation-condensation, 0.1)->(这里是用了UDF的地方,但是不用速度也差不多)
SST-k omega(默认) SIMPLE, 二阶迎风,松弛因子压力和动量改成了0.2-0.4。变步长最大Co1.0。
物性:
气体: PengRobinSonRealGas,其他物性2-3阶多项式拟合;
液体:2-3阶多项式拟合;
边界:
全部都是定热流的wall。OpenFOAM:
compressibleInterFoam(参照interCondensatingEvaporatingFoam和icoReactingMultiPhaseFoam做了蒸发冷凝的功能)
fvSolution和fvSchemes和教程中depthCharge3D中的基本一致
边界也都是定热流的wall都是比较常规的设置,Fluent单步的步长比OpenFOAM要大,但是每一步计算的时间都长很多。
附单步迭代的信息:
OpenFOAMPIMPLE: iteration 1 Tsat min/max: 80.181136, 80.247495 MULES: Solving for alpha.liquid Phase-1 volume fraction = 0.51083031 Min(alpha.liquid) = -3.856554e-19 Max(alpha.liquid) = 1 Tsat min/max: 80.181136, 80.247495 MULES: Solving for alpha.liquid Phase-1 volume fraction = 0.51083032 Min(alpha.liquid) = -3.8121024e-19 Max(alpha.liquid) = 1 Tsat min/max: 80.181136, 80.247495 dmdtNet Min/Max = -14.671404, 0.014690669 smoothSolver: Solving for T, Initial residual = 2.1393496e-07, Final residual = 1.5003722e-10, No Iterations 1 min/max(T) = 77.605204, 205.25453 Tsat min/max: 80.181136, 80.247495 GAMG: Solving for p_rgh, Initial residual = 0.00095227022, Final residual = 1.5511687e-06, No Iterations 2 Tsat min/max: 80.181149, 80.247508 GAMGPCG: Solving for p_rgh, Initial residual = 3.5730969e-05, Final residual = 4.5624732e-08, No Iterations 2 smoothSolver: Solving for epsilon, Initial residual = 0.00017132906, Final residual = 6.8634692e-10, No Iterations 2 smoothSolver: Solving for k, Initial residual = 5.1282064e-05, Final residual = 5.9328133e-11, No Iterations 2 ExecutionTime = 38531.31 s ClockTime = 38630 s Courant Number mean: 0.0013264008 max: 0.093482513 Interface Courant Number mean: 0.00010650775 max: 0.086589298 deltaT = 0.0078032335 Time = 2371.64461
Fluent:
Global Courant Number [Variable Time Step Criteria] : 1.000000 Updating solution at time level N... Global Courant Number [Explicit VOF Criteria] : 0.401506 done. physical-dt 7.0533e-03 iter continuity x-velocity y-velocity z-velocity energy k omega uds-0 uds-1 uds-2 uds-3 time/iter 378845 3.4443e-03 7.4834e-08 1.7722e-07 8.4802e-08 2.7444e-11 3.5311e-09 3.4612e-09 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:00 50 378846 1.7348e+01 6.9973e-03 1.2052e-02 6.9842e-03 9.9895e-06 4.4626e-03 4.0640e-03 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:49 49 Interrupting at the end of timestep. 378847 3.4815e+00 4.7497e-03 5.4942e-02 5.0623e-03 1.2069e-07 1.4736e-03 3.8117e-03 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:38 48 378848 2.9977e+00 3.1421e-03 5.6644e-02 3.3267e-03 1.2558e-06 7.9539e-04 1.9987e-03 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:39 47 378849 1.2080e+00 2.1748e-03 4.8020e-02 2.2187e-03 7.3282e-07 5.9542e-04 1.3687e-03 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:31 46 378850 8.6966e-01 1.4942e-03 4.0897e-02 1.4858e-03 2.1947e-08 4.6336e-04 7.9309e-04 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:24 45 378851 6.8811e-01 1.0188e-03 3.3542e-02 1.0270e-03 8.7177e-09 2.9763e-04 3.9274e-04 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:28 44 378852 5.8073e-01 7.0182e-04 2.7173e-02 7.6750e-04 9.5772e-08 1.8172e-04 1.8759e-04 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:22 43 378853 5.3692e-01 5.3621e-04 2.2038e-02 6.3227e-04 5.8170e-08 1.0728e-04 9.3101e-05 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:25 42 378854 4.5448e-01 4.3891e-04 1.7867e-02 5.4102e-04 2.9606e-09 6.1895e-05 5.0058e-05 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:20 41 378855 3.8447e-01 3.6896e-04 1.4415e-02 4.6896e-04 5.6247e-09 3.6698e-05 3.0128e-05 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:23 40 iter continuity x-velocity y-velocity z-velocity energy k omega uds-0 uds-1 uds-2 uds-3 time/iter 378856 3.3015e-01 3.1262e-04 1.1634e-02 4.0507e-04 4.9572e-09 2.3493e-05 2.0253e-05 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:18 39 378857 2.7745e-01 2.6668e-04 9.4143e-03 3.4592e-04 1.0535e-09 1.6748e-05 1.4701e-05 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:14 38 378858 2.3252e-01 2.2920e-04 7.6248e-03 2.9420e-04 1.1210e-09 1.2696e-05 1.1017e-05 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:19 37 378859 1.9462e-01 1.9401e-04 6.1676e-03 2.4997e-04 1.0988e-09 9.6986e-06 8.2737e-06 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:14 36 378860 1.6188e-01 1.6209e-04 4.9825e-03 2.0981e-04 4.9028e-10 7.3564e-06 6.2046e-06 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:18 35 378861 1.3445e-01 1.3550e-04 4.0196e-03 1.7539e-04 4.0848e-10 5.5568e-06 4.6415e-06 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:14 34 378862 1.1154e-01 1.1313e-04 3.2405e-03 1.4599e-04 4.1076e-10 4.1948e-06 3.4757e-06 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:18 33 378863 9.2579e-02 9.3990e-05 2.6188e-03 1.2056e-04 5.7101e-10 3.1690e-06 2.6054e-06 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:14 32 378864 7.6537e-02 7.7585e-05 2.1142e-03 9.9562e-05 2.8031e-10 2.3981e-06 1.9606e-06 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:17 31 378865 6.3182e-02 6.3877e-05 1.7063e-03 8.2046e-05 2.2622e-10 1.8242e-06 1.4817e-06 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:13 30 378866 5.2162e-02 5.2492e-05 1.3770e-03 6.7482e-05 2.2715e-10 1.3937e-06 1.1252e-06 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:16 29 iter continuity x-velocity y-velocity z-velocity energy k omega uds-0 uds-1 uds-2 uds-3 time/iter 378867 4.2969e-02 4.3074e-05 1.1112e-03 5.5418e-05 1.3508e-10 1.0696e-06 8.5871e-07 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:12 28 378868 3.5363e-02 3.5306e-05 8.9661e-04 4.5449e-05 1.0888e-10 8.2461e-07 6.5957e-07 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:09 27 378869 2.9082e-02 2.8907e-05 7.2347e-04 3.7235e-05 9.2262e-11 6.3807e-07 5.0846e-07 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:12 26 378870 2.3971e-02 2.3705e-05 5.8154e-04 3.0525e-05 6.6142e-11 4.9811e-07 3.9486e-07 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:10 25 378871 1.9709e-02 1.9380e-05 4.6905e-04 2.4966e-05 5.3191e-11 3.9020e-07 3.0861e-07 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:12 24 378872 1.6191e-02 1.5819e-05 3.7877e-04 2.0392e-05 4.7621e-11 3.0595e-07 2.4215e-07 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:09 23 378873 1.3332e-02 1.2936e-05 3.0475e-04 1.6673e-05 3.4573e-11 2.4177e-07 1.9115e-07 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:12 22 378874 1.0955e-02 1.0553e-05 2.4611e-04 1.3608e-05 2.7992e-11 1.9173e-07 1.5171e-07 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:09 21 378875 8.9954e-03 8.6002e-06 1.9901e-04 1.1098e-05 2.3739e-11 1.5253e-07 1.2082e-07 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:07 20 378876 7.3847e-03 7.0089e-06 1.6101e-04 9.0497e-06 2.0773e-11 1.2127e-07 9.6339e-08 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:09 19 378877 6.0787e-03 5.7267e-06 1.2972e-04 7.3914e-06 1.4919e-11 9.7050e-08 7.7220e-08 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:07 18 iter continuity x-velocity y-velocity z-velocity energy k omega uds-0 uds-1 uds-2 uds-3 time/iter 378878 4.9943e-03 4.6712e-06 1.0491e-04 6.0301e-06 1.2072e-11 7.7824e-08 6.2116e-08 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:08 17 378879 4.1015e-03 3.8081e-06 8.4964e-05 4.9174e-06 1.0264e-11 6.2522e-08 5.0093e-08 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:06 16 378880 3.3681e-03 3.1058e-06 6.8847e-05 4.0110e-06 9.0611e-12 5.0126e-08 4.0364e-08 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:08 15 378881 2.7743e-03 2.5420e-06 5.5536e-05 3.2794e-06 6.4648e-12 4.0483e-08 3.2706e-08 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:06 14 378882 2.2820e-03 2.0764e-06 4.4982e-05 2.6779e-06 5.2388e-12 3.2736e-08 2.6560e-08 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:04 13 378883 1.8769e-03 1.6953e-06 3.6490e-05 2.1863e-06 4.4704e-12 2.6502e-08 2.1599e-08 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:06 12 378884 1.5441e-03 1.3851e-06 2.9619e-05 1.7860e-06 3.9710e-12 2.1395e-08 1.7541e-08 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:04 11 378885 1.2745e-03 1.1348e-06 2.3929e-05 1.4616e-06 2.8385e-12 1.7412e-08 1.4340e-08 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:05 10 378886 1.0507e-03 9.2914e-07 1.9415e-05 1.1960e-06 2.2983e-12 1.4190e-08 1.1754e-08 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:04 9 378887 8.6644e-04 7.6065e-07 1.5778e-05 9.7847e-07 1.9721e-12 1.1584e-08 9.6529e-09 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:04 8 378888 7.1490e-04 6.2323e-07 1.2831e-05 8.0127e-07 1.6393e-12 9.4759e-09 7.9462e-09 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:03 7 iter continuity x-velocity y-velocity z-velocity energy k omega uds-0 uds-1 uds-2 uds-3 time/iter 378889 5.9033e-04 5.1121e-07 1.0437e-05 6.5658e-07 1.4488e-12 7.7358e-09 6.5362e-09 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:02 6 !378890 solution is converged 378890 4.8934e-04 4.2061e-07 8.4459e-06 5.3920e-07 1.0344e-12 6.3703e-09 5.4173e-09 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0:00:02 5 Flow time = 106.9029003888784s, time step = 8002
提前谢过各位大佬!