安装环境: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)相关推荐

  1. workbench 流固耦合_基于Workbench的流固耦合作用下三通管振动特性分析

    基于Workbench的流固耦合作用下三通管振动特性分析 韩天宇,郭长青*,谌冉曦 (南华大学 土木工程学院,湖南 衡阳 421001) 摘 要:使用ANSYS Workbench软件,对流固耦合作用 ...

  2. ansys流固耦合分析与工程实例_ansys workbench 流固耦合教程

    点击蓝字关注我们 流固耦合 概念介绍 流固耦合问题是流体力学(Computational Fluid Dynamics,CFD)与固体力学 (Computational  Solid Mechanic ...

  3. matlab 流固耦合,一种基于MATLAB-ANSYS软件的静压溜板流固耦合工作性能的计算方法与流程...

    本发明是一种基于MATLAB-ANSYS软件的静压溜板流固耦合工作性能的计算方法,属于机械设计与制造领域. 背景技术: 静压溜板是精密超精密重型高档数控机床的关键部件,它对重型机床滑枕起到支撑作用,并 ...

  4. TECPLOT画流固耦合的流场图--学习笔记

    TECPLOT画流固耦合图片–学习笔记 (参考[link]https://www.cnblogs.com/zhubinglong/p/8735426.html) 还是老规矩先进下QQ群:格子玻尔兹曼救 ...

  5. abaqus dat文件 matlab_基于MPCCI的FLUENT与ABAQUS流固耦合分析步骤

    FSI实例 FLUENT+ABAQUSMPCCI 以一个实例为例,说明如何采用多场耦合平台MPCCI将ANSYS Fluent的流场数据在每个计算步长内传递至ABAQUS中进行固体分析. 1.准备阶段 ...

  6. abaqus生成adams柔性体_Abaqus和STAR-CCM+流固耦合

    因为研究和工作需要,我先后使用过Abaqus.ANSYS.Nastran等多款有限元仿真软件,最喜欢的还是Abaqus.Abaqus 2017之后的版本移除了Abaqus/CFD,我还遗憾于不能方便地 ...

  7. (史上最全)Abaqus和XFLOW流固耦合联合仿真

    1.软件版本问题 首先必须要说的就是这个版本问题!个人推荐xflow使用2020x版本,Abaqus使用2019版本,这种组合是最容易搭建两种软件之间的接口的!其他各种版本之间的组合,想尝试的也可以多 ...

  8. fluent二维叶型仿真_即将直播:虎门大桥异常抖动原因查明!流固耦合仿真与工程应用直播(5月21日)...

    恢复交通首日的虎门大桥现场监控截图作者 | 陈东阳博士  仿真秀专栏作者首发 | 仿真秀公众号(ID:fangzhenxiu2018)导读:据广东省交通集团发布消息,5 月 15 日 9 时,虎门大桥 ...

  9. ansys fluent udf manual 下载_FLUENT流固耦合柱体结构涡激振动仿真案例解析

    作者 | 陈东阳博士 仿真秀科普作者 一.柱体结构涡激振动定义 对于海洋工程.风工程上普遍采用的圆柱形断面结构物,流体绕过柱体时会产生交替发放的泻涡,这种交替发放的泻涡又会在柱体上生成顺流向及横流向周 ...

最新文章

  1. 北漂经历 | 我在北京这几年
  2. ME | 决定性过程促进了深层土壤微生物空间周转率的增加
  3. 线程间的通信 共享数据安全问题
  4. 超图单值专题图 - 行政区划类型学习
  5. 【新版上线】网易云点播内容加密服务正式发布啦!
  6. jvm入门到详解-1
  7. 谁说 Vim 不好用?
  8. excel合并多个工作表_多个Excel工作表合并到一个工作簿
  9. 【C++模块实现】| 【07】对于互斥、自旋锁、条件变量、信号量简介及封装
  10. 乐优购物学习笔记(5)
  11. Java界面开发(以五子棋为例)
  12. 修复VSAN无法看到的主机磁盘
  13. 虚拟现实,增强现实的安全问题
  14. 哈希表的画法_2018年流行什么眉型
  15. 名帖298 王铎 行书《罗汉跋》
  16. peek在c语言中的作用,C++ peek函数用法详解
  17. Android手机无线调试
  18. 地球系统模式(CESM)技术
  19. ABAP CDS VIEW WITH ASSOCIATION示例
  20. 【PHP】获取浏览器HTTP请求header信息、获取服务器HTTP响应header信息

热门文章

  1. livy使用样例_在 Amazon EMR 中使用 Apache Knox 实现边界安全
  2. 物联网技术与应用、传感器原理与应用
  3. Matlab实现图片背景深色化
  4. 堆晶结构_-岩石地球化学之三--火成岩类及其构造岩石组合.ppt
  5. Struts2 拦截器的Interceptor接口与AbstractInterceptor抽象类
  6. AutoIt3相关——基本使用篇
  7. 一图读懂丨一站式采购数字化云平台,引领企业数字化转型
  8. 【机器学习百问】10.A/B测试中如何划分实验组和对照组
  9. http和socket通信的区别
  10. 90后情侣3年攒100万裸辞飞荷兰