版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dsfsdffgfd/article/details/81841754
OpenFOAM的源码包含海量的文件,如果通过鼠标一个文件一个文件的查找信息,不仅效率低,而且很有可能找不到自己想要寻找的内容。因此,下面介绍通过Linux命令行来进行查找信息的方法,不仅适用于OpenFOAM,同样适用于其它在Linux下的信息查找。
1、定位文件
// 定位src中文件名包含fvPatch的文件
find $FOAM_SRC -name "*fvPatch*"
// 定位tutorial中文件名包含Dict的文件
find $FOAM_TUTORIALS -name "*Dict"
2、查找文件内的字符串
// 查找solvers中包含字符串LES的文件,并给出line number
grep -r -n LES $FOAM_SOLVERS
3、查找哪个算例使用了slip边界
// 在tutorial中查找哪个算例使用了slip边界
find $FOAM_TUTORTIALS -type f | xargs grep -sl 'slip'
4、查找哪个求解器不能并行计算
// $WM_PROJECT_DIR代表整个OpenFOAM安装文件路径
find $WM_PROJECT_DIR -type f | xargs grep -sl 'noParallel'
5、查找continuity error是怎样计算的
find $FOAM_SRC -iname "*continuity*"
6、查找求解压力p和U所用的矩阵求解器,并统计次数
foamSearch -c $FOAM_TUTORIALS solvers.p.solver fvSolution
// 执行后,输出结果
59 solver GAMG
3 solver PBiCG
18 solver PCG
5 solver smoothSolver
foamSearch -c $FOAM_TUTORIALS solvers.U.solver fvSolution
// 执行后,输出结果
1 solver GAMG
1 solver PBiCCCG
29 solver PBiCG
3 solver PCG
143 solver smoothSolver
7、查找默认的时间离散格式有哪些
foamSearch -c $FOAM_TUTORIALS ddtSchemes.default fvSchemes
// 执行后,输出结果
230
5 default backward
2 default CrankNicolson
154 default Euler
6 default localEuler
20 default none
43 default steadyState