<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>OpenFOAM 之道</title>
    <link>https://marinecfd.xyz/</link>
    <description>Recent content on OpenFOAM 之道</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 26 May 2022 13:10:34 +0800</lastBuildDate><atom:link href="https://marinecfd.xyz/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>kOmegaSST 模型的由来（三）：BSL 模型和 SST 模型</title>
      <link>https://marinecfd.xyz/post/k-omega-sst-derivation-part3/</link>
      <pubDate>Thu, 26 May 2022 13:10:34 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/k-omega-sst-derivation-part3/</guid>
      <description>本系列博文如下： kOmegaSST 模型的由来（一）：从 epsilon 到 omega 方程 kOmegaSST 模型的由来（二）：模型常数和混合函数 kOmegaSST 模型的由来（三）：BSL 模型和 SST 模型 BSL 模型 Menter (1994) 1 实际</description>
    </item>
    
    <item>
      <title>kOmegaSST 模型的由来（二）：模型常数和混合函数</title>
      <link>https://marinecfd.xyz/post/k-omega-sst-derivation-part2/</link>
      <pubDate>Thu, 26 May 2022 10:10:34 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/k-omega-sst-derivation-part2/</guid>
      <description>本系列博文如下： kOmegaSST 模型的由来（一）：从 epsilon 到 omega 方程 kOmegaSST 模型的由来（二）：模型常数和混合函数 kOmegaSST 模型的由来（三）：BSL 模型和 SST 模型 模型常数 由标准 $k-\varepsilon$</description>
    </item>
    
    <item>
      <title>kOmegaSST 模型的由来（一）：从 epsilon 到 omega 方程</title>
      <link>https://marinecfd.xyz/post/k-omega-sst-derivation-part1/</link>
      <pubDate>Wed, 25 May 2022 23:10:34 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/k-omega-sst-derivation-part1/</guid>
      <description>本系列博文如下： kOmegaSST 模型的由来（一）：从 epsilon 到 omega 方程 kOmegaSST 模型的由来（二）：模型常数和混合函数 kOmegaSST 模型的由来（三）：BSL 模型和 SST 模型 $k-\varepsilon$ 模型通用形式 $k-\varepsilon$</description>
    </item>
    
    <item>
      <title>Spalart Allmaras 模型</title>
      <link>https://marinecfd.xyz/post/spalart-allmaras/</link>
      <pubDate>Sun, 01 Nov 2020 08:50:00 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/spalart-allmaras/</guid>
      <description>简介 Spalart-Allmaras （SA）湍流模型由 Spalart 和 Allmaras 提出1，是一个一方程模型，设计初衷是用于航空领域的壁面流。有如下特点： 只需求解一个输运方程，相比其他湍流模型计</description>
    </item>
    
    <item>
      <title>OpenFOAM 中的梯度计算：高斯法</title>
      <link>https://marinecfd.xyz/post/openfoam-gradient-scheme-gauss/</link>
      <pubDate>Tue, 17 Mar 2020 12:59:00 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/openfoam-gradient-scheme-gauss/</guid>
      <description>OpenFOAM 采用同位网格离散计算域，速度和压力等物理量均存储在有限控制体单元的体心。对于同位网格，高斯法是最常用的计算梯度的方法。 高斯定理可以将体积分</description>
    </item>
    
    <item>
      <title>OpenFOAM 中的对象注册机制</title>
      <link>https://marinecfd.xyz/post/openfoam-object-registry/</link>
      <pubDate>Thu, 30 Jan 2020 00:00:00 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/openfoam-object-registry/</guid>
      <description>对象注册（object registry）机制是 OpenFOAM 的一大特点。对象注册所做的工作可以总结为一句话：在内存中利用树状结构组织数据，并实现数据的管</description>
    </item>
    
    <item>
      <title>OpenFOAM 中源项的实现</title>
      <link>https://marinecfd.xyz/post/openfoam-source-term-treatment/</link>
      <pubDate>Sat, 12 Oct 2019 13:18:42 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/openfoam-source-term-treatment/</guid>
      <description>考虑如下所示的关于 $\psi$ 的输运方程： $$ \begin{equation} \frac{\partial \psi}{\partial t}+\nabla \cdot (\mathbf u \psi)-\nabla \cdot \gamma \nabla \psi=S_{\psi} \label{eq:trans} \end{equation} $$ 其中，$S_\psi$ 为源项。 源项线性化 实际情况下 $S_\psi$ 是比较复杂的，可能包含非</description>
    </item>
    
    <item>
      <title>PISO 算法</title>
      <link>https://marinecfd.xyz/post/piso-algorithm/</link>
      <pubDate>Wed, 15 May 2019 23:02:40 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/piso-algorithm/</guid>
      <description>PISO，全称为 Pressure-Implicit with Splitting of Operators，是 Issa1 于 1986 年提出的一种求解耦合速度压力的非迭代算法，也是目前应用最广的速度压力解耦方法之一。Ope</description>
    </item>
    
    <item>
      <title>OpenFOAM 中 function object 的实现</title>
      <link>https://marinecfd.xyz/post/openfoam-function-object/</link>
      <pubDate>Wed, 13 Mar 2019 02:18:11 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/openfoam-function-object/</guid>
      <description>OpenFOAM 中的 function object 是其提供的比较灵活的数据处理功能，可以在数值计算的同时进行数据处理，OpenFOAM 将其称为运行时数据处理。 在 OpenFOAM 5.0 以后，funct</description>
    </item>
    
    <item>
      <title>不可压缩流体 Navier-Stokes 方程的几种形式</title>
      <link>https://marinecfd.xyz/post/incompressible-navier-stokes-equations/</link>
      <pubDate>Fri, 18 Jan 2019 20:00:00 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/incompressible-navier-stokes-equations/</guid>
      <description>在文献中会经常看到各种不同形式的 Navier-Stokes 方程，本文梳理了一些文献中常见的不可压缩流体 Navier-Stoke 方程标记形式，希望能帮助各位 Foamer 加深对 Navier-Stokes 方程的理解。 预先知识 先</description>
    </item>
    
    <item>
      <title>用 C&#43;&#43;11 实现迷你版本的运行时选择</title>
      <link>https://marinecfd.xyz/post/mini-runtime-selection-with-cpp11/</link>
      <pubDate>Fri, 14 Dec 2018 16:54:45 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/mini-runtime-selection-with-cpp11/</guid>
      <description>本文用 C++11 标准实现了一个类似 OpenFOAM 运行时选择机制的示例。通过这个示例可以更加容易直观地了解运行时选择内部的实现原理。 一个简单的例子 考虑用经典的简单</description>
    </item>
    
    <item>
      <title>OpenFOAM 中的不可压和可压 RANS 方程</title>
      <link>https://marinecfd.xyz/post/openfoam-incompressible-and-compressible-flow-framework/</link>
      <pubDate>Thu, 13 Dec 2018 00:48:55 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/openfoam-incompressible-and-compressible-flow-framework/</guid>
      <description>我们已经在“OpenFOAM 湍流模型模板框架分析”系列博文中介绍过，OpenFOAM 将不可压缩流和可压缩流的湍流模型代码复用，放在一个统一的</description>
    </item>
    
    <item>
      <title>OpenFOAM 湍流模型模板框架分析（三）：RANS 与 LES</title>
      <link>https://marinecfd.xyz/post/openfoam-templated-turbulence-modeling-framework-part-3/</link>
      <pubDate>Tue, 11 Dec 2018 00:17:11 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/openfoam-templated-turbulence-modeling-framework-part-3/</guid>
      <description>上篇文章中已经介绍了湍流模型框架中三个重要的模板类，本篇接着讲解雷诺平均 Navier-Stokes （RANS）方法和大涡模拟方法（LES）在该框架下的实现。 RANS 方法和</description>
    </item>
    
    <item>
      <title>OpenFOAM 湍流模型模板框架分析（二）：三个类模板</title>
      <link>https://marinecfd.xyz/post/openfoam-templated-turbulence-modeling-framework-part-2/</link>
      <pubDate>Mon, 10 Dec 2018 01:00:50 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/openfoam-templated-turbulence-modeling-framework-part-2/</guid>
      <description>更新日志 2019.01.10 修正 incompressible::turbulenceModel::New 实际调用函数的描述 上篇文章中已经介绍了湍流模型框架的顶层设计，本篇讲解求解器中需要调用到的三个类模板。 OpenFOAM 将湍流模拟分为三类：</description>
    </item>
    
    <item>
      <title>OpenFOAM 湍流模型模板框架分析（一）：顶层设计</title>
      <link>https://marinecfd.xyz/post/openfoam-templated-turbulence-modeling-framework-part-1/</link>
      <pubDate>Sun, 09 Dec 2018 12:55:50 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/openfoam-templated-turbulence-modeling-framework-part-1/</guid>
      <description>背景 在 OpenFOAM 2.3.0 时，Henry G. Weller 开始采用基于原则设计的方式重构湍流模型代码。在这个版本中，新旧代码共存。旧代码位于 turbulenceModel 文件夹中，新的采用基于原则设</description>
    </item>
    
    <item>
      <title>从 GeometricField 到 fvMatrix</title>
      <link>https://marinecfd.xyz/post/from-geometricfield-to-fvmatrix/</link>
      <pubDate>Thu, 01 Nov 2018 12:19:45 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/from-geometricfield-to-fvmatrix/</guid>
      <description>GeometricField 和 fvMatrix 是 OpenFOAM 中的两个重要的类。本文将试图分析这两个类的源码实现及其用法。 GeometricField 类 GeometricField 是用来描述几何场信息的类模板（class template）。注意</description>
    </item>
    
    <item>
      <title>非结构网格如何计算库朗数</title>
      <link>https://marinecfd.xyz/post/courant-number-in-unstructured-grids/</link>
      <pubDate>Wed, 24 Oct 2018 10:23:22 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/courant-number-in-unstructured-grids/</guid>
      <description>库朗数是用来描述流体“数值流动”状态的一个无量纲参数，它关系到数值求解的稳定性。要了解库朗数的定义需要先知道什么是 CFL 条件。 CFL 条件 CFL 条件以 Co</description>
    </item>
    
    <item>
      <title>OpenFOAM 中的 lambda2 准则</title>
      <link>https://marinecfd.xyz/post/openfoam-lambda2-criterion/</link>
      <pubDate>Tue, 23 Oct 2018 00:13:52 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/openfoam-lambda2-criterion/</guid>
      <description>$\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}</description>
    </item>
    
    <item>
      <title>OpenFOAM 中的 Q 准则</title>
      <link>https://marinecfd.xyz/post/openfoam-q-criterion/</link>
      <pubDate>Mon, 15 Oct 2018 15:12:00 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/openfoam-q-criterion/</guid>
      <description>$Q$ 准则是一种常用的漩涡识别方法，由 Hunt 等1提出。要了解 $Q$ 的定义，首先要知道什么是张量的不变量。 张量的不变量 对于 $3\times3$ 的张量 $\mathbf A$，其特征方程可以表</description>
    </item>
    
    <item>
      <title>雷诺平均 Navier-Stokes 方程</title>
      <link>https://marinecfd.xyz/post/rans-turbulence-modeling/</link>
      <pubDate>Fri, 02 Feb 2018 21:04:00 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/rans-turbulence-modeling/</guid>
      <description>雷诺平均方法 湍流是瞬态的三维流动。工程师可能不关心所有细节，而只关心流动表现出的总体特性。比如，只关心某个物理量的平均值而不是瞬态值，因此用</description>
    </item>
    
    <item>
      <title>OpenFOAM 中的有限体积离散</title>
      <link>https://marinecfd.xyz/post/openfoam-finite-volume-discretization/</link>
      <pubDate>Sun, 14 Jan 2018 23:41:00 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/openfoam-finite-volume-discretization/</guid>
      <description>介绍 这篇文章中你将会学到： 基于任意多面体网格的有限体积离散方法 时间项的处理方式 对流项的处理方式 源项的处理方式 边界条件的处理方式 OpenFOAM 中对有限体积</description>
    </item>
    
    <item>
      <title>OpenFOAM 中的运行时选择机制</title>
      <link>https://marinecfd.xyz/post/openfoam-runtime-selection/</link>
      <pubDate>Wed, 31 May 2017 22:43:00 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/openfoam-runtime-selection/</guid>
      <description>运行时选择（run-time selection，RTS）机制是 OpenFOAM 的一大特点。RTS 做的工作其实很简单：通过运行时（从字典读入）的不同关键字构</description>
    </item>
    
    <item>
      <title>OpenFOAM 中的 autoPtr</title>
      <link>https://marinecfd.xyz/post/openfoam-autoptr/</link>
      <pubDate>Sat, 22 Oct 2016 16:45:00 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/openfoam-autoptr/</guid>
      <description>autoPtr 类和 tmp 类一样，也是智能指针。头文件里面对 autoPtr 类的描述为： An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and with pointer allocation checking on access. 可见 autoPtr 和 std::auto_ptr 功能类似，是不支持引用计数</description>
    </item>
    
    <item>
      <title>C&#43;&#43;11 中的智能指针</title>
      <link>https://marinecfd.xyz/post/smart-pointers-in-cpp11/</link>
      <pubDate>Sat, 15 Oct 2016 15:12:00 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/smart-pointers-in-cpp11/</guid>
      <description>C++11 中正式引入了智能指针 unique_ptr、shared_ptr 和 weak_ptr，并推荐使用 unique_ptr 代替 C++03 中过时的 auto_ptr 。本文重点介绍前两种智能指针</description>
    </item>
    
    <item>
      <title>OpenFOAM 中的 tmp 类</title>
      <link>https://marinecfd.xyz/post/openfoam-tmp/</link>
      <pubDate>Thu, 13 Oct 2016 20:39:00 +0800</pubDate>
      
      <guid>https://marinecfd.xyz/post/openfoam-tmp/</guid>
      <description>tmp 类是 OpenFOAM 中用来封装对象的一个类，这里将介绍 tmp 的机制及用法。 基础知识 在介绍 tmp 类之前我们有必要了解一些 C++ 的机制。在 C++ 中，当一个函数的返回值为对象</description>
    </item>
    
  </channel>
</rss>
