目录1: 普适性CFD算法编程
算法课: 之前有个详细的目录,我感觉很多都是跟CFD教材的目录重复,我感觉把CFD教材的目录复制到我这面,也不是我个人的风格。简单来说:算法课我会让极其简单的介绍,让你们从最基础开始学会离散NS方程。 咱这面跟CFD教材的区别就是,复杂的东西简单化到极致。有人说那我看CFD教材不就行了。当然了没问题啊,我也是从CFD教材学出来的。算法课只不过把我多年学的CFD知识一次性用最简单的话告诉你而已。
应用课: 没挑战性,不介绍。30%的内容,给你讲清楚就完了。
编程课:参考下文。
Warning
下面植入的算法可能跟你们的研究方向没关系,但重要的是举一反三。这和你们做应用是一样的,你们做燃烧可能完全不关心单相流,但是这个学习过程,总需要通过一些例子来练手。编程课也同样需要例子。这些就是我准备的例子。请举一反三。
再举例,大家都学高等数学对不对,本科时候学完了之后,是不是一阵懵逼,知道有啥用么?同理,OpenFOAM/CFD编程,都需要用volSalarField,mesh,Time类型,我如果就纯粹的交怎么用这些玩意,你们知道这些玩意怎么用么?
23年9月算例 本算例植入的稳态投影法、瞬态投影法、Darcy方程求解器请参考[Hir07]。你会透彻的了解NS方程速度压力耦合求解的思想。侧重算法的理解与编程。Darcy方程算法很简单,是编程课开始的热身 难度等级✰✰
24年9月新增 本算例将移植两个求解器。OpenFOAM不同版本的求解器互相不兼容。很多人从网上下载的求解器适配比较老的OpenFOAM版本,想移植到最近的OpenFOAM版本上。课堂上将通过一个求解器来讲解怎么进行求解器移植,然后大家需要自己进行一个求解器移植 难度等级✰✰✰
24年9月新增 本算例植入的相场方法请参考[HJ24, JMM20]。你会透彻的了解1)相场法的思想、2)FVM的高精度格式、3)解的有界性、4)upwind与downwind等。如下图所示,采用不同的方法来计算zalesak disk的情况下,不同的格式会预测不同的结果。即使使用TVD格式也会产生数值耗散。对于普通的标量数值耗散并没有太大的问题。但某些情况下我们需要非常明晰的界面。这就需要不同的数值方法来处理。算法的难点在于:1)使用高精度算法如何保证有界性?2)如何保证界面的尖锐?3)不会产生一些奇怪的结果(如下图第三个,解的分布有点奇怪)难度等级✰✰✰✰✰✰
24年9月新增 本算例植入的底泥再悬浮算法请参考[LS20, Liu18]。该模型主要用来熟悉1)多计算域多网格求解器,2)多场耦合,3)流场插值等。相关算法可以演变为overset重叠网格算法等。该模型最初是24年年初一个英国公司让我为其植入相关代码并进行计算,岳子初始报价3万英镑,因为太贵后续合作变成了我给他们提供业务流程他们自行植入(便宜的多)。为了进行备课,近期岳子将其在OpenFOAM中进行植入,下图中的右图为岳子在OpenFOAM中植入后模拟的数据 难度等级✰✰✰✰
23年9月算例 本算例植入的两相流耦合求解器请参考[NAM11]。你会了解两相流耦合思想、数值震荡、以及体积力的植入方法。下面两个结果都不是正确的。第一个动图虽然形态出来了,但是底部堆积过大。第二个图发生了数值震荡。在课堂上要从算法的角度处理掉这个问题 难度等级✰✰✰✰
![_images/multiP.gif](_images/multiP.gif)
24年9月新增 本算例植入的可压缩通量高精度格式请参考[Tan12, Xu98]。你会透彻的了解0)密度基可压缩跨音速求解器、1)更底层的玻尔兹曼方程、2)NS方程失效、3)欧拉方程与可压缩高精度格式、4)矩方法与积分矩方法、5)通量分裂。要强调的是,回顾CFD算法的发展历史,从1950年代起CFD最初就是被应用于可压缩流,直到1970年后CFD才大量的被应用于不可压缩流。大量的CFD离散格式都是针对可压缩流展开。因此对可压缩算法的理解至关重要。同时,NS方程在一些情况下会失效,NS方程并不是万能的,尤其是处理稀薄领域。课堂上大家应该需要能够使用自己写的可压缩求解器来求解前向台阶流进行激波捕获 难度等级✰✰✰✰✰
![_images/Shu-Osher.jpg](_images/Shu-Osher.jpg)
24年9月新增 本算例植入的Wray-Agarwal湍流模型请参考[HRA18]。该湍流模型我在2023年11月份植入在OpenFOAM中。课堂上主要用来熟悉1)OpenFOAM的库结构、2)库模型的编写与求解器编写的主要区别、3)湍流模型大类的植入流程。该模型代码我已经开源在CFD中文网。但主要目的是让大家自己去练习植入方程而不是索要代码。首先会带你们植入一个简单的湍流模型,然后你们自己去植入Wray-Agarwal湍流模型 难度等级✰✰✰
![_images/wa-1.png](_images/wa-1.png)
Xu Han, Mizanur Rahman, and Ramesh K Agarwal. Development and application of wall-distance-free wray-agarwal turbulence model (wa2018). In 2018 AIAA Aerospace Sciences Meeting, 0593. 2018.
Charles Hirsch. Numerical computation of internal and external flows: The fundamentals of computational fluid dynamics. Elsevier, 2007.
Hanul Hwang and Suhas S Jain. A robust phase-field method for two-phase flows on unstructured grids. Journal of Computational Physics, 507:112972, 2024.
Suhas S Jain, Ali Mani, and Parviz Moin. A conservative diffuse-interface method for compressible two-phase flows. Journal of Computational Physics, 418:109606, 2020.
H Li and J Sansalone. CFD model of PM sedimentation and resuspension in urban water clarification. Journal of Environmental Engineering, 146(3):04019118, 2020.
Xiaofeng Liu. Simulations of suspended sediment transport using low-reynolds-number turbulence models with a unified mesh. Journal of Hydraulic Engineering, 144(6):04018029, 2018.
Mohamad M Nasr-Azadani and Eckart Meiburg. Turbins: an immersed boundary, navier–stokes code for the simulation of gravity and turbidity currents interacting with complex topographies. Computers & Fluids, 45(1):14–28, 2011.
Lei Tang. Progress in gas-kinetic upwind schemes for the solution of euler/navier–stokes equations–i: overview. Computers & fluids, 56:39–48, 2012.
Kun Xu. Gas-kinetic schemes for unsteady compressible flow simulations. Computational Fluid Dynamics, Annual Lecture Series, 29 th, Rhode-Saint-Genese, Belgium, 1998.