Wolfdynamics OpenFOAM学习视频
好长时间没有关注OpenFOAM了,最近逛油管,偶然发现Wolfdynamic将他们的基础培训视频放到了油管(看上传日期,似乎是几个月前就已经上传了),真心佩服这帮人的共享精神。 OpenFOAM的系统性学习资料极少,虽然市面上充斥着大量的...
好长时间没有关注OpenFOAM了,最近逛油管,偶然发现Wolfdynamic将他们的基础培训视频放到了油管(看上传日期,似乎是几个月前就已经上传了),真心佩服这帮人的共享精神。 OpenFOAM的系统性学习资料极少,虽然市面上充斥着大量的...
本文描述在WSL中安装OpenFOAM v2206的全部过程。 1 下载源代码 利用下面的命令创建目录 cd $HOMEmkdir OpenFOAMcd OpenFOAMmkdir v2206cd v2206 利用wget命令从github...
OpenFOAM v2112中内置的多相流求解器包括: 求解器 说明 MPPICInterFoam 使用基于VOF相分数的界面捕捉方法求解两种不可压缩、等温、不互溶的流体。动量和其他流体性质基于混合相,该求解器求解单个动量方程。求解器包含M...
本案例演示利用OpenFOAM编程实现颗粒跟踪并绘制颗粒轨迹。 1 文件结构 利用下面的命令创建文件结构。 runfoamNewApp demo16 文件结构如下图所示。 2 程序源码 本案例只需要一个源文件demo16.C,其内...
本案例演示利用OpenFOAM创建自定义插值格式。 1 文件结构 利用下面的命令创建文件结构: runfoamNewApp demo15cd demo15touch demo15.H 文件结构如下图所示。 修改...
本案例演示利用OpenFOAM中的基础代码实现SIMPLE算法。 1 SIMPLE算法 对于不可压缩NS方程,可以表示为: 式中有4个待求物理量:、、、。式中为运动压力(),为运动粘度。 方程求解有两个麻烦问题需要处理: 没有显式的压力求解...
本案例演示在OpenFOAM中利用编程创建网格。 1 创建程序框架 利用下面的命令创建程序框架。 runfoamNewApp demo11 文件结构如下图所示。 2 源代码 只需要处理demo11.C文件即可。 #in...
利用OpenFOAM开发一个求解波动方程的的求解器。 波动方程表达式为: 式中,c为波速,h为波高。 1 创建文件 利用foamNewApp快速创建文件结构。 runfoamNewApp demo13cd demo13t...
本案例演示利用OpenFOAM创建一个标量输运方程求解器。 本案例要求解的方程为: 没有瞬态项和源项。 1 文件框架 利用foamNewApp快速创建文件框架。 runfoamNewApp demo10 && ...
本案例演示编程实现一个在计算时进行数据处理的动态库程序。 1 创建文件结构 可以利用工具foamNewFunctionObject创建一个functionObjects工具。本案例演示创建一个在计算时获取某边界流量信息的functionOb...
本文描述在OpenFOAM中编程实现自定义边界类型。 OpenFOAM中可以利用codeStream、codeFixedValue实现自定义边界上物理场分布。这些方式操作起来简单,但是功能也较为单一。若想要实现更加复杂的边界条件类型,可以通...
本文演示在OpenFOAM中自定义库的基本过程。 有时候为了数据封装的需要,可以将特殊的代码先编译成库,然后在其他的代码中对库加以调用。本案例演示此过程。 1 文件准备 这里将库文件、功能文件以及测试文件分开。所有的文件都放置在run文件夹...
本案例演示自定义类并利用自定义的类操纵OpenFOAM数据。 类是面向对象编程的基础结构,利用类可以很方便地实现代码复用和封装。本案例通过两个类的定义来演示C++中类的定义与调用过程。 1 文件结构 和前面的案例一样,我们先创建基础的文件结...
本案例演示利用OpenFOAM进行并行计算的基础方法。 CFD计算自然离不开并行计算,在对大规模问题进行计算时,OpenFOAM也可以使用并行模式。然而利用并行模式进行计算时,可能需要修改一些程序代码,尤其是在需要获取全场信息时。本文以一个...
Open FOAM是Open Source Field Operation and Manipulation的英文缩写,从其名字就可以看出,其是一个用来操纵和处理场数据的开源程序库。CFD中也包含大量的物理场,如压力场、速度场、组分场等,这...
本文描述利用fvMesh类获取网格信息的一些基本用法。 OpenFOAM应用过程中需要频繁地与网格进行交互,比如获取网格面信息,获得网格中心坐标等。利用fvMesh类中的相应成员函数很容易实现这类需求。 fvMesh类是一个极为复杂的类,其...
本文演示利用OpenFOAM中的argList类为创建的程序构造命令参数。 从提供的argc和argv参数中提取命令参数和选项。如下面的命令执行方式: program -listFiles (*.txt) 命令中,program为命令的名称...
在OpenFOAM应用过程中,需要频繁的读写文件,如在计算之前需要读写各种字典文件以及边界条件数据,以及在计算过程中需要实时将计算结果数据写出到文件中。本案例演示编写程序读取指定文件中的相应内容以及将数据写入到文件的想要位置。 OpenFO...
OpenFOAM本质上是一个C++类库,其包含了从底层数值算法到高层应用求解器的所有细节代码。用户可以在此类库的基础上开发自己专有的CFD程序。然而OpenFOAM代码是一个极其庞大的代码库,想要灵活运用其基础代码也不是一件容易的事情,尤其...
本案例演示利用OpenFOAM中的Foam::Info函数输出信息,以及在Linux系统中配置OpenFOAM编译环境。 1 文件准备 启动终端,采用下面的命令创建文件: cd $FOAM_RUNmkdir demo0touch demo0...