拉格朗日粒子在平行運算下的問題
-
大家好,先簡單說一下我的狀況:
最近在仿真超音速下sprayFoam的問題,固定Equivalence ratio情況下, 粒子在每個timeStep下的數量都非常巨量。但平行運算下即使我使用64核計算機計算情況下運算速度覺得不理想。後來發現如果parcel injection並非均勻的話(i.e. 某位置injection), 即使Mesh 被decompose成n個domain,大量什至全部的拉格朗日粒子仍然只會被一個processor所處理,Eularian-phase早就算完,處理器都在等某processorN計算粒子。目前想到是手動decompose 整個computational domain(例如injection的附多切好幾個subdomain),看到decomposeParDict有MANUAL的type,但需手動一個一個cell的label放在input file,而且對於cell number非常多的問題非常不實際。 想請問各位大大有解決方法或者想法嗎?
Regards,
Rick -
可neng你的粒子源就在很小区域位置释放,所以导致进程不平均。建议在每个时间步网格重组,每个进程都有global mesh,在global mesh进行粒子输运, 就能解决这个问题啦!However, it is a little hard.
-
如果是静态网格 global mesh 可以只重组一次,就能节省通信时间。动态网格这个方法也不是特别好,需要测试一下。OpenFOAM这个粒子输运库我想改改,太慢了
-
@r07522121 google MPI load balance
2020年3月24日 14:16
4/8
2020年4月9日 07:45