星星博客 »  > 

流固耦合开源软件precice安装笔记(包括开源CFD软件OpenFOAM、插件swak4Foam,开源有限元软件CalculiX、deal.II)

安装环境:Ubuntu 20.04 LTS

1. 安装Python发行版Anaconda

可在Anaconda官网下载安装包,下载完成后在下载目录中鼠标右键打开终端,键入:

bash Anaconda3-2020.11-Linux-x86_64.sh

注意:代码后段文件名需要按照读者实际下载的Anaconda版本来修改。后面按照终端中提示来安装即可。

2. 安装precice

可参考官网教程安装,在终端中输入:

 wget https://github.com/precice/precice/releases/download/v2.2.0/libprecice2_2.2.0_focal.deb
 sudo apt install ./libprecice2_2.2.0_focal.deb

按照终端中提示安装即可。

3. 安装OpenFOAM

官方算例turek-hron-fsi3的运行需要安装OpenFOAM插件swak4Foam,若不需安装该插件,可参考官网给出的简易安装教程,安装precice支持的OpenFOAM最新版本2012:

 # Add the signing key, add the repository, update (check this):
 wget -q -O - https://dl.openfoam.com/add-debian-repo.sh | sudo bash
 # Install OpenFOAM v2012:
 sudo apt install openfoam2012-dev
 # Enable OpenFOAM by default in your system and apply now:
 echo "source /usr/lib/openfoam/openfoam2012/etc/bashrc" >> ~/.bashrc
 source ~/.bashrc

之后需安装precice的OpenFOAM adapter,参考官网教程:

 sudo apt install build-essential pkg-config cmake git
 
 git clone --branch=master --depth 1 https://github.com/precice/openfoam-adapter
 cd openfoam-adapter
 ./Allwmake
 cd ..

可下载官网提供的算例来验证安装:

git clone --branch=master --depth 1 https://github.com/precice/tutorials.git

进入perpendicular-flap算例,在该文件夹中右键打开终端,输入:

./run.sh

若出现如下界面则表示安装成功。

另外,官网教程中提到,可输入

./run.sh -parallel

进行并行运算以提高计算效率。但是笔者运行该命令时,系统会提示OpenFOAM崩溃,终端也运行报错,报错页面如下,该问题尚未解决,笔者猜测与openmpi有关,欢迎大家讨论。

若需安装swak4Foam,可参考如下教程编译安装OpenFOAM。swak4Foam对OpenFOAM版本有要求,安装文档提到最高可支持OpenFOAM 7 或OpenFOAM v1906。但笔者尝试了若干版本(可能受限于对linux系统理解不够深入),发现只有OpenFOAM 6下,swak4Foam才可编译成功。下面以OpenFOAM 6为例,介绍其安装过程:

OpenFOAM 6 安装可参考官网教程,首先在主目录下新建文件夹OpenFOAM(即路径为$HOME/OpenFOAM),在该文件夹中打开终端,键入:

wget -O - http://dl.openfoam.org/source/6 | tar xvz
wget -O - http://dl.openfoam.org/third-party/6 | tar xvz

mv OpenFOAM-6-version-6 OpenFOAM-6
mv ThirdParty-6-version-6 ThirdParty-6

然后安装编译OpenFOAM需要的一些软件:

sudo apt-get install build-essential flex bison git-core cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev

然后设置环境变量,键入:

gedit $HOME/.bashrc

在打开的文本文件最下面添加:

source ~/OpenFOAM/OpenFOAM-6/etc/bashrc 

然后安装Third-Party软件,可参考官网教程,进入解压过后的ThirdParty-6文件夹,运行

./Allwmake -j

即可进行安装。笔者运行结束后会显示因缺少metis而未安装ThirdParty的一些可选的部分,且CGAL软件未安装。但当尝试提前安装好metis,且参考官网教程提前将CGAL包放入ThirdParty-6目录下,再编译ThirdParty,还是出现相同的问题,该问题目前尚未解决,但对OpenFOAM的安装暂未发现有影响,运行算例也没有问题。此外,官网教程给出的在该目录下运行 ./makeParaView 编译Paraview也报错了,不过问题不大,可以另外安装Paraview后处理软件:

