首页/文章/ 详情

花大量的时间死磕OpenFOAM,有必要么?

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家
平台推荐
内容稀缺
10月前浏览8312
后台有道友留言问:有没有必要花大量的时间和精力去死磕OpenFOAM ?个人觉得这取决于个人的需求。这里将CFD使用者简单地分为两大类:CFD工程应用及CFD算法开发。
1、CFD工程应用
如果只是将CFD当做是工程应用工具的话,那基本上可以不用花费大量时间在OpenFOAM上,尤其是在国内。虽然OpenFOAM提供了大量预置的求解器,但相对于成熟的商业软件来说,仍然存在差距。毕竟成熟的商业软件经过了大量的市场应用的考验,软件公司为了利益也会对现有的软件进行深度优化。
相比较而言,OpenFOAM预置的求解器还是略显粗糙,这不仅仅表现在程序代码上,还存在于代码编译优化、并行计算等方面。当然不排除经过深度开发的OpenFOAM专用求解器能够超越商业软件。
除此以外,OpenFOAM相对于商业CFD软件来说,在几何前处理及网格生成方面存在极大缺陷。
CFD工程应用中可能会用到OpenFOAM的一些场景:
  • 商业版权限制。一些小企业买不起正版的商业软件,没办法转而使用OpenFOAM进行工业应用。
  • 特殊的物理场景。一些特殊的物理现象,利用商业软件可能无法解决或很难解决,此时基于OpenFOAM开发专用的求解器可能是一种不错的选择。
2、CFD算法程序开发
作为一个开源的CFD库,OpenFOAM包含了大量适合于CFD开发的底层代码,基于这些底层代码,开发及试验自己的CFD算法,可以节省大量的造轮子时间。
这里也分几个方面:
  • 求解器开发。利用OpenFOAM开发求解器其实属于应用层面。基于OpenFOAM定义的底层代码开发适合于特定物理场景的求解器。如果求解算法已知的话,这一步其实就是纯代码编程的工作,技术含量不高。有技术含量的是推导求解算法。
  • 底层开发。这部分涉及的内容比较底层,如网格表示和处理、数据读写、代数方程求解等。目前这些底层代码中,有相当一部分是OpenFOAM借用的第三方库。
话说回来,如果是做CFD算法开发的话,肯定就没法使用商业软件了,最多就是使用商业软件搞点儿对比数据。从事这方面的话,OpenFOAM的竞争对手并非商业软件,而是其他的程序代码库,如SU2、MFix等。
不过OpenFOAM作为最全面、最成熟的通用CFD开源代码库,基本上没有直接对手。

所以回到最初的问题,OpenFOAM有没有必要花大量的时间去学?
如果是做CFD工程应用,那么先了解一下自身的应用环境,最简单的方式是去招聘网站看看相关行业的招聘要求。就个人了解,目前国内很少有使用OpenFOAM做工业应用的。
如果是从事CFD开发,那么花大量的时间和精力去搞OpenFOAM应该不会吃亏,了解软件架构和底层算法,这个对个人水平的提高是相当有帮助的。

(完)

来源:CFD之道
OpenFOAM通用试验
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-01-13
最近编辑:10月前
CFD之道
博士 | 教师 探讨CFD职场生活,闲谈CFD里外
获赞 2566粉丝 11300文章 734课程 27
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