Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
@Micro 网上见到的例子都是先分块,再并行地renumberMesh
@浪迹天大 好的,谢谢您!并行renumber应该是 renumberMesh -parallel 吧 能把您见到的例子分享下吗,谢谢!另外,您清楚为什么重排序后能够加速求解吗?感谢!
@Micro 最近正在用:mpirun -np 20 renumberMesh -parallel -overwrite。运行后会告诉你:
mpirun -np 20 renumberMesh -parallel -overwrite
After renumbering : Mesh size: 2687852 Before renumbering : band : 32282 profile : 2.13313e+10 band : 1914 profile : 2.13794e+09
具体原理不清楚。我也没对比过。不过我相信它至少不会使结果变坏,也不会使计算变慢。
@浪迹天大 谢谢!谢谢大佬!
@浪迹天大 最后一个问题大佬!如果是并行renumber,是全局(整个网格)整体重新编号,还是分配到每个进程上的网格子区域独自重新编号呢?感恩!
@浪迹天大 如果是全局(整个网格)整体重新编号,那么为啥非要先区域分解再renumber呢?感觉也可以先renumber再decompose吧?谢谢!
@Micro 肯定是局部啊,不然就不需要并行模式了。
@浪迹天大 @浪迹天大 那运行后输出的mesh size和band(也就是矩阵带宽)是全局矩阵还是局部矩阵呢?感恩!
另外我突然发现您居然是openfoam成长之路的博主,敬仰!
@Micro 不敢。看了一眼代码,mesh是全局的,band是局部的:
Info<< "Mesh size: " << mesh.globalData().nTotalCells() << nl << "Before renumbering :" << nl << " band : " << band << nl << " profile : " << profile << nl;
@浪迹天大 好的,谢谢!band是局部的,并且info语句只有主进程执行,所以band是分配在主进程上的网格对应的矩阵的带宽,对吗?可是我认为,每个进程都保留了全局A的一部分,难道renumber只是针对这个部分矩阵进行排序吗
@Micro 抱歉,这个工具的原理和实现我都不懂。无法做出更多判断。
@浪迹天大 好的,我自己看下,有进展再向您汇报
@random_ran 您好,想咨询一下,这么多的网格您是如何进行后处理的呢?paraview 会崩溃的吧?