OpenFOAM 作为一款开源软件,含有丰富的数据库和代码资源。通过文件或链接查找源代码,不仅效率低,而且还有可能找不到需要的信息。
下面介绍通过Linux指令查找信息的方法:
- 在 src 目录下寻找某.H 或者.C 文件/在案例目录下寻找某字典文件
// 在 src 目录下寻找某.H 或者.C 文件
find $FOAM_SRC -name "*.[CH]" -type f//correctPhi.H
//在案例目录下寻找某字典文件
find $FOAM_TUTORIALS -name "*Dict"
注:默认情况下,find 是区分大小写的。对于不区分大小写的信息,将
-name
替换为-iname
- 在src目录下,查找包含
kepsilon
的.C或者.H文件
find $FOAM_SRC -name "*.[CH]" | xargs grep -l -i kepsilon
- 查找不能并行计算的求解器
find $WM_PROJECT_DIR -type f | xargs grep -sl 'noParallel'
- 查找使用了 cyclic 边界的算例
find $FOAM_TUTORIALS -type f | xargs grep -sl 'cyclic'
- 查找计算了连续性误差(continuity error)的算例
find $FOAM_TUTORIALS -type f | xargs grep -sl 'continuity'
注: 以下命令 OpenFOAM 5.0 以上适用
- 查找在所有 tutorials 中求解压力 p 和 U 所用的矩阵求解器,并统计次数
foamSearch -c $FOAM_TUTORIALS fvSolution solvers.p.solver
foamSearch -c $FOAM_TUTORIALS fvSolution solvers.U.solver
- 列出在 Tutorials 里面使用的时间离散格式
foamSearch -c $FOAM_TUTORIALS fvSchemes ddtSchemes.default
参考:
-
http://oracle.com/cn/technical-resources/articles/linux-calish-find.html
-
https://forum.cfdac.com/t/topic/455