OpenFOAM-1.5 中 paraview-3.3-cvs 的编译

原来采用默认的设置编译 OpenFOAM 所需的 paraview,虽然某种程度上能够使用,但没有 Mesa, python 和 MPI 支持。所以要保存后处理的结果的时候就会出一堆错误,而且不支持 python 的话让人很不爽。

编译过程还是使用 OpenFOAM 带的脚本 buildParaView3.3-cvs。

第一步先修改脚本中的 User Option,将相关的选项打开。

  1. # MPI suport
  2. INCLUDE_MPI=ON
  3. # python
  4. INCLUDE_PYTHON=ON
  5. PYTHON_LIBRARY="/usr/lib/libpython2.5.so.1.0"
  6. # MESA graphics
  7. INCLUDE_MESA=ON
 
第二步可以先执行脚本试试,然后根据错误进行修正。依赖的软件包括 python,Mesa 和 MPI,其中 MPI 不用管,python 和 mesa 就用已经安装的。如果没有的话,先确认安装一下。由于脚本默认的 Mesa 安装位置是 /usr,而已经安装的 Mesa 在 /usr/local,结果就出错了。

  1. *** Error: no MESA information found"
 不用急,bash 脚本还是熟悉的,根据 buildParaView3.3-cvs 的内容,找到了 buildParaViewFunctions。这里需要修正一下 Mesa 的搜索路径。

  1. addMesaSupport ()
  2. {
  3.     [ "$INCLUDE_MESA" = ON ] || return
  4.     MESA_INCLUDE_DIR=/usr/local/include/GL
  5.     MESA_LIBRARY=/usr/local/lib$WM_COMPILER_LIB_ARCH/libOSMesa.so
  6.     if [ -d "$MESA_INCLUDE_DIR" -a -f "$MESA_LIBRARY" ]; then
  7.         OBJ_ADD="$OBJ_ADD-mesa"
  8.         addCMakeVariable "VTK_OPENGL_HAS_OSMESA=ON"
  9.         addCMakeVariable "OSMESA_INCLUDE_DIR=$MESA_INCLUDE_DIR"
  10.         addCMakeVariable "OSMESA_LIBRARY=$MESA_LIBRARY"
  11.     else
  12.         echo "*** Error: no MESA information found"
  13.         exit 1
  14.     fi
  15. }

这样就完成了,执行脚本,然后等着。之后,更新一下 PV3FoamReader 模块。最后秀一个图吧。

OpenFOAM-1.5 中 paraview-3.3-cvs 的编译_第1张图片

你可能感兴趣的:(python,C/C++,CFD,software,Linux)