【一起学OpenFOAM】系列由来
1 为什么要学习OpenFOAM
掐指算起来,接触CFD也差不多有十个年头了,其间一直使用的商用CFD软件,有Fluent、CFX、StarCCM+等,这些商用软件各有其优缺点,都能较好的解决常规的工程问题。然而,最近当我试图往这些软件中添加一些核心求解算法时,发现这是一个不可完成的任务,这些软件的核心计算程序都已经被封装得严严实实,外人连看一眼的资格都没有,更别说去修改了。这时我将目光投向了开源CFD软件OpenFOAM。
其实严格来讲OpenFOAM并不能称之为一款软件,说其是一个C++类库要更合适一些。OpenFOAM提供了CFD计算的一些基础类库,使用者可以在这些基础类库的基础上开发属于自己的CFD求解器。当然,OpenFOAM也预制了一些标准求解器,足以应付一些常规的工程问题。不管从哪个角度来看,OpenFOAM目前在开源CFD领域都是一款非常全面的软件,而且不管使用者熟悉或不熟悉C++,都可以使用它。对于不会编程的人来讲,可以将OpenFOAM当做一款与Fluent类似的求解器;而如果你熟悉程序设计,则可以任意打造OpenFOAM。要知道,如果想要在商用CFD软件中加入新的求解技术,你除了耐心的祈祷软件版本更新之外没有任何的办法,但是你可以利用OpenFOAM加入任何你想要尝试的新技术。
工业
OpenFOAM是免费的,这对于中小型企业来说,吸引力可以说相当的大,只要有一个成熟的前处理GUI,OpenFOAM可以迅速的转化成类似Fluent的CFD软件。科研
OpenFOAM的源代码是公开的,因此可以很方便的修改或增加自己的CFD算法。这对于研究算法的人来讲,OpenFOAM相当于提供了一个算法测试平台,可以省去很多的基础工作。CFD学习
由于OpenFOAM的算法公开,通过研究OpenFOAM的源代码,可以加深的对于CFD内部工作机理的了解。
由于OpenFOAM的适用场合非常广泛,可以预见,OpenFOAM会慢慢的流行起来。
2 为什么有这个系列
说实话,写系列文章是很花费时间的。尤其是对于一些图片插入不容易的编辑器来说。有人说,录视频要比写文章有效率。没错,录视频很简单也很方便,但是写文章视频不可替代的优势,那就是思维整理。
我写这些文章的目的并非给别人看,主要的目的还是方便自己理解和记忆。而将这些学习过程记录下来分享给其他的学习者,若能对他人的学习有所帮助,则是意外的收获了。
3 关于此系列
这个系列主要是讲OpenFOAM的学习之路,并不会涉及到其他的CFD软件。去年寒假期间写的《小白的CFD之旅》是关于FLUENT软件的学习之路,到现在也还没有更新完,我对天发誓会继续更新下去。
OpenFOAM的学习与Fluent软件的学习有很大的不一样的地方,前面提到OpenFOAM不仅可以作为常规的CFD求解器,而且还可以作为一个CFD求解器开发的基础类库,因此我的学习思路是先将OpenFOAM当做基本求解器,熟悉其作为求解器时各种CASE文件的编写方法,后期会涉及到OpenFOAM的程序设计,包括GUI界面开发以及求解器开发。
预计此系列会持续更新50篇。有兴趣的读者可以扫描下方的二维码关注微信公众号。

