【OpenFOAM案例】03 Docker安装OpenFOAM
“工欲善其事必先利其器”,软件装不上,讲再多的使用技巧也是白搭。近期不少留言说OpenFOAM不容易安装,今天来谈谈如何在Linux下利用Docker安装OpenFOAM。
Linux发行版众多,估计有几百种,比较流行的是三个派系:
- RHEL系。比较出名的发行版像Red Hat Enterprise、CentOS、Fedora等
- SuSE系。像OpenSUSE等
- Debian系。流行的如Ubuntu、Linux Mint等
OpenFOAM对于Ubuntu专门提供了安装方式,利用apt-get方法快速的安装。不过对于其他的linux发行版,则没那么方便了,下面的方法主要针对ubuntu以外的linux系统,不过也同样适用于ubuntu。
本文采用的是Docker方式安装OpenFOAM,其实也可以利用源代码编译的方式安装,不过编译过程耗时较长。
以下内容以CentOS为基础进行解说,其他发行版并未经过测试。
1 安装前的准备工作
确保自己使用的Linux内核足够新。在终端中输入命令查看操作系统内核版本号:
uname -r
至少保证内核版本高于3.10。如下图所示,此操作系统内核版本为3.10,满足安装要求。
注意:确保网络畅通。
2 安装Docker
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。关于Docker,可以自己上网搜索。
2.1 RHEL、CentOS及Fedora
输入命令更新源:
sudo yum -y update(在RHEL及CentOS上)
sudo dnf -y update(在Fedora上)
输入一下命令安装Docker:
curl -fsSL https://get.docker.com/ | sh
sudo systemctl enable docker.service
sudo systemctl start docker
第一条命令安装过程会持续很久,视网速而定,需要耐心等待。
2.2 SLES以及openSuSE
在SLES发行版上,要先输入:
sudo SUSEConnect -p sle-module-containers/12/x86_64 -r ''
之后输入(SLES及openSuSE上):
sudo zypper -n in docker
sudo systemctl start docker
sudo systemctl enable docker
2.3 Debian
输入命令:
sudo apt-get -y update
curl -fsSL https://get.docker.com/ | sh
3 配置Docker
输入命令将用户添加到Docker中。
sudo usermod -aG docker $(whoami)
4 安装openfoam4-linux
输入命令:
sudo sh -c "wget http://dl.openfoam.org/docker/openfoam4-linux -O /usr/bin/openfoam4-linux"
sudo chmod 755 /usr/bin/openfoam4-linux
5 运行openfoam4-linux
输入命令:
mkdir -p $HOME/OpenFOAM/${USER}-4.1
cd $HOME/OpenFOAM/${USER}-4.1
openfoam4-linux
最后一个命令因为要连接docker,如果网速非常慢可能会出错,多试几次。连接成功后会下载文件,好几百兆的文件,可能会持续很久。
出现如下图所示情况后,耐心等待吧,几百兆的文件估计要下载很久很久(建议爬墙,否则会很慢)。
6 测试OpenFOAM
当所有的文件都下载完毕后,终端会自动进行解压。
解压完毕后会自动启动Docker,此时可以在里面运行OpenFOAM。
依次输入以下命令:
cd $FOAM_RUN
cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily .
cd pitzDaily
blockMesh
simpleFoam
paraFoam
如下图所示。
计算结果如图所示。
若要关闭docker,则可以使用命令:
exit
关闭后若要再次启动Docker,可使用命令:
service docker start
cd $HOME/OpenFOAM/${USER}-4.1
openfoam4-linux
启动Docker后就可以使用OpenFOAM的各种功能了。
更多关于CFD内容,可微信扫描下方二维码关注微信公众号。
【OpenFOAM案例】03 Docker安装OpenFOAM的更多相关文章
- OpenSUSE下编译安装OpenFoam
在不是Ubuntu系统下安装OpenFoam,需要采用编译安装的方式.以下以OpenSuSE为例进行编译安装. 1 软件包准备 需要下载两个程序包: OpenFOAM-4.x-version-4.1. ...
- 【一起学OpenFOAM】03 OpenFOAM基本使用流程
OpenFOAM初学者常常对于软件的使用流程感到很迷惑,与其他的具有GUI的CFD软件不同,OpenFOAM的所有操作均为基于文本操作,譬如说里面各种计算模型.计算参数.流程控制参数等,均为通过修改对 ...
- 【OpenFOAM案例】01 elbow
本案例演示利用OpenFOAM的icoFoam求解器计算弯曲管道中的混合流动问题. 1 拷贝tutorials文件 启动终端,且拷贝tutorials文件夹中的文件.利用命令: cp -r $FOAM ...
- Linux CentOS7.0 (03)安装验证 docker
一.安装docker 1.升级 Linux 的软件包和内核 sudo yum update 2.安装 docker (1) sudo yum install docker (2).验证docker安 ...
- Docker02 基本命令、开发环境搭建、docker安装nginx、Dockerfile、路径挂载
1 基本命令 1.1 docker相关 centos6.5 安装docker环境 >sudo yum install -y http://mirrors.yun-idc.com/epel/6/i ...
- 理解Docker(1):Docker 安装和基础用法
本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...
- Docker安装和卸载
一:卸载旧版本 老版本的Docker被称为docker或docker-engine.如果安装了这些,请卸载它们以及相关的依赖项. $ sudo yum remove docker \ docker-c ...
- docker 3 docker安装
centos docker安装 docker支持以下centos版本: centos 7 (64-bit) centos 6.5 (64-bit)或更高的版本 前提条件 目前,centos仅发行版中的 ...
- Docker 安装和基础用法
理解Docker(1):Docker 安装和基础用法 本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 ...
随机推荐
- ORA-01000
A ResultSet object is automatically closed by the Statement object that generated it when that State ...
- Python内存管理以及数据类型
一.内存管理 1.Cpython解释器的垃圾回收机制 什么是垃圾:当一个值身上没有绑定任何变量名(该值的引用计数=0)时,该值就是一个垃圾. Cpython解释器就会自动回收这样的垃圾. #引用计数增 ...
- Java笔记(四)常用基础类
常用基础类 一)String String内部用一个字符数组表示字符串: private final char value[]; 注意:Java9对此做了优化,采用byte[],如果字符都是ASCII ...
- malloc函数详解 C语言逻辑运算符
今天写线性表的实现,又遇到了很多的难题,C语言的指针真的没学扎实.很多基础都忘了. 一是 :malloc 函数的使用. 二是:C语言逻辑运算符. 一.原型:extern void *malloc(un ...
- idea下的new class找不到了
https://blog.csdn.net/iteye_3381/article/details/82672788
- px与rem的换算
在线转化工具: http://www.ofmonkey.com/front/rem rem是相对于根元素<html>,这样就意味着,我们只需要在根元素确定一个参考值,这个参考值设置为多少, ...
- hdu2087 剪花布条
剪花布条 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- Python中关于列表排序并保留id/enumerate()使用方法
新手才开始写博客,不周之处请原谅,有错误请指正. >>> a = [1,4,2,5,3]>>> b = sorted(enumerate(a),key = lamb ...
- 【网站seo优化】SEO优化每天的工作内容是什么?
[网站seo优化]SEO优化每天的工作内容是什么?从未知的领域来到seo,感到搜索引擎无比神奇,接触seo久了,有每天必做的工作内容,大量的seo从业者,每天的工作内容大同小异,主要做的工作有通过相应 ...
- GitHub上传本地文件
基本条件:安装GitHub,安装成功之后:(windows系统) 1.安装完成后,还需要一步设置,在命令行输入: $ git config --global user.name "Your ...