sudo apt install paraview

Third-Party安装完成后,可继续安装OpenFOAM,进入OpenFOAM-6文件夹,右键终端,输入:

foamSystemCheck

上述命令可用来检测安装OpenFOAM系统环境是否满足,通过测试后,输入:

./Allwmake -j

OpenFOAM开始编译,所需时间较长,取决于电脑性能。编译完成后,可在终端中输入:

foamInstallationTest

来检测OpenFOAM安装是否成功。接下来可继续安装插件swak4Foam,参考教程,首先安装mercurial:

sudo apt install mercurial

然后下载swak4Foam包:

hg clone http://hg.code.sf.net/p/openfoam-extend/swak4Foam swak4Foam
# hg update develop

上述第二条代码用于swak4Foam包更新,非必要。然后进入swak4Foam文件夹,编译:

cd swak4Foam
./AllwmakeAll

需要一段时间,详细安装教程可见上述网页与swak4Foam文件夹下的readme文件。笔者在使用其他版本OpenFOAM来安装swak4Foam时,经常出现下图所示的错误,尚未解决,欢迎讨论。

接下来安装OpenFOAM-6对应的OpenFOAM adapter,需要注意的是,不同版本对应的OpenFOAM对应的OpenFOAM adapter版本也不相同,详见官网,下载OpenFOAM-6对应的OpenFOAM adapter,解压后进入文件夹,打开终端:

sudo apt install build-essential pkg-config cmake git
 
./Allwmake

同样可通过算例验证安装。

4. 安装CalculiX

参考官网教程,打开终端,逐句运行下列命令:

sudo apt install libarpack2-dev libspooles-dev libyaml-cpp-dev
 
cd ~
wget http://www.dhondt.de/ccx_2.16.src.tar.bz2
tar xvjf ccx_2.16.src.tar.bz2 
 
# Building the modified CalculiX
wget https://github.com/precice/calculix-adapter/archive/master.zip 
unzip master.zip 
cd calculix-adapter-master
 
make clean
 
make -j

安装完成后,终端中输入:

gedit $HOME/.bashrc

打开编辑~/.bashrc,添加:

 export PATH=~/calculix-adapter-master/bin:$PATH

注意:若安装路径与上述不一致,环境变量中路径也要对应修改。然后安装CalculiX后处理软件cgx:

 sudo apt install calculix-cgx

同样可通过算例来验证CalculiX安装。

5. 安装deal.II

参考官网教程,首先安装deal.II:

git clone https://github.com/dealii/dealii.git
mkdir build
cd build/

cmake \
    -D DEAL_II_WITH_UMFPACK="ON" \
    -D DEAL_II_WITH_THREADS="ON" \
    -D DEAL_II_COMPONENT_EXAMPLES="OFF" \
    -D CMAKE_INSTALL_PREFIX=~/software/dealii \
    ..

make -j

make install

注意:将上述第四条命令cmake中第四行路径修改为期望安装deal.II的位置,并在运行下一步前手动建立该文件夹。且官网教程中没有make install命令,这里卡了我很久,没有这一条,总是安装不成功。

接下来安装对应的adapter:

git clone https://github.com/precice/dealii-adapter.git

cmake -DDEAL_II_DIR=~/software/dealii

make -j

注意:上述代码第二行的路径对应修改为读者实际安装deal.ii路径。安装完成后,终端中输入:

gedit $HOME/.bashrc

打开编辑~/.bashrc,添加:

export PATH=~/software/dealii-adapter/elasticity:$PATH

注意:若安装路径与上述不一致,环境变量中路径也要对应修改。同样可运行算例验证安装,需要注意的是,dealii算例的运行需要提前将dealii-adapter文件夹中生成的可执行文件elasticity拷贝到算例文件夹,然后执行./run.sh。

软件安装完毕。关于开源有限元软件fenics的安装,笔者也有所尝试,但总是出现python找不到已安装的fenics的问题,尚未解决。还有文中提到的一些未解决的问题,欢迎大家讨论。

相关文章