【一起学OpenFOAM】系列由来的更多相关文章
- 【一起学OpenFOAM】03 OpenFOAM基本使用流程
OpenFOAM初学者常常对于软件的使用流程感到很迷惑,与其他的具有GUI的CFD软件不同,OpenFOAM的所有操作均为基于文本操作,譬如说里面各种计算模型.计算参数.流程控制参数等,均为通过修改对 ...
- 跟着鸟哥学Linux系列笔记3-第11章BASH学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...
- 跟着鸟哥学Linux系列笔记2-第10章VIM学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 常用的文本编辑器:Emacs, pico, nano, joe, vim VI ...
- 跟着鸟哥学Linux系列笔记0-如何解决问题
跟着鸟哥学Linux系列笔记0-扫盲之概念 在发生问题怎么处理: 1. 在自己的主机.网络数据库上查询How-To或FAQ -Linux 自身的文件数据: /usr/share/doc -CLDP中 ...
- 跟着鸟哥学Linux系列笔记1
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 装完linux之后,接下来一步就是进行相关命令的学习了 第五章:首次登录与在线求助man page 1. X ...
- 从头学Android系列
从头学Android系列 http://blog.csdn.net/worker90/article/category/888358
- Spring Web MVC中的页面缓存支持 ——跟我学SpringMVC系列
Spring Web MVC中的页面缓存支持 ——跟我学SpringMVC系列
- [Python] 文科生零基础学编程系列二——数据类型、变量、常量的基础概念
上一篇:[Python] 文科生零基础学编程系列--对象.集合.属性.方法的基本定义 下一篇: (仍先以最简单的Excel的VBA为例,语法与Python不同,但概念和逻辑需要理解透彻) p.p1 { ...
- [Python] 文科生零基础学编程系列三——数据运算符的基本类别
上一篇:[Python] 文科生零基础学编程系列二--数据类型.变量.常量的基础概念 下一篇: ※ 程序的执行过程,就是对数据进行运算的过程. 不同的数据类型,可以进行不同的运算, 按照数据运算类型的 ...
- .net基础学java系列(四)Console实操
上一篇文章 .net基础学java系列(三)徘徊反思 本章节没啥营养,请绕路! 看视频,不实操,对于上了年龄的人来说,是记不住的!我已经看了几遍IDEA的教学视频: https://edu.51cto ...
随机推荐
- shell注释
sh里没有多行注释,只能每一行加一个#号.只能像这样: #-------------------------------------------- # 这是一个自动打ipa的脚本,基于webfrogs ...
- 对抗密码破解 —— Web 前端慢 Hash
(更新:https://www.cnblogs.com/index-html/p/frontend_kdf.html ) 0x00 前言 天下武功,唯快不破.但在密码学中则不同.算法越快,越容易破. ...
- 在WPF中使用依赖注入的方式创建视图
在WPF中使用依赖注入的方式创建视图 0x00 问题的产生 互联网时代桌面开发真是越来越少了,很多应用都转到了浏览器端和移动智能终端,相应的软件开发上的新技术应用到桌面开发的文章也很少.我之前主要做W ...
- 一百元的智能家居——Asp.Net Mvc Api+讯飞语音+Android+Arduino
大半夜的,先说些废话提提神 如今智能家居已经不再停留在概念阶段,高大上的科技公司都已经推出了自己的部分或全套的智能家居解决方案,不过就目前的现状而言,大多还停留在展厅阶段,还没有广泛的推广起来,有人说 ...
- sonn_game网站开发01:写在最前面
之前做的个人博客项目,日向博客现在已经进入后期完善阶段了.是时候开始打造一个新坑了. 然而改造个什么坑呢?构思了好几天,想了好多方案,都觉得没啥动手欲望.因为,我想做的是那种,自己能用得上,而且有一定 ...
- [APUE]标准IO库(上)
一.流和FILE对象 系统IO都是针对文件描述符,当打开一个文件时,即返回一个文件描述符,然后用该文件描述符来进行下面的操作,而对于标准IO库,它们的操作则是围绕流(stream)进行的. 当打开一个 ...
- 一篇文章看懂TPCx-BB(大数据基准测试工具)源码
TPCx-BB是大数据基准测试工具,它通过模拟零售商的30个应用场景,执行30个查询来衡量基于Hadoop的大数据系统的包括硬件和软件的性能.其中一些场景还用到了机器学习算法(聚类.线性回归等).为了 ...
- How those spring enable annotations work--转
原文地址:http://blog.fawnanddoug.com/2012/08/how-those-spring-enable-annotations-work.html Spring's Java ...
- Unity3D框架插件uFrame实践记录(二)
5.创建属性和命令 本小节主要内容包括: 在Element节点上创建属性数据 在Element节点上创建命令数据 5.1.在Element节点上创建属性数据 在这里,我们首先为Login节点中的属性( ...
- BI分析受阻?FineBI推出SPA螺旋式分析新功能!
过去,企业级的数据分析通常会有这么几种场景,业务部门托信息部门分析数据,结果报表一出,唇枪舌剑争论你我高低,数据不准,指标不对.信息部门欠缺业务概念,业务部门不懂技术逻辑,数据分析之路,暂时搁浅. 后 ...