这里罗列我学习和使用OpenFOAM过程中参考到的一些资料,包括一些官方文档、幻灯片、网址等等。大多数都提供了文件连接或者下载最新版本的地址。
官方资料
- 官方资料网站 : 这里常用资料下载连接,还提供张量数学、linux命令等简短的基础教程。另外上面也有网页版本的OpenFOAM User’s Guide。
- 最新OpenFOAM User’s Guide PDF版本 提供算例教程,介绍程序和库的组织和编译、如何运行程序、标准求解器和使用工具、OpenFOAM算例组织和运行控制、网格、边界条件、后处理、物理和湍流模型等内容。
- 最新OpenFOAM User’s Guide Web版本
- OpenFOAM User’s Guide 中文文档
- OpenFOAM Programer’s Guide 这个文档相比User’s Guide简短得多,里面最重要的内容是第二章 – Discretisation procedures。 里面会讲到网格表示、空间时间离散、边界条件等稍微偏实现细节的内容。对于开发OpenFOAM求解器的用户来说非常有用。
- GitHub上的官方OpenFOAM代码仓库 : 所谓“开源”,开放源代码就在这里。包括最新发布版本、历史版本和当前正在开发的版本。
- OpenFOAM C++ Source Guide : Doxgen生成的OpenFOAM C++源代码文档。对于大型C++项目,这种结构化的源代码文档很有必要。看这个比直接浏览C++源代码更为方便。
上面的大多数资料会随着OpenFOAM的发布持续更新。注意除了www.openfoam.org,www.openfoam.com也算是官方网站。区别是前者是OpenFOAM基金会的网站,而后者是OpenCFD(ESI集团)公司的网站。开源软件的商标、版权、运作都比较复杂。关于这两者的关系可以参考这里。
MSc/PhD course in CFD with OpenSource software 幻灯片
- Hakan Nilsson, A first look at applications and the icoFoam/cavity work procedure
- Hakan Nilsson, How to find solver and utility tutorials in the source code, and how to figure out how to use them
- Hakan Nilsson, How to implement your own application
- Hakan Nilsson, How to implement an application, the rodFoam case
- Hakan Nilsson, How to implement a new boundary condition
- Hakan Nilsson, Basics of C++ and object orientation in OpenFOAM
- Hakan Nilsson, Object orientation in C++ and OpenFOAM
- Hakan Nilsson, Solving PDE with OpenFOAM
- Hakan Nilsson, Debugging OpenFOAM
- Hakan Nilsson, A look inside icoFoam (and pisoFoam)
- Hakan Nilsson, A first look at the source code of applications
- Hakan Nilsson, How to implement a functionObject
论文
- OpenFOAM开发者Hrvoje Jasak的博士论文 Error Analysis and Estimationfor the Finite Volume Methodwith Applications to Fluid Flows.
- Hrvoje Jasak et al., OpenFOAM: A C++ Library for Complex Physics Simulations, International Workshop on Coupled Methods in Numerical Dynamics IUC, Dubrovnik, Croatia, September 19th-21st 2007.
书籍
- F. Moukalled, L. Mangali, The Finite Volume Method in Computational Fluid Dynamics, An Advanced Introduction with OpenFOAM and Matlab, Springer, 2015
- Jens Höpken, The OpenFOAM Technology Primer
Instructional workshop on OpenFOAM programming 系列幻灯片
这里面讲的是如何开发一个求解器。并且里面也提前介绍了很多开发solver需要用到的概念。
WIKKI公司的一些幻灯片
- Hrvoje Jasak and Henrik Rusche, Five Basic Classes in OpenFOAM
- Hrvoje Jasak, Finite Volume Discretisation with Polyhedral Cell Support
- Hrvoje Jasak, Handling Parallelisation in OpenFOAM
OpenFOAM Workshop上的课程材料
还有历年举办的OpenFOAM Workshop的幻灯片资料都可以在这里找到
其他幻灯片
- Tommaso Lucchini, OpenFOAM postprocessing and advanced running options
- Tommaso Lucchini, Introduction to C++ for CFD modeling
- Tommaso Lucchini, Running OpenFOAM in parallel
- Gianluca Montenegro, OpenFOAM structure
- Tommaso Lucchini, OpenFOAM programming tutorial
- Fumiya Nozaki, OpenFOAM Spatial Interpolation
- Fumiya Nozaki, OpenFOAM Programming Tips
- Fumiya Nozaki, OpenFOAM Limited Version of Gradient Schemes
网站、博客、论坛
OpenFOAM 自带的test目录 $FOAM_APP/test
这个目录里面有很多示例性质的小程序源代码,每个小程序只演示到OpenFOAM诸多概念中的一个。