boost_1_33_1.tar.gz
deal.nodoc-6.0.0.tar.gz AFEPack-snapshot.tar.gz mpich2-1.4.1p1.tar easymesh.c.gz
gmsh-2.5.0-linux.tgz
2. 安装 boost 头文件
将boost_1_33_1.tar.gz解压缩,解压缩了以后会得到一个目录,请将这个目录下的名为 boost 的子目录拷贝到 /usr/local/include 下去;
3. 安装 deal.II 的 base 和 lac 部分
请将deal.nodoc-6.0.0.tar.gz解压缩到 /usr/local 下,然后进入得到的子目录,运行 ./configure make base lac
进行编译,编译过后,请将相应的头文件和库 文件链接到位: 链接头文件: cd /usr/local/include ln -sf ../deal.II/base/include/base . ln -sf ../deal.II/lac/include/lac .
链接库文件: cd /usr/local/lib ln -sf ../deal.II/lib/lib* .
记得要将 /usr/local/lib 加入到缺省的共享库搜索路径中,就是在文件 /etc/ld.so.conf
文件中,加入一行 /usr/local/lib ,然后运行 /sbin/ldconfig
即可。另外,deal.II 的随机文档可以通过在 /usr/local/deal.II 目录下运行 make doc
来获得。
4. 安装MPICH2
4.1. 解压mpich2-1.4.1p1.tar tar xzf mpich2-1.4.1p1.tar.gz
cd mpich2-1.4.1p1 4.2. 选择安装目录
$MPIHOME,我们选的是MPIHOME =/usr/local/mpich2 4.3. 编译MPICH2
对于csh 和 tcsh内核:
./configure --prefix= $MPIHOME |& tee c.txt
对于bash 和sh内核:
./configure --prefix= $MPIHOME 2>&1 | tee c.txt
编译中出现的大多数错误,都容易解决,如提示错误如下:
\"No Fortran 77 compiler found. If you don't need to build any Fortran programs, you can disable Fortran support using --disable-f77 and --disable-fc. If you do want to build
Fortran programs, you need to install a Fortran compiler such as gfortran or ifort before you can proceed.\"
意思是说你的系统中没有安装Fortran编译器,你可以安装一个或者利用-disable-f77 和 -disable-fc,去除fortran支持。 4.4. Build MPICH2:
对于csh 和 tcsh内核: make |& tee m.txt 对于bash 和sh内核: make 2>&1 | tee m.txt 4.5 安装 MPICH2
对于csh 和 tcsh内核:
make install |& tee mi.txt
对于bash 和sh内核:
make install 2>&1 | tee mi.txt 4.6. 修改.bashrc文件,加入bin路径 对于csh 和 tcsh内核:
setenv PATH $MPIHOME /bin:$PATH 对于bash 和sh内核:
PATH= $MPIHOME /bin:$PATH ; export PATH 4.7. 检查安装是否成功,输入 which mpicc which mpiexec 将会显示你的bin路径
5. 安装AFEPack
请将AFEPack-snapshot.tar.gz解压缩到 /usr/local 下,得到子目录 AFEPack,然后运行 cd /usr/local/AFEPack aclocal autoconf automake ./configure Make Make时会出现错误:
src/MPI.cpp:12:17: 错误:mpi.h:没有那个文件或目录 src/MPI.cpp:20: 错误:'MPI_Comm' 在此作用域中尚未声明 src/MPI.cpp:20: 错误:expected ',' or ';' before '{' token src/MPI.cpp:43: 错误:expected `}' at end of input gmake[4]: *** [obj/MPI.o] 错误 1
gmake[4]: Leaving directory `/usr/local/AFEPack/library/mpi' make[3]: *** [all] 错误 2
make[3]: Leaving directory `/usr/local/AFEPack/library/mpi'
gmake[2]: *** [all] 错误 2
gmake[2]: Leaving directory `/usr/local/AFEPack/library' gmake[1]: *** [all-recursive] 错误 1
gmake[1]: Leaving directory `/usr/local/AFEPack' make: *** [all] 错误 2
这是MPI配置错误。需要做一下工作
将AFEPack/library/mpi中的 Makefile.1 文件第13行 MPICC=g++ -I/$(MPIHOME)/include 设置为你的 mpi 安装头文件目录 我们这里设置如下
MPICC=g++ -I/usr/local/mpich2/include 然后 做如下的链接:
ln -s /usr/local/AFEPack/library/include /usr/include/AFEPack
ln -s /usr/local/AFEPack/library/mpi/include /usr/local/AFEPack/library/include/mpi 有了这两个链接,就可以编译MPI/src中的其他文件了。
然后重新make一下。这时候,可能在编译example文件夹时还是会出现错误,则做如下链接
ln -s /usr/local/AFEPack/library/lib/lib* /usr/lib/ 重新make,成功!!!
最后,然后将头文件和库文件进行链接:
cd /usr/local/include
ln -sf ../AFEPack/library/include AFEPack // 前面链接过了 这个也许可以不要
cd /usr/local/lib
ln -sf ../AFEPack/library/lib/libAFEPack.so .
ln -sf ../AFEPack/library/lib/libAFEPack_mpi.so . // 以上两个库,可以用 lib* 代替同时链接
ln -sf ../AFEPack/library/lib/libAFEPack.so libAFEPack.g.so 请记得在这以后再运行一次 /sbin/ldconfig 更新 ld 的缓冲。
在目录 /usr/local/AFEPack/example/tools 下有一系列非常有用的小工具,您 可以将这些工具拷贝到可执行路径中,如果您 的 shell 是 bash,您可以参考下 面的命令: cd /usr/local/AFEPack/example/tools
for i in `ls`; do if [ -x $i ]; then cp $i /usr/local/bin; fi; done 这样这些小工具都会放在 /usr/local/bin 下了。
6. Easymesh和Gmsh的安装
6.1 安装easymesh
解压easymesh.c.gz,例如放在/home/目录下 gunzip easymesh.c.gz 会得到一个文件easymesh.c
gcc -o easymesh easymesh.c -O3 -lm
编译生成可执行程序 easymesh,将这个可执行程序链接到/usr/local/bin即可 cd /usr/local/bin
ln –sf /home/easymesh .
6.2 安装gmsh
解压 文件gmsh-2.5.0-linux.tgz
gunzip gmsh-2.5.0-linux.tgz gmsh-2.5.0-linux.tar
tar xvf gmsh-2.5.0-linux.tar gmsh-2.5.0-linux文件夹
将gmsh-2.5.0-linux/bin中的应用程序gmsh链接到/usr/local/bin即可
cd /usr/local/bin
ln –sf gmsh-2.5.0-linux/bin/gmsh .
7. 头文件和类
头文件:
#include #include TeplateGeometry 参考单元的几何信息 CoordTransform 参考单元到网格中的单元的坐标变换 TemplateDOF 参考单元上的自由度分布 BasisFunctionAdmin 单元上的基函数 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务