openfoam提高计算速度有哪些方法
-
原来并没有考虑过这样的问题,但是现在因为做别的课题了,触类旁通吧。仅代表个人意见
首先,我认为是网格,你的网格是不是够好,对你关注的区域是不是密集的,不需要关注的区域是不是需要稀疏的网格,你稀疏的区域是不是对你整体的结果没有影响,或者说你稀疏的区域是不是不重要。你的几何是不是太大,或者太小,需不需要考虑类似backflow等问题。
其次,时间步长是多少?Co是多少?等等
再次,在网格数量和核心数量这边就是有相关性的,你如何分配每个核心有多少网格。比如你有一个计算密集区,你就分配一个核心,那肯定其他的算力就被浪费了。你如何decompose也是个学问。
再次,你是不是用了正确的迭代方法,GAMG还是什么,这些参数你有没有挑对,你调参数对结果是不是有影响?收敛标准是什么?
再次,你得看你自己植入的模型是不是写的足够的好。是不是你植入的模型有更好的算法。比如一个循环,你想想是不是有没有用的iteration,是不是有更好的方法,可不可以屏蔽一些无效计算
最后,你可以考虑比如说OF是不是可以用别的编译器,不用GCC, Intel,你可以用其他的工具分析性能,找到你的程序里面的hotspot等。
你的问题太general,希望有同样问题的小伙伴看到帖子,能有所帮助
祝收敛~