OpenFOAM301 isnan error

昨天逛了下OpenFOAM的主页,发现OpenFOAM更新到了4.0版本,于是心血来潮想要编译一下,把原来的OpenFOAM 3.0.1也wclean all了,结果今天来看时4.0版本没有编译成功,3.0.1也不行了,编译时出现错误 error: ‘isnan’ was not declared in this scope, 祭出Google来搜了下,发现有人提交了bug,于是按照说明修改了下src/conversion/ensight/part/ensightPart.H,在

// Static data memebers
static const List<word> elemTypes_;

后面,即在ensightPart.H第63行后面加上

// wrapper for isnan, namely C99 or C++11
inline bool isnan(const scalar value) const
{
#ifndef isnan
return std::isnan(value);
#else
return ::isnan(value);
#endif
}

编译继续。 至于OpenFOAM 4.0编译时出现错误:

fatal error: CGAL/Delaunay_triangulation_3.h: No such file or directory
 #include "CGAL/Delaunay_triangulation_3.h"

这应该是CGAL的问题了,查看了下ThirdParty目录,发现里面没有CGAL文件夹,于是 pacman -S cgal 将CGAL安装好,编译就可以继续了。话说应该可以有方法不让它编译foamyHexMesh(它依赖于cgal)的吧。

Qing Fan 02 July 2016
blog comments powered by Disqus