openfoam24编译指南
‘壹’ openfoam需要多少linux知识
在使用OpenFOAM之前,我一直生活在windows温暖舒适的环境里,因为要装OpenFOAM才第一次在电脑上下载了Ubuntu系统,小心翼翼的拿鼠标一路点确认就安装成功了。 OpenFOAM的安装和编译也很容易只要按照官网的流程一步步都能成功,所以如果只需要让程序跑起来,那么就像之前几个回答里说的那样,几个常用的命令就足够了,随手正能量:常用的Linux命令官网上有一个总结,虽然只有一页,但绰绰有余,到此为止。使用OpenFOAM就像使用普通的商业软件一样,不需要支付任何的费用,不过免费只是好处之一,开源意味着我们可以自由地为OpenFOAM增加功能,而这才是大多数人使用OpenFOAM的原因。到了这一步,会发现一些想实现的功能并没有被包括在官方的版本里,但是网上有开源的代码,好比swak4Foam功能包可以帮助实现复杂的边界条件 处理计算结果,pyFoam提供很多脚本来自动完成一些重复性的操作,又或者是一些专门领域用到的开源包 好比造波用的waves2Foam,但这些第三方开发的工具,就并不像OpenFOAM官方版本那么友好了,它们当中很有可能依赖于其他的函数库 需要自己去解决一些依赖关系的错误,这时候就需要了解一下这些依赖关系是怎么工作的 学会正确地安装依赖包 正确地设置环境变量 再进一步,可能需要自己编脚本 来自动化前后处理,随手正能量: Bash入门教程 ,Bash脚本可以用来避免重复的劳动 提高工作效率,这个非常有用,可以用来分析log文件 跟踪残差和收敛性,尤其是在使用自己编写的solver时 官方工具不能实现需要的功能时 这是从log文件里提取信息的最髙效的方法最后一个有用的东西是python其实和OpenFOAM还有Linux关系都不大,但我全靠它进行数据分析和画图。
在使用OpenFOAM之前,我一直生活在windows温暖舒适的环境里,因为要装OpenFOAM才第一次在电脑上下载了Ubuntu系统,小心翼翼的拿鼠标一路点确认就安装成功了。 OpenFOAM的安装和编译也很容易只要按照官网的流程一步步都能成功,所以如果只需要让程序跑起来,那么就像之前几个回答里说的那样,几个常用的命令就足够了,随手正能量:常用的Linux命令官网上有一个总结,虽然只有一页,但绰绰有余,到此为止。使用OpenFOAM就像使用普通的商业软件一样,不需要支付任何的费用,不过免费只是好处之一,开源意味着我们可以自由地为OpenFOAM增加功能,而这才是大多数人使用OpenFOAM的原因。到了这一步,会发现一些想实现的功能并没有被包括在官方的版本里,但是网上有开源的代码,好比swak4Foam功能包可以帮助实现复杂的边界条件 处理计算结果,pyFoam提供很多脚本来自动完成一些重复性的操作,又或者是一些专门领域用到的开源包 好比造波用的waves2Foam,但这些第三方开发的工具,就并不像OpenFOAM官方版本那么友好了,它们当中很有可能依赖于其他的函数库 需要自己去解决一些依赖关系的错误,这时候就需要了解一下这些依赖关系是怎么工作的 学会正确地安装依赖包 正确地设置环境变量 再进一步,可能需要自己编脚本 来自动化前后处理,随手正能量: Bash入门教程 ,Bash脚本可以用来避免重复的劳动 提高工作效率,这个非常有用,可以用来分析log文件 跟踪残差和收敛性,尤其是在使用自己编写的solver时 官方工具不能实现需要的功能时 这是从log文件里提取信息的最髙效的方法最后一个有用的东西是python其实和OpenFOAM还有Linux关系都不大,但我全靠它进行数据分析和画图。
‘贰’ 如何在终端写openfoam文件
完全没有必要在终端写啊,终端写起来麻烦,而且还不能用鼠标定位,只能用键盘上下左右来确定行数,你可以直接在相应的tutorial文件夹下对0 constant system进行编译,编译好了之后保存,然后再去终端执行就可以了。
‘叁’ openfoam自编求解器怎么编译
通过wmake指令编译。
自编求解器文件夹至少要有.C文件和Make文件夹(其中包含options及files)
‘肆’ 如何在OpenFOAM中增加边界条件
如何在OpenFOAM中增加边界条件【翻译】
注:如有翻译不妥,还请见谅
翻译自:http://openfoamwiki.net/index.php/HowTo_Adding_a_new_boundary_condition
首先请看:http://openfoamwiki.net/index.php/Contrib_groovyBC
如果你没有合适的边界条件,请进行下面的步骤:
选择一个和你需要的边界条件相近的已有边界条件—我们叫它originalFvPatchField。
拷贝该边界条件的目录到其他任意位置。(比如say run/myCode)。
将拷贝的所有文件全部重命名(比如say customFvPatchField)。
在所有新的文件文本中将旧有名称全部查找替换为新的名称(比如originalFvPatchField替换为customFvPatchField)
修改代码使之适合你的需求
创建目录结构:myCode/Make,并且在其中放置文件和选项。
将相关的信息放入文件当中:
在finiteVolume/Make/files目录下查找originalFvPatchField
拷贝相关的入口到你的myCode/Make/files目录下
将入口重命名为你需要的—用你的customFvPatchField来重命名它(如果在最后有一个s,将s保留)
告知编译器新库的名字。使用$(FOAM_USER_LIBBIN)来替换$(FOAM_LIBBIN),将lib添加到新名称前面,它应该看起来是这样的:
LIB = $(FOAM_USER_LIBBIN)/libcustomPatchField
选择文件应该有EXE_INC(对任意的包含都适用,比如I$(LIB_SRC)/finiteVolume/lnInclude之于finiteVolume)和LIB_LIBS(对任何包含库,比如lfiniteVolume之于finiteVolume),其他LIB_LIBS也一样。
编译:$wmake libso
添加任何需要的新的字典条目到你的初始条件文件中,比如0/U和0/P 文件。
增加库("libcustomFvPatchField.so" "libOpenFOAM.so")到controlDict中。
现在新的边界条件应该可以正常运行了。
‘伍’ 在linux上使用OpenFoam该怎么起步,有什么注意点,以及编程语言
“公欲善其事,必先利其器”。编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工具。
1、操作系统
在UNIX或Linux系统中学习C很方便,所以在开始您的学习旅程前请先选择一个UNIX或Linux操作系统,目前可供个人免费使用的UNIX或Linux系统有FreeBSD、RedHat Linux、SUSE Linux等,而且在安装包中还提供很多实用的工具,如:gcc, make等。
如果您一直使用Windows,身边又没有多余的机器安装UNIX,则可以使用VMware,通过VMware安装虚拟系统。
2、编译工具
目前绝大多数Unix或Lnux系统都提供CC或GCC编译器,最简单的cc命令格式如下:
cc -o hello hello.c
在unix shell环境中敲入上面的代码会将hello.c程序编译成可执行文件hello。
3、make工具
如 GNU make、System V make 和 Berkeley make 是用来组织应用程序编译过程的基本工具,但是每个 make 工具之间又有所不同。
‘陆’ 如何在超算上安装openfoam
在这里,我们介绍比较稳定的Source Pack编译安装方式。需要提及的是,编译OpenFOAM需要依赖很多Ubuntu下的库,这些库需要联网安装。
‘柒’ openfoam怎么编译第三方paraview
简介OpenFOAM是一个跟Fluent,CFX类似的CFD软件,但其为开源的,可以看做是一个在linux下运行的计算流体力学(CFD)类库1,OpenFOAM的前身为FOAM(Field Operation and Manipulation的简写),后来作为开源代码公布到网上,任何人都可以自由下载和传播它的源代码。其作者之一Hrvoje Jasak为克罗地亚人,1993年在读PhD期间开始写FOAM。目前OpenFOAM有两个版本,一个是官方版本由weller维护,一个是ext版本由Jasak维护。功能介绍OpenFOAM是一个完全由C++编写的面向对象的CFD类库…
‘捌’ 如何实现同一用户下的OpenFOAM多版本编译
不同版本的安装和单一版本安装没有什么区别,比如你要安装1.5.x 按照我附件相应配置文件名字为OpenFOAM15x,直接输入source OpenFOAM15x就可以执行相应的安装了。对于不同的版本,需要在新环境下,重新安装即可,所有的都要重新安装,包括第三方包。放心,新的配置环境不会影响你以前安装的版本。 应当注意不要将那个etc/bashrc的执行命令,写在你的.bashrc下面了,直接写到你的配置文件中就行了,每次使用前source一下。
‘玖’ 编译openfoam需要多长时间
具体位置放在:打开 /usr/local/php/etc/php-fpm.conf 文件 把max_children由之前的10改为现在的30,这样就可以保证 有充足的php-cgi进程可以被使用; 把request_terminate_timeout由之前的0s改为60s,这样php-cgi进程 处理脚本的超时时间就是60...