OpenSUSE下编译安装OpenFoam
在不是Ubuntu系统下安装OpenFoam,需要采用编译安装的方式。以下以OpenSuSE为例进行编译安装。
1 软件包准备
需要下载两个程序包:
OpenFOAM-4.x-version-4.1.tar.gz
ThirdParty-4.x-version-4.1.tar.gz
2 安装GCC
启动终端Konsole,在终端中输入命令:
sudo zypper install gcc
按提示输入密码并确认安装后,系统自动从网络上下载gcc并进行安装。
安装完毕后利用终端命令测试gcc安装版本:
gcc --version
如下图所示,可看到安装的gcc版本为6.2.1

openfoam4安装要求gcc最低版本为4.5,这里满足要求。
3 安装依赖包
安装OpenFoam的依赖包
利用终端命令:
sudo zypper install -t pattern devel_C_C++
sudo zypper install git-core cmake boost-devel gnuplot mpfr-devel openmpi-devel glu-devel
安装paraview依赖包
利用终端命令:
sudo zypper install libQtWebKit-devel libqt4-devel qt4-assistant-adp-devel qt4-x11-tools
这个安装可能要等上一阵子,看网速快慢。
4 解压OpenFoam文件
下面开始安装OpenFoam。
利用命令创在HOME路径下建文件夹OpenFoam
mkdir $HOME/OpenFoam
解压下载的OpenFoam文件及第三方文件到OpenFoam文件夹中

利用命令修改文件名称
cd $HOME/OpenFoam
mv OpenFOAM-4.x-version-4.1OpenFOAM-4.1
mv ThirdParty-4.x-version-4.1ThirdParty-4.1
此时文件夹中的文件如图所示。

5 修改环境变量
用文本编辑器打开文件$HOME/.bashrc文件,在文件最后一行添加语句
source $HOME/OpenFoam/OpenFOAM-4.1/etc/bashrc
如下图所示。

保存文件并在终端中输入命令以更新环境变量
source $HOME/.bashrc
6 安装第三方软件
第三方软件主要是包括三个软件包:
Scotch and PT-Scotch:用于并行运算中计算区域的分解,必要的包。
ParaView:用于计算后处理,必要的包。
CGAL Computational Geometry Algorithms Library:高级网格生成器FoamyHexMesh用到的包,不是必须的。
终端进入ThirdParty-4.1目录,执行命令
cd $HOME/OpenFoam/ThirdParty-4.1
./Allwmake
程序开始编译,编译完毕后如图所示。

输入命令安装ParaView
./makeParaView
需要的时间比较长,可以去操场跑个马拉松再回来干别的:)。
编译完毕后如图所示。

7 编译安装OpenFOAM
与paraview的安装类似,进入终端,利用命令进行安装。
cd $HOME/OpenFoam/OpenFOAM-4.1
./Allwmake
也可以才用并行编译:
./Allwmake-j
可能需要几个小时的时间,又可以跑一趟马拉松了。
8 测试运行
创建OpenFoam工作路径
mkdir -p $FOAM_RUN
执行以下命令进行测试:
cd $FOAM_RUN
cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily
cd pitzDaily
blockMesh
simpleFoam
paraFoam
至此,OpenFOAM的编译安装到此结束。
OpenSUSE下编译安装OpenFoam的更多相关文章
- 不要着急改代码,先想想--centos 6.8下编译安装tmux
诸位读者新年好,2017开年第一篇博客,请允许我先问候一下看到这篇博客的诸位.写博客是我2017年定下的目标之一,希望我会坚持下去. 最近打算尝试一下tmux这个神器,于是有了这一篇关于思维方式的Bl ...
- centos下编译安装lnmp
centos下编译安装lnmp 本文以centos为背景在其中编译安装nginx搭建lnmp环境. 编译安装nginx时,需要事先安装 开发包组"Development Tools" ...
- libCURL开源库在VS2010环境下编译安装,配置详解
libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...
- LINUX下编译安装PHP各种报错大集合
本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...
- Redhat环境下编译安装Google Bazel
Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...
- linux下编译安装vim7.4并安装clang_complete插件
linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...
- centos7.2下编译安装&&使用-git代码库
centos7.2下编译安装git Git简介 Git是一个分布式版本控制系统 Git vs SVN SVN是典型的集中式版本控制起,版本库集中存放在服务器,当我们用自己的电脑干活儿的时候,需要先从中 ...
- linux下编译安装curl
linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...
- ubuntu15.10下编译安装wine1.8 rc4
ubuntu15.10下编译安装wine1.8rc4 Wine (“Wine Is Not an Emulator” 的递归缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Li ...
随机推荐
- Angular2学习笔记(1)
Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...
- hibernate多对一双向关联
关联是类(类的实例)之间的关系,表示有意义和值得关注的连接. 本系列将介绍Hibernate中主要的几种关联映射 Hibernate一对一主键单向关联Hibernate一对一主键双向关联Hiberna ...
- 参考bootstrap中的popover.js的css画消息弹框
前段时间小颖的大学同学给小颖发了一张截图,图片类似下面这张图: 小颖当时大概的给她说了下,其实小颖也不知道上面那个三角形怎么画嘻嘻,给她说了DOM结构,具体的css让她自己百度,今天小颖自己参考boo ...
- 用scikit-learn学习DBSCAN聚类
在DBSCAN密度聚类算法中,我们对DBSCAN聚类算法的原理做了总结,本文就对如何用scikit-learn来学习DBSCAN聚类做一个总结,重点讲述参数的意义和需要调参的参数. 1. scikit ...
- Kooboo CMS技术文档之一:Kooboo CMS技术背景
语言平台 依赖注入方案 存储模型 1. 语言平台 Kooboo CMS基于.NET Framework 4.x,.NET Framework 4.x的一些技术特性成为站点开发人员使用Kooboo CM ...
- Spark踩坑记——初试
[TOC] Spark简介 整体认识 Apache Spark是一个围绕速度.易用性和复杂分析构建的大数据处理框架.最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apach ...
- C#中Length和Count的区别(个人观点)
这篇文章将会很短...短到比你的JJ还短,当然开玩笑了.网上有说过Length和count的区别,都是很含糊的,我没有发现有 文章说得比较透彻的,所以,虽然这篇文章很短,我还是希望能留在首页,听听大家 ...
- arcgis api for js入门开发系列四地图查询(含源代码)
备注:由于实现本篇功能的需求,修改了地图数据的dlsearch.mxd,然后更新了地图服务,需要的在文章最后有提供最新的mxd以及源代码下载的 上一篇实现了demo的地图工具栏,本篇新增地图查询功能, ...
- Web应用之LAMP源码环境部署
一.LAMP环境的介绍 1.LAMP环境的重要性 思索许久,最终还是决定写一篇详细的LAMP的源码编译安装的实验文档,一来是为了给自己一个交代,把技术进行系统的归纳,将技术以极致的形式呈现出来,做为一 ...
- python之浅拷贝和深拷贝
1.浅拷贝 1>赋值:从下面的例子我们可以看到赋值之后新变量的内存地址并没有发生任何变化,实际上python中的赋值操作不会开辟新的内存空间,它只是复制了新对象的引用,也就是说除了b这个名字以外 ...