编译安装
介绍HYMACS在不同平台上的编译和安装
源代码说明
便于说明,下文中[hymacs]表示HYMACS包的根目录。
HYMACS采用的第三方库
HYMACS采用C++开发,通过采用面向对象设计,使HYMACS具有良好的扩展性。HYMACS的开发采用了以下第三方库:
- MPI(message-passing library)库,在编译和运行HYMACS之前,确保您的目标机器上安装有MPI并行库。推荐采用MPICH2,这是HYMACS在Windows平台下开发过程中采用的并行库。但HYMACS同时也支持OpenMPI、MVAPI等常用MPI库,只需要在编译过程中作出相应的设置即可。
- muParser,HYMACS采用muParser来分析输入脚本中的变量操作。muParser源代码包含在了HYMACS包中。
- HDF5,用于HYMACS二进制文件的输入输出,以及与可视化软件MOLESHOW的对接。HDF5源代码包含在了HYMACS包中。
- Tetgen,用于在HYMACS中生成三维网格。Tetgen源代码包含在了HYMACS包中。
- Triangle, 用于在HYMACS中生成二维网格。Triangle源代码包含在了HYMACS包中。
HYMACS源码文件夹说明
在[hymacs]/src目录下包含有HYMACS的源代码,其中xlib目录是为HYMACS开发的通用函数库。hymacs目录则包含实现HYMACS功能的源代码文件。
Linux下编译
Linux下的HYMACS编译过程如下:
- 安装之前,确保系统已经安装有相应的MPI和HDF5库。
- 转到目录 [hymacs]/build/linux。
- 新建一个文件夹,命名为:Make_xxx(xxx可以任意,表示当前编译的平台)。
- 任意选择当前目录下其它的以"Make_“开头的文件夹,将其中的Makefile.*文件拷贝到新建的Make_xxx文件夹。
- 修改对应的 Makefile.hymacs 和 Makefile.xlib 文件,来设置当前编译环境的MPI和HDF5路径(如系统已经安装HDF5可使用
module load hdf5
加载相应的库)。 - 转到目录 [hymacs]/build/linux,采用命令:
make all dist=xxx
进行编译成生。 - 若需要清理已生成的编译文件,可采用命令:
make clean_all
。 - Hymacs的可执行文件将成成于[hymacs]/bin目录之下。
Windows下编译
在Windows下编译和生成,建议采用Visual Studio 2012,具体编译过程如下:
- 下载并安装 MPICH2
- 在[hymacs]/depends/muParser目录下,将muParser生成单独的库文件。
- 在[hymacs]/depends/tetgen目录下,将tetgen生成单独的库文件。
- 在[hymacs]/depends/triangle目录下,将triangle生成单独的库文件。
- 采用Visual Studio 2012打开[hymacs]/build/msvc2012目录下的hymacs.sln文件,修改MPI的包含路径以及库路径,点击编译成生即可。对应的库文件将生成于[hymacs]/lib目录下,对应的可执行文件将生成于[hymacs]/bin目录下。