OpenFOAM在macOS的正确打开方式: CMake & Xcode神器加成

摘要

在开始介绍之前,先问个问题:是否被OpenFOAM的调试过程所折磨?还在用Info不断的打印输出来达到调试的目的?更高级一点的,用gdb调试器? 这些跟xcode的强大调试功能相比都显得效率很低,且使用体验大打折扣。 OpenFOAM作为优秀开源软件的佼佼者,但同样存在不同平台部署和调试困难的问题。 然而,第一个好消息是本文作者在 MacOS原生OpenFOAM App: 用户指南 中提供了Mac系统下的一键部署解决方案; 第二个好消息就是本文介绍的在Mac系统下用cmake和xcode进行OpenFOAM求解器等程序开发,提升科研效率。 估计这应该是全网首例!

https://raw.githubusercontent.com/zguoch/PubPic/master/blog/MacOS_OpenFOAM_Xcode_Cmake.png

CMake构建项目

应该100%的OpenFOAMer都知道使用 wmake 进行编译和求解器的生成,鲜有人知甚至没有想过用CMake也能构建OpenFOAM项目, 而且还可以用Xcode进行调试。 使用CMake构建其实很简单,只需要在Mac安装OpenFOAM原生版本即可。 写一个 CMakeLists.txt 文件就行。

Xcode调试

CMakeLists.txt 写完之后,然后运行一行代码就可以生成xcode项目: cmake -GXcode .. . 然后就是用xcode打开这个项目文件,进行编写程序和调试了。 Xcode的调试功能非常强大,可以设置七八种断点,可以随时查看任何的变量值,还可以查看内存情况,线程情况,甚至堆栈使用情况等等,应有尽有。 而且是可视化交互式操作。 可参考 Xcode调试技巧总结 博文的简单总结。

https://raw.githubusercontent.com/zguoch/PubPic/master/blog/OpenFOAM_xcode_laplacianFoam.png

图 20 用xcode调试OpenFOAM求解器