Windows下OpenFOAM开发及使用环境配置指南 (2)【转载】
转载自:http://openfoam.blog.sohu.com/158751915.html
*********************************************************************************
Windows下OpenFOAM开发及使用环境配置指南 (2)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
本文献给那些对CFD具有浓厚兴趣, 且致力于源码级CFD研究的人们.
王智勇 <wang-zy@mails.thu.edu.cn>
@ THU
基本环境:
~~~~~~~~
操作系统:Windows 7 Ultimate 32 bit
Linux环境:Cygwin 1.7 32bit
OpenFOAM:
1.6
并行环境:MPICH2
配置过程:
~~~~~~~~
1. Install Cygwin (国内镜像www.cygwin.cn)
(1) 除基本安装外,还需安装以下包:
autoconf
automake binutils bison byacc diffutils patch doxygen
flex gcc-core
gcc-g++ git make python readline texinfo wget w3m
(2) 其余建议安装包:
bzip2 gitk
liblzma rxvt vim
2. 修改注册表, 使系统区分大小写
(1)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\
kernel\ObCaseInsensitive 设为0.
(2) 重启系统使应用生效.
3. 配置Cygwin
(1) 启动Cygwin,
home/<user>目录将依据当前Windows用户创建. 若用户名存在空格,
则需要在Cygwin根目录下的 /etc/passwd 中将映射名改为无空格的用户名标识,
并重启Cygwin.
(2) 在Cygwin
Shell中输入
mkdir
OpenFOAM
echo export
TEMP=/tmp >> ~/.bashrc
echo export
TMP=/tmp >> ~/.bashrc
以创建OpenFOAM安装目录并使TEMP/TMP变量有效.
(3) 在Windows中建立文件夹, 用于mount
OpenFOAM及tmp目录: 在/etc/fstab中添加
<of_dir>
/home/<user>/OpenFOAM ntfs
binary,posix=1 0 0
<tmp_dir>
ntfs binary,posix=1 0 0
其中<of_dir>
为OpenFOAM的实际安装目录,
<tmp_dir>为实际临时目录.
patch
命令的运行依赖/tmp目录.
- NOTE: 将以上目录设在根目录下比较方便, 且保持命名简洁易记.
(4) 重启Cygwin使修改生效. 输入
ln -s
/usr/bin/cpp /lib/cpp
以使wmake正确运行.
4. 安装OpenFOAM
(1) 下载OpenFOAM-1.6.General.gtgz,
ThirdParty-1.6.General.gtgz解压到安装目录
tar xzf
OpenFOAM-1.6.General.gtgz
tar xzf
ThirdParty-1.6.General.gtgz
(2) 下载PatchesNBatches.tar.gz并解压到$HOME/OpenFOAM目录. 在该目录下运行命令
patch -p0
< pnb/OpenFOAM-1.6_patch
patch -p0
< pnb/ThirdParty-1.6_patch
(3) 修改脚本, 配置OpenFOAM环境
(3a)在$HOME/.bashrc文件中添加下面一行:
source
$HOME/OpenFOAM/OpenFOAM-1.6/etc/bashrc-mingw32
使OpenFOAM配置随Cygwin启动生效.
bashrc-mingw32中需将case
$WM_ARCH in
Linux)中的"Linux)"改为"*)", 以使Cygwin能够假冒Linux. (当然也可以加入
Cygwin选项, 但会涉及到一些需要适应OpenFOAM的规则配置, 如wmake
rule
等, 不建议使用. 这种假冒策略是一个trick, 如果仅是本人在 cygwin 下使
用, 这种做法足够, 且可将源码修改降至最低. 至于考虑平台可移植性的通
用性设置, 则应该是OpenFOAM发布者该做的事情)
(3b)重启Cygwin, 发现有编译器未安装的警示信息, 不用理会, 这是因为OpenFOAM
认为编译器是mingw32, 有错误提示是正常的. 我们需要做的检查当前系统是
否含有gcc(用gcc
-v命令, 我的版本是3.4.4)
(3c)运行以下 chmod 命令以使新patch的script文件正确运行
chmod 744
$WM_THIRD_PARTY_DIR/build-mingw32
chmod 744
$WM_THIRD_PARTY_DIR/build-mingw-w32
chmod 744
$WM_THIRD_PARTY_DIR/build-mingw-w64
chmod 744
$WM_THIRD_PARTY_DIR/build-mingw-w64-45
chmod 744
$WM_THIRD_PARTY_DIR/makeGcc44
chmod 744
$WM_THIRD_PARTY_DIR/get-mpich2
chmod 744
$WM_PROJECT_DIR/src/Allclean
chmod 744
$WM_PROJECT_DIR/applications/utilities/parallelProcessing/Allwmake
chmod 744
$WM_PROJECT_DIR/bin/tutowin
chmod 744
$WM_PROJECT_DIR/bin/foamDiff
chmod 744
$WM_PROJECT_DIR/bin/backupSourceFolder
chmod 744
$WM_PROJECT_DIR/bin/backupFullFolder
(3d)下载mpich2-1.1.1p1-win-ia32.msi文件,
安装32位 MPICH2
1.1.1p1, 将安装
目录下的bin,
include和lib文件夹拷贝至ThirdParty-1.6/mpich2-1.1.1p1.
(3e)修改 bashrc-mingw32:将 WM_GETMPICH2 设为 DONTGETMPICH2
重启Cygwin使编译mingw32的环境设置生效.
(4) 编译mingw交叉编译器mingw32
(4a)将ThirdParty-1.6/build-mingw32脚本中以下变量对应的文件下载到
ThirdParty-1.6/mingwcc/source目录(手动创建).当然也可以下载这些
package 的最新版本, 但需注意要同时在脚本中修改相应的名字.
BINUTILS_ARCHIVE="binutils-2.19.1-src.tar.gz"
MINGW_ARCHIVE="mingwrt-3.15.2-mingw32-dev.tar.gz"
W32API_ARCHIVE="w32api-3.13-mingw32-dev.tar.gz"
REGEX_ARCHIVE="mingw-libgnurx-2.5.1-bin.tar.gz"
REGEX2_ARCHIVE="mingw-libgnurx-2.5.1-dev.tar.gz"
(4b)针对Cygwin环境修改build-mingw32脚本:
* BUILD=`uname -m`-$WM_ARCH-gnu
改为 BUILD=`uname -m`-pc-cygwin
* do_gmp, do_mpfr函数中将--host=$TARGET改为--host=$BUILD
* do_mpfr函数中--enable-thread-safe改为--disable-thread-safe
(4c)在ThirdParty-1.6目录下输入命令
./build-mingw32
GCC-4.3.3
运行脚本, 等待命令完成.
(约数小时, 期间若有tar错误或者 no
file or
directory错误, 不用理会.)
(5) 配置wmake编译环境.
(5a)建立flex++链接: 将 alias
flex++='flex -+' 命令加入到
OpenFOAM-1.6/etc/alias.sh中
(5b)修改wmake
rules. (我们现在的平台是"linux", 编译器是mingw32, 因此要改
的是OpenFOAM-1.6/wmake/rules/linuxmingw32文件夹中的内容)
* mplibMPICH中-lmpich改为-lmpi, 删除-lrt
* general中删除
include
$(GENERAL_RULES)/byacc
include
$(GENERAL_RULES)/btyacc++
加入
include
$(GENERAL_RULES)/version
include
$(GENERAL_RULES)/bison
(5c)修改zlib配置. 将ThirdParty-1.6/zlib/Make目录拷贝至
ThirdParty-1.6/gcc-4.3.3/zlib
(5d)重启Cygwin, 使修改生效
(6) 到OpenFOAM-1.6目录,
wclean all && ./Allwmake,
完成.
*********************************************************************************
参考链接:
~~~~~~~~
http://openfoamwiki.net/index.php/Tip_Using_Cygwin_for_cross-compiling_OpenFOAM
http://openfoamwiki.net/index.php/Tip_Cross_Compiling_OpenFOAM_1.6_in_Linux_For_Windows_with_MinGW
https://trac.handbrake.fr/wiki/CygWin
http://www.bluecape.com.pt/
(blueCAPE)
http://www.symscape.com/
(OpenFlow)
http://ftp.twaren.net/Unix/GNU/gnu/
http://heanet.dl.sourceforge.net/sourceforge/mingw
注意事项:
~~~~~~~~
***
<*>表示依赖于用户系统的一些变量, 用户需根据自己的系统配置来设定.
*** Cygwin只有32位的安装版本, 因此对gmp,
mpfr, gcc的编译过程来说, 系统都是i686,
而不是x86_64, 在Cygwin中输入uname
-m可确认这点
*** 以上配置过程请按顺序进行
*** 如格式不齐, 请拷贝到txt文档中用等宽字体查看本文档
文件下载:
~~~~~~~~
OpenFOAM-1.6.General.gtgz:
http://downloads.sourceforge.net/foam/OpenFOAM-1.6.General.gtgz?use_mirror=mesh
ThirdParty-1.6.General.gtgz:
http://downloads.sourceforge.net/foam/ThirdParty-1.6.General.gtgz?use_mirror=mesh
PatchesNBatches.tar.gz:
http://openfoamwiki.net/images/e/e2/PatchesNBatches.tar.gz
mpich2-1.1.1p1-win-ia32.msi:
http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/1.1.1p1/mpich2-1.1.1p1-win-ia32.msi
mingw相关文件:
http://heanet.dl.sourceforge.net/sourceforge/mingw
Windows下OpenFOAM开发及使用环境配置指南 (2)【转载】的更多相关文章
- Windows下OpenFOAM开发及使用环境配置指南 (1)【转载】
转载自:http://openfoam.blog.sohu.com/158614863.html *************************************************** ...
- 【Qt】Qt在Windows下的开发与调试环境配置
前文已经交待了从源码编译Qt自定义版本.现在可以开始配置一下开发与调试程序并写个Hello World了. 1. IDE 虽然Qt官方有VS插件使我们可以在VisualStudio中开发Qt应用,但我 ...
- Windows下的Anaconda+OpenCV的环境配置
Windows下的Anaconda+OpenCV的环境配置
- windows下安装node.js及环境配置、部署项目
windows下安装node.js及环境配置.部署项目 一.总结 一句话总结: 安装nodejs软件:就像普普通通的的软件那样安装 配置nodejs安装的全局模块的环境变量 并且安装cnpm(比如cn ...
- windows下vagrant使用及工作环境配置
环境搭建记录(2014-08-01) 操作系统: Win7旗舰版 Vagrant版本: 1.6 搭建过程 安装vagrant 右键打开安装包按照提示安装即可 安装后会自动把vagrant添加到环境变量 ...
- Windows下QT4.8.4编译环境的搭建(转载http://blog.csdn.net/bestgonghuibin/article/details/38933141)
开始使用QT了,所以第一步就是把环境搭起来,这里小记一下,以免以后忘记. 1. 下载安装文件 要使用QT功能,那么必须要下载QT的源码,还必须要一个是用QT的编译环境,可以是VS2010,也可以是专用 ...
- Windows下node.js安装及环境配置
1. 安装 官网下载node.js的安装版,一路next,中间可以自定义安装路径 完成后安装目录内容如下 cmd下检查是否安装成功 新版Node.js已自带npm,所以安装Node.js时会一起安装, ...
- windows下跑python flask,环境配置
首先声明一下,我安装的是python 2.7. 第一步:下载easy_setup.py 下载地址:https://pypi.python.org/pypi/setuptools 这个下载地址真心难找, ...
- Windows下安装Python模块时环境配置
“Win +R”打开cmd终端,如果直接在里面使用pip命令的时候,要么出现“syntax invalid”,要么出现: 'pip' is not recognized as an internal ...
随机推荐
- 【前端开发】ES6知识点系统化梳理笔记
>ES6扩展: #Map和Set是es6标准新增的数据类型 ##Map是key-value(关键字-值),Map允许修改value,不允许修改key,Map支持下标操作 var m = new ...
- shell脚本编写mind
首先我们要缩小这个问题的范围 如果在面试中被问到这样的问题,说说shell脚本编写思路 如:你是在公司主要负责zabbix监控的 对答如下:shell脚本这个说法挺广的,您看我这么跟您说吧,我在平时工 ...
- python之第一对象,函数名的应用,闭包
一.第一对象 在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量.可以作为元素添加到集合对象中.可作为参数值传递给其它函数, 还可以当做函数的返回值,这些特性就是第一类对象 ...
- 运输层8——TCP运输连接管理
目录 1. TCP的连接建立 2. TCP的连接释放 写在前面:本文章是针对<计算机网络第七版>的学习笔记 运输层1--运输层协议概述 运输层2--用户数据报协议UDP 运输层3--传输控 ...
- linux修改MAC的方法
Linux修改MAC地址方法 Linux modifies MAC address method 1 ifconfig wlan0 down 2 ifconfig wlan0 hw ether MAC ...
- matlab(4) Logistic regression:求θ的值使用fminunc / 画decision boundary(直线)plotDecisionBoundary
画decision boundary(直线) %% ============= Part 3: Optimizing using fminunc =============% In this exer ...
- 修改git提交的用户名和密码
目的:每个项目自定义Git提交的用户名和邮箱 1.在本地找到某个项目所在的地址 2.找到config文件 3.增加如下配置 4. ok,这样每个项目都可以定义提交者姓名和邮箱了
- Jmeter+Selenium结合使用(完整篇)
selenium登录后的cookie交接给接口结合使用 一.下载webdriver插件(包含谷歌和火狐驱动),安装好之后需重启jmeter 二.在配置元件中添加jp@gc - Chrome Drive ...
- 前端知识体系:JavaScript基础-作用域和闭包-this的原理以及几种使用场景
一.问题由来: var obj = { foo: function () { console.log(this.bar) }, bar: 1 }; var foo = obj.foo; var bar ...
- JAVA系列:浅谈Java中的equals和==
在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str2 = new String(&qu ...