1、安装OpenFOAM-5.x
2、安装petsc-3.8.4
module load petsc/3.8.4-icc17-gcc620
module load boost/1.69.0-gcc620
export CPLUS_INCLUDE_PATH=$BOOST_INCDIR:$CPLUS_INCLUDE_PATH
module load cmake/3.13.4
3、安装Eigen 3.3.7
tar xvf ../eigen-eigen-323c052e1731.tar.gz
cd /PARA/blsc401/fsi_software/tmp/eigen-eigen-323c052e1731
mkdir build
cd build/
export CC=/WORK/paratera_share/gcc/6.2.0/bin/gcc
export CXX=/WORK/paratera_share/gcc/6.2.0/bin/g++
cmake ../ -DCMAKE_INSTALL_PREFIX=/PARA/blsc401/fsi_software/install/eigen
make
make install
mv tmp/eigen-eigen-323c052e1731/ ~/eigen3
export EIGEN3_ROOT_DIR="$HOME/eigen3"
4、安装preCICE
unzip precice-1.4.0.zip
mkdir build
cd build/
无法搜索到Eigen3,在缺省位置建立了一个符号链接
cd ~/include
ln -fs /PARA/blsc401/fsi_software/install/eigen/include/eigen3/ eigen3
CXX=mpicxx cmake -DPETSC=ON -DPYTHON=OFF -DPETSC_EXECUTABLE_RUNS=YES -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-O3 -DNDEBUG -std=gnu++11 -DBOOST_NO_CXX11_DEFAULTED_FUNCTIONS" -DCMAKE_INSTALL_PREFIX=/PARA/blsc401/fsi_software/install/precice ..
make
make install
5、cgx编译安装
cd CalculiX/cgx_2.13
根据INSTALL文件,修改一下cgx.h中的#define HELPFILE定义
不需要加载环境变量,直接编译
make
成功
cd /PARA/blsc401/fsi_software/install
mkdir calculix/bin -p
cp ../calculix/CalculiX/cgx_2.13/src/cgx calculix/bin/
export PATH=/PARA/blsc401/fsi_software/ calculix/bin:$PATH
cgx -b dummy.fbd
需要图形界面才能启动
暂时不能测试!!!
6、spooles安装
mkdir /PARA/blsc401/fsi_software/install/SPOOLES.2.2
cd /PARA/blsc401/fsi_software/install/SPOOLES.2.2
tar xvf spooles.2.2.tgz
修改Make.inc文件,定义CC = gcc
修改~/SPOOLES.2.2/Tree/src/makeGlobalLib文件中的drawTree.c为draw.c
make lib
7、ARPACK安装
cd /PARA/blsc401/fsi_software/install
tar xvf arpack96.tar.gz
tar xvf patch.tar.gz
cd ARPACK/
注释掉文件UTIL/second.f的24行
* EXTERNAL ETIME
修改ARmake.inc
home = /PARA/blsc401/fsi_software/install/ARPACK
PLAT = INTEL
#
MAKE = /usr/bin/make
FC = gfortran
#FFLAGS = -O -cg89
make lib
8、yaml-cpp安装
unzip yaml-cpp-yaml-cpp-0.6.2.zip
cd yaml-cpp-yaml-cpp-0.6.2
mkdir build
cd build/
cmake .. -DCMAKE_INSTALL_PREFIX=/PARA/blsc401/fsi_software/install/yaml-cpp
make
make install
OpenFOAM adaptor需要动态库,通过执行
ccmake .
打开BUILD_SHARED_LIBS,重新
make
make install
9、ccx安装
cd /PARA/blsc401/fsi_software/install
tar xvjf ccx_2.13.src.tar.bz2
cd CalculiX/ccx_2.13/src
CC=gcc
FC=gfortran
设置好spooles和arpack路径
不需要编译,下一步一起编译
10、CalculiX adapter for version 2.15
unzip calculix-adapter-master.zip
cd install/calculix-adapter-master
修改Makefile
CCX = /PARA/blsc401/fsi_software/install/CalculiX/ccx_2.15/src
# Path to SPOOLES main directory (e.g. $(HOME)/SPOOLES.2.2 )
SPOOLES = /PARA/blsc401/fsi_software/install/SPOOLES.2.2
# Path to ARPACK main directory (e.g. $(HOME)/ARPACK )
ARPACK = /PARA/blsc401/fsi_software/install/ARPACK
# Path to yaml-cpp prefix (e.g. $(HOME)/yaml-cpp, should contain "include" and "build")
YAML = /PARA/blsc401/fsi_software/install/yaml-cpp-yaml-cpp-0.6.2
LIBS =
$(SPOOLES)/spooles.a
$(PKGCONF_LIBS)
-lstdc++ -lxml2
-L$(YAML)/build -lyaml-cpp
-L/PARA/app/boost/1_69_0-gcc/lib -lboost_log -lboost_log_setup -lboost_program_options
-L/PARA/app/petsc/3.8.4-icc17-gcc620/lib -lpetsc
-L/WORK/paratera_share/gcc/6.2.0/lib64 -lgfortran
$(OBJDIR)/ccx_preCICE: $(OBJDIR) $(OCCXMAIN) $(OBJDIR)/ccx_2.15.a
$(FC) -fopenmp -Wall -O3 -o $@ $(OCCXMAIN) $(OBJDIR)/ccx_2.15.a $(LIBS) -nofor_main
export PKG_CONFIG_PATH=/PARA/blsc401/fsi_software/install/precice/lib/pkgconfig
make
11、OpenFOAM adaptor
unzip openfoam-adapter-master.zip
cd openfoam-adapter-master/
修改Allwmake
ADAPTER_PRECICE_DEP="-L/PARA/app/boost/1_69_0-gcc/lib -lboost_system -lboost_filesystem -lboost_log -lboost_log_setup -lboost_thread -lboost_program_options -L/PARA/app/petsc/3.8.4-icc17-gcc620/lib -lpetsc -lpthread -lxml2"
source /PARA/blsc401/fsi_software/install/OpenFOAM/OpenFOAM-5.x/etc/rebashrc
export CPLUS_INCLUDE_PATH=/PARA/blsc401/fsi_software/install/yaml-cpp/include:$CPLUS_INCLUDE_PATH
export LD_LIBRARY_PATH=/PARA/blsc401/fsi_software/install/yaml-cpp/lib:$LD_LIBRARY_PATH
./Allwmake 2>&1 | tee Allwmake.log
显示成功
总结编译需要用到的module和环境: /PARA/blsc401/fsi_software/install/base.sh
module load MPI/Intel/MPICH/3.2-icc2017-dyn
module load gcc/6.2.0
module load petsc/3.8.4-icc17-gcc620
module load boost/1.69.0-gcc620
module load cmake/3.13.4
export CPLUS_INCLUDE_PATH=$BOOST_INCDIR:$CPLUS_INCLUDE_PATH
export EIGEN3_ROOT_DIR="$HOME/eigen3"
export PKG_CONFIG_PATH=/PARA/blsc401/fsi_software/install/precice/lib/pkgconfig
source /PARA/blsc401/fsi_software/install/OpenFOAM/OpenFOAM-5.x/etc/rebashrc
export CPLUS_INCLUDE_PATH=/PARA/blsc401/fsi_software/install/yaml-cpp/include:$CPLUS_INCLUDE_PATH
export LD_LIBRARY_PATH=/PARA/blsc401/fsi_software/install/yaml-cpp/lib:$LD_LIBRARY_PATH
测试
把Allrun命令改成超算需要的命令。比如节点的设置、添加环境变量等,
#!/bin/bash
#SBATCH -p paratera
#SBATCH -n 24
#SBATCH -N 1
RUNDIR=$PWD
PARTITON=paratera
source /PARA/blsc401/fsi_software/install/base.sh
但还是会出现问题:
![102f260e10704598624a93e52d827ac5.png](https://img-blog.csdnimg.cn/img_convert/102f260e10704598624a93e52d827ac5.png)
在我./Allclean 之后测试其他的算例也出现同样的问题
我觉得主要是找不到cgx的环境变量,cgx都无法运行
![c0196a84b3b17eb7ee2fae8b73c675f5.png](https://img-blog.csdnimg.cn/img_convert/c0196a84b3b17eb7ee2fae8b73c675f5.png)
在base.sh中添加好环境变量,即可运行
module load MPI/Intel/MPICH/3.2-icc2017-dyn
module load gcc/6.2.0
module load petsc/3.8.4-icc17-gcc620
module load boost/1.69.0-gcc620
module load cmake/3.13.4
export CPLUS_INCLUDE_PATH=$BOOST_INCDIR:$CPLUS_INCLUDE_PATH
export EIGEN3_ROOT_DIR="$HOME/eigen3"
export PKG_CONFIG_PATH=/PARA/blsc401/fsi_software/install/precice/lib/pkgconfig
source /PARA/blsc401/fsi_software/install/OpenFOAM/OpenFOAM-5.x/etc/rebashrc
export CPLUS_INCLUDE_PATH=/PARA/blsc401/fsi_software/install/yaml-cpp/include:$CPLUS_INCLUDE_PATH
export LD_LIBRARY_PATH=/PARA/blsc401/fsi_software/install/yaml-cpp/lib:$LD_LIBRARY_PATH
export ccx_PATH=/PARA/blsc401/fsi_software/install/calculix-adapter-master/bin:$ccx_PATH
export PATH=/PARA/blsc401/fsi_software/install/calculix/bin:$PATH
export LD_LIBRARY_PATH=/PARA/blsc401/fsi_software/install/calculix/lib:$LD_LIBRARY_PATH
export PATH=/PARA/blsc401/fsi_software/install/calculix-adapter-master/bin:$PATH
export GLEX_USE_ZC_RNDV=0
pc上算了30小时,超算也算了11小时23分
![a2934b96c7a07431c8e5dd7d1ff9bc42.png](https://img-blog.csdnimg.cn/img_convert/a2934b96c7a07431c8e5dd7d1ff9bc42.png)