用 C++11 实现迷你版本的运行时选择 2018-12-14 OpenFOAM 3583 words 8 mins read 本文用 C++11 标准实现了一个类似 OpenFOAM 运行时选择机制的示例。通过这个示例可以更加容易直观地了解运行时选择内部的实现原理。 一个简单的例子 考虑用经典的简单 Read more...
OpenFOAM 中的不可压和可压 RANS 方程 2018-12-13 turbulence model 1554 words 4 mins read 我们已经在“OpenFOAM 湍流模型模板框架分析”系列博文中介绍过,OpenFOAM 将不可压缩流和可压缩流的湍流模型代码复用,放在一个统一的 Read more...
OpenFOAM 湍流模型模板框架分析(三):RANS 与 LES 2018-12-11 turbulence model 1547 words 4 mins read 上篇文章中已经介绍了湍流模型框架中三个重要的模板类,本篇接着讲解雷诺平均 Navier-Stokes (RANS)方法和大涡模拟方法(LES)在该框架下的实现。 RANS 方法和 Read more...
OpenFOAM 湍流模型模板框架分析(二):三个类模板 2018-12-10 turbulence model 3243 words 7 mins read 更新日志 2019.01.10 修正 incompressible::turbulenceModel::New 实际调用函数的描述 上篇文章中已经介绍了湍流模型框架的顶层设计,本篇讲解求解器中需要调用到的三个类模板。 OpenFOAM 将湍流模拟分为三类: Read more...
OpenFOAM 湍流模型模板框架分析(一):顶层设计 2018-12-09 turbulence model 2132 words 5 mins read 背景 在 OpenFOAM 2.3.0 时,Henry G. Weller 开始采用基于原则设计的方式重构湍流模型代码。在这个版本中,新旧代码共存。旧代码位于 turbulenceModel 文件夹中,新的采用基于原则设 Read more...
从 GeometricField 到 fvMatrix 2018-11-01 OpenFOAM 6 5626 words 12 mins read GeometricField 和 fvMatrix 是 OpenFOAM 中的两个重要的类。本文将试图分析这两个类的源码实现及其用法。 GeometricField 类 GeometricField 是用来描述几何场信息的类模板(class template)。注意 Read more...
非结构网格如何计算库朗数 2018-10-24 function objects 1531 words 4 mins read 库朗数是用来描述流体“数值流动”状态的一个无量纲参数,它关系到数值求解的稳定性。要了解库朗数的定义需要先知道什么是 CFL 条件。 CFL 条件 CFL 条件以 Co Read more...
OpenFOAM 中的 lambda2 准则 2018-10-23 function objects 491 words 1 min read $\lambda_2$ 准则同 $Q$ 准则类似,也是一种漩涡识别方法。 $\lambda_2$ 的定义 将速度梯度 $\nabla \mathbf u$ 分解成对称张量 $\mathbf S$ 和反对称张量 $\mathbf \Omega$ 两部分 $$ \begin{equation} \nabla \mathbf u = \mathbf S + \mathbf \Omega \end{equation} $$ 其中 $$ \begin{equation} Read more...
OpenFOAM 中的 Q 准则 2018-10-15 function objects 1524 words 4 mins read $Q$ 准则是一种常用的漩涡识别方法,由 Hunt 等1提出。要了解 $Q$ 的定义,首先要知道什么是张量的不变量。 张量的不变量 对于 $3\times3$ 的张量 $\mathbf A$,其特征方程可以表 Read more...
雷诺平均 Navier-Stokes 方程 2018-02-02 turbulence model 1968 words 4 mins read 雷诺平均方法 湍流是瞬态的三维流动。工程师可能不关心所有细节,而只关心流动表现出的总体特性。比如,只关心某个物理量的平均值而不是瞬态值,因此用 Read more...