openfoam需要多少linux知识?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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关系都不大,但我全靠它进行数据分析和画图。
参考技术A现在的Linux界面做的挺好的Ubuntu,OpenSUSE什么的都很容易上手,如果你windows电脑里没有360和百度全家桶之类的东西,那根本不用担心Linux下用OpenFOAM的问题23333Linux基本操作入门很容易,如果仅限于操作OpenFOAM的话,跟着OpenFOAM的教程做一遍就可以了。比如看苏军伟老师的博客,会比较详细地教怎么用OpenFOAM,环境就是linux举个例子,openfoam的编译简直傻瓜,对着官网的步骤,一步步把命令复制粘贴到终端里,所有依赖都能解决,把步骤做完就能编译完了。之后你写的openfoam程序都是用openfoam自带的wmake编译的而不是gcc等。你要是不需要自己开发,只是当作商软一样用的话就更简单了。
参考技术B印象中OPENFOAM有自己的配置手册,写的很详细了,这些Linux下的大型软件其实说白了主要问题在于包管理的坑,怎么正确处理包依赖比较困难The Linux Command Line我是看上面那本入门的,除掉最后一章bash不用看,基础知识部分一天就能看完另外,除掉apt-get,可以试试aptitudeaptitude的好处是在于碰到包不对的情况会给你一些选项去解决包依赖问题最后的最后,Google跟stackoverflow是有用的,你要定义一个整形变量就是直接“类型 变量名;”就行。例如定一个叫做a的整形变量 “int a;” 详细说明: 在C++中,变量声明(declaration)只有在使用extern关键字时才成立其他情况下都是定义(definition)。
Openfoam - pisoFoam 只使用一个核心
【中文标题】Openfoam - pisoFoam 只使用一个核心【英文标题】:Openfoam - pisoFoam only uses one core 【发布时间】:2018-04-12 21:05:03 【问题描述】:我使用 openfoam 版本 1606+ 当我运行 pisoFoam 时,在 htop 中(显示 CPU 使用情况)我可以看到 pisoFoam 只使用一个内核(当然使用率为 99%)。如果我想使用我的 CPU 的所有内核,我需要修改什么?
最好的问候
【问题讨论】:
【参考方案1】:要并行运行pisoFoam
,大致需要采取以下步骤:
decomposePar
分解网格和字段(假设您正确设置了system/decomposeParDict
文件)。
通过此示例命令以并行模式执行pisoFoam
:mpirun -np X pisoFoam -parallel >& logFile(SampiyonCanakkaleDardanel)
,即X
是正在使用的处理器的整数。假设您的工作站中有 4 个内核,那么 X = 4
。
请注意,您无需修改 pisoFoam
中的任何内容即可执行并行任务。
【讨论】:
【参考方案2】:这是典型的工作流程(生成网格之后):
checkMesh > log.checkMesh.1 2>&1
decomposePar > log.decomposePar 2>&1
renumberMesh > log.renumberMesh 2>&1
checkMesh > log.checkMesh.2 2>&1
mpiexec -n 5 pisoFoam -parallel > log.pisoFoam 2>&1
reconstructPar
注意事项:
在 v2.4 上测试。 在本例中,我使用 5 作为内核数。替换为您想要的数字。您可能想使用超线程进行测试;它可能有用也可能没用。 不要忘记-parallel
标志。
renumberMesh
在大型网格的情况下很有用。
尽量使用functionObjects
,因为节省时间的目录会占用大量磁盘空间。
请参阅 OpenFOAM 教程以获取上述所有内容的示例(例如 pitzDaily、channel395、damBreak、motorBike 等)
【讨论】:
以上是关于openfoam需要多少linux知识?的主要内容,如果未能解决你的问题,请参考以下文章