流固耦合开源软件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.debsudo 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" >> ~/.bashrcsource ~/.bashrc
之后需安装precice的OpenFOAM adapter,参考官网教程:
sudo apt install build-essential pkg-config cmake gitgit clone --branch=master --depth 1 https://github.com/precice/openfoam-adaptercd openfoam-adapter./Allwmakecd ..
可下载官网提供的算例来验证安装:
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 xvzmv 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-devcd ~
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-mastermake cleanmake -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 -jmake install
注意:将上述第四条命令cmake中第四行路径修改为期望安装deal.II的位置,并在运行下一步前手动建立该文件夹。且官网教程中没有make install命令,这里卡了我很久,没有这一条,总是安装不成功。
接下来安装对应的adapter:
git clone https://github.com/precice/dealii-adapter.gitcmake -DDEAL_II_DIR=~/software/dealiimake -j
注意:上述代码第二行的路径对应修改为读者实际安装deal.ii路径。安装完成后,终端中输入:
gedit $HOME/.bashrc
打开编辑~/.bashrc,添加:
export PATH=~/software/dealii-adapter/elasticity:$PATH
注意:若安装路径与上述不一致,环境变量中路径也要对应修改。同样可运行算例验证安装,需要注意的是,dealii算例的运行需要提前将dealii-adapter文件夹中生成的可执行文件elasticity拷贝到算例文件夹,然后执行./run.sh。
软件安装完毕。关于开源有限元软件fenics的安装,笔者也有所尝试,但总是出现python找不到已安装的fenics的问题,尚未解决。还有文中提到的一些未解决的问题,欢迎大家讨论。
流固耦合开源软件precice安装笔记(包括开源CFD软件OpenFOAM、插件swak4Foam,开源有限元软件CalculiX、deal.II)相关推荐
- workbench 流固耦合_基于Workbench的流固耦合作用下三通管振动特性分析
基于Workbench的流固耦合作用下三通管振动特性分析 韩天宇,郭长青*,谌冉曦 (南华大学 土木工程学院,湖南 衡阳 421001) 摘 要:使用ANSYS Workbench软件,对流固耦合作用 ...
- ansys流固耦合分析与工程实例_ansys workbench 流固耦合教程
点击蓝字关注我们 流固耦合 概念介绍 流固耦合问题是流体力学(Computational Fluid Dynamics,CFD)与固体力学 (Computational Solid Mechanic ...
- matlab 流固耦合,一种基于MATLAB-ANSYS软件的静压溜板流固耦合工作性能的计算方法与流程...
本发明是一种基于MATLAB-ANSYS软件的静压溜板流固耦合工作性能的计算方法,属于机械设计与制造领域. 背景技术: 静压溜板是精密超精密重型高档数控机床的关键部件,它对重型机床滑枕起到支撑作用,并 ...
- TECPLOT画流固耦合的流场图--学习笔记
TECPLOT画流固耦合图片–学习笔记 (参考[link]https://www.cnblogs.com/zhubinglong/p/8735426.html) 还是老规矩先进下QQ群:格子玻尔兹曼救 ...
- abaqus dat文件 matlab_基于MPCCI的FLUENT与ABAQUS流固耦合分析步骤
FSI实例 FLUENT+ABAQUSMPCCI 以一个实例为例,说明如何采用多场耦合平台MPCCI将ANSYS Fluent的流场数据在每个计算步长内传递至ABAQUS中进行固体分析. 1.准备阶段 ...
- abaqus生成adams柔性体_Abaqus和STAR-CCM+流固耦合
因为研究和工作需要,我先后使用过Abaqus.ANSYS.Nastran等多款有限元仿真软件,最喜欢的还是Abaqus.Abaqus 2017之后的版本移除了Abaqus/CFD,我还遗憾于不能方便地 ...
- (史上最全)Abaqus和XFLOW流固耦合联合仿真
1.软件版本问题 首先必须要说的就是这个版本问题!个人推荐xflow使用2020x版本,Abaqus使用2019版本,这种组合是最容易搭建两种软件之间的接口的!其他各种版本之间的组合,想尝试的也可以多 ...
- fluent二维叶型仿真_即将直播:虎门大桥异常抖动原因查明!流固耦合仿真与工程应用直播(5月21日)...
恢复交通首日的虎门大桥现场监控截图作者 | 陈东阳博士 仿真秀专栏作者首发 | 仿真秀公众号(ID:fangzhenxiu2018)导读:据广东省交通集团发布消息,5 月 15 日 9 时,虎门大桥 ...
- ansys fluent udf manual 下载_FLUENT流固耦合柱体结构涡激振动仿真案例解析
作者 | 陈东阳博士 仿真秀科普作者 一.柱体结构涡激振动定义 对于海洋工程.风工程上普遍采用的圆柱形断面结构物,流体绕过柱体时会产生交替发放的泻涡,这种交替发放的泻涡又会在柱体上生成顺流向及横流向周 ...
最新文章
- 北漂经历 | 我在北京这几年
- ME | 决定性过程促进了深层土壤微生物空间周转率的增加
- 线程间的通信 共享数据安全问题
- 超图单值专题图 - 行政区划类型学习
- 【新版上线】网易云点播内容加密服务正式发布啦!
- jvm入门到详解-1
- 谁说 Vim 不好用?
- excel合并多个工作表_多个Excel工作表合并到一个工作簿
- 【C++模块实现】| 【07】对于互斥、自旋锁、条件变量、信号量简介及封装
- 乐优购物学习笔记(5)
- Java界面开发(以五子棋为例)
- 修复VSAN无法看到的主机磁盘
- 虚拟现实,增强现实的安全问题
- 哈希表的画法_2018年流行什么眉型
- 名帖298 王铎 行书《罗汉跋》
- peek在c语言中的作用,C++ peek函数用法详解
- Android手机无线调试
- 地球系统模式(CESM)技术
- ABAP CDS VIEW WITH ASSOCIATION示例
- 【PHP】获取浏览器HTTP请求header信息、获取服务器HTTP响应header信息
热门文章
- livy使用样例_在 Amazon EMR 中使用 Apache Knox 实现边界安全
- 物联网技术与应用、传感器原理与应用
- Matlab实现图片背景深色化
- 堆晶结构_-岩石地球化学之三--火成岩类及其构造岩石组合.ppt
- Struts2 拦截器的Interceptor接口与AbstractInterceptor抽象类
- AutoIt3相关——基本使用篇
- 一图读懂丨一站式采购数字化云平台,引领企业数字化转型
- 【机器学习百问】10.A/B测试中如何划分实验组和对照组
- http和socket通信的区别
- 90后情侣3年攒100万裸辞飞荷兰