岳子的CFD高端局/CFD课程
岳子的课之前叫做OpenFOAM Knowledge Share。因为编程的内容越来越多,虽然也是一种知识分享,但是改成Lets Code OpenFOAM更符合课程定位。第14界的线下LCO是岳子举办的真正的CFD高端局。主要面向零基础,想在短期强力集训,迅速拔高CFD水平,想植入算法的人。
这一次的OpenFOAM应用部分,线上进行。为什么岳子一直不待见的线上课,现在要办了?主要是课程内容大幅度增加后,不增加课程总天数讲不完。但是增加到7天的线下,太长太累。因此把最简单的OpenFOAM应用课线上进行。你可以理解为OpenFOAM线上应用是免费赠送的。但如果你真的是零基础,你是要必须参加的!参加高端局建立在会用OpenFOAM基础之上!但是你上上课溜号了看美女直播或者打游戏去了,线上课听的断断续续的,这我管不了了。
但真正的CFD高端局,在线下的算法和编程。 这部分内容共5天,纯算法+编程。在线下,所有人在教室里一起干OpenFOAM,这是一个强制集中学习的一个环境。编程不会了,我还能随时解答你。去哪都找不到这个氛围。
岳子发布了很多免费的资料,岳子也有商业咨询,半小时2000元。参加岳子的高端局,在线下有问题,你可以随便问。
岳子的课程理念
市面上CFD/OpenFOAM/数据驱动的课程多如牛毛,有免费的,有收费的。岳子的LCO,绝对与众不同:
讲师选择非常重要。跟不同的人学CFD,效果绝对不一样! 在编程的时候,一些老师看到问题就能处理,一些老师自己都不知道怎么处理。同样的算法,一些人的代码稳定,一些人的代码容易发散。同样的台词,一些人讲的绘声绘色,一些人讲的想睡觉。有经久不衰的CFD教材,有的CFD教材没人看。因此,你的学习效果与授课老师高度相关!那有人问,你岳子的CFD水平就够么? 这个你自己判断。我都不需要细说。
课程内容年年更新。软件不更新就废。技术不更新也废。讲课内容不更新,就是本身讲师技术也没更新,自然讲不出新东西。你要学习新技术,还是旧技术?你要使用OpenFOAM-12?还是10年前发布的OpenFOAM-2.3.x?
不糊弄。培训机构的老师是外聘的。外聘讲师拿的是培训机构给的钱,你的钱交给的是培训机构。从这个角度来讲,对你负责的是培训机构。这就是一种错位。再想,外聘讲师拿的是培训机构的钱,讲的好讲的坏又怎样?反正一场几千块钱。拿到钱就完事了。
没有广告满天飞。岳子也有广告,但是就是自家平台。小米公司在自己的办公楼贴自己的广告无可厚非。其他家的套路是广告满天飞,并且有专门的销售人员对接,销售人员赚提成。报名后拉人也会有提成。满满的商业因素。岳子的心思不在广告商,岳子所有心思都在代码上,把课程设计好是最重要的。
课程不跑偏、不擦边。擦边课程最近尤其严重。尤其是机器学习领域。因为单纯的机器学习领域太窄了。因此要把机器学习跟别的学科结合起来,就可以收割。比如【基于Fluent的深度学习应用课】、【基于OpenFOAM的机器学习课】。这样就可以收割Fluent以及OpenFOAM的所有从业人员。然而你看看讲的内容,跟Fluent关系大么?有人跟我反馈,他们要讲如何用python做爬虫提取网站的内容、如何用matlab处理数据、如何用origin画图,这些都是你CFD课里面的内容。咱这面的课,定位非常精准,一点乱七八糟的内容都没有。
说的这么流弊,岳子的课100%好评么? 也不是。咱这面网站、公众号啥的都在明面,都是免费的。但是还是有很多人,就不喜欢看我写的东西。还有人说我NS方程都讲不清楚。我个人虽然是个完美主义者,做事情追求做到极致。所以100%好评是不可能的。经验来看,岳子的CFD课,那种特别差的评价印象中没有,可能偶尔会出现一些比较中性的评价。没有任何一个产品,能做到100%好评。岳子请你自己自行判断。
Lets Code OpenFOAM (LCO)
LCO的目的是让你们在课堂拿到一个公式,你们自己要把公式变成代码。不是我带你们看代码,而是让你们自己写! 这两个是有严重区别的!中途你们出现各种的代码问题,咱都能给你解决。就是这么流弊,就是这么自信。
LCO 线下 真正的CFD高端局 |
|
---|---|
日期 |
25年 3月30日下午开始 - 4月3日结束,详见报名表 |
休息 |
课堂随机压堂,无休息(写代码卡主了,自行上厕所) |
地点 |
杭州 |
内容 |
普适性CFD算法 + OpenFOAM编程 + OpenFOAM/C++数据驱动编程 |
预习 |
请务必预习无痛苦NS方程笔记的1、2、3章,否则听不懂 |
发票 |
可开培训费、会议费、国际交流会议费、测试费、租赁费、材料费等 |
费用 |
9000元/人,最低7500,折扣参考报名表,食宿自理 |
LCO 线上 讲OpenFOAM应用 |
|
---|---|
日期 |
25年3月20、21日、周四周五下午 |
时间 |
下午2.30 - 晚6点,无休息 |
地点 |
线上会议室 |
预习 |
不需要预习,如果比较熟悉,也可以不参加 |
报名表填写好后,请发送至 lilly@dyfluid.com
,她会协助你进行下一步事宜。同时注意,报名表内的邮箱务必填写正确,因为后续来自我的通知都是通过邮箱发送。
Warning
岳子备课所有代码,都是自己100%写的,不是讲别人的代码
并且,课程设计是通过植入某个具体的算法,来学习算法/编程。可能下面的方向跟你的研究没关系,重在举一反三,授人以渔
课程安排(暂定)
23年9月算例 植入瞬态投影法、稳态SIMPLE本算例植入的瞬态投影法、稳态SIMPLE算法、普适性密度基可压缩算法。通过这两个经典的算法,你会透彻的了解NS方程速度压力耦合求解的思想。侧重算法的理解与编程。此部分内容是编程课的热身内容。3个求解器都是先从算法讲解开始,然后手搓求解器。另外,下图中红圈处会发现震荡。课堂上需要通过算法处理这个问题。

25年3月新增 植入绝热可压速度压力耦合算法此代码与气动噪声高度相关。课堂上大家需要在不可压缩流动NS方程的基础上,考虑密度的变化,同时简化温度PDE过程为绝热过程,可以获得简化的可压绝热过程的控制方程,同时要对其进行离散,将其在OpenFOAM中进行植入。相应的求解器,如果进一步植入lighthill声源,可以用来模拟气动噪声。目前相关的控制方程已经发布在CFD: 可压 + 绝热 。感兴趣可以提前感受一下。这部分算法将在课堂上现场植入

25年3月新增 植入高精度超音速通量格式本算例植入的可压缩通量高精度格式请参考[Tan12, Xu98]。你会透彻的了解0)密度基可压缩跨音速求解器、1)更底层的玻尔兹曼方程、2)NS方程失效、3)欧拉方程与可压缩高精度格式、4)矩方法与积分矩方法、5)通量分裂。要强调的是,回顾CFD算法的发展历史,从1950年代起CFD最初就是被应用于可压缩流,直到1970年后CFD才大量的被应用于不可压缩流。大量的CFD离散格式都是针对可压缩流展开。因此对可压缩算法的理解至关重要。同时,NS方程在一些情况下会失效,NS方程并不是万能的,尤其是处理稀薄领域。课堂上大家应该需要能够使用自己写的可压缩求解器来求解前向台阶流进行激波捕获

25年3月新增 植入一个湍流模型本算例植入的Wray-Agarwal湍流模型请参考[HRA18]。该湍流模型我在2023年11月份植入在OpenFOAM中。课堂上主要用来熟悉1)OpenFOAM的库结构、2)库模型的编写与求解器编写的主要区别、3)湍流模型大类的植入流程。该模型代码我已经开源在CFD中文网。但主要目的是让大家自己去练习植入方程而不是索要代码。首先会带你们植入一个简单的湍流模型,然后你们自己去植入Wray-Agarwal湍流模型

23年9月算例 代码移植本算例将移植两个求解器。OpenFOAM不同版本的求解器互相不兼容。很多人从网上下载的求解器适配比较老的OpenFOAM版本,想移植到最近的OpenFOAM版本上。课堂上将通过一个求解器来讲解怎么进行求解器移植,然后大家需要自己进行一个求解器移植。
24年9月算例 植入高精度相场法本算例植入的相场方法请参考[HJ24, JMM20]。你会透彻的了解1)相场法的思想、2)FVM的高精度格式、3)解的有界性、4)upwind与downwind等。如下图所示,采用不同的方法来计算zalesak disk的情况下,不同的格式会预测不同的结果。即使使用TVD格式也会产生数值耗散。对于普通的标量数值耗散并没有太大的问题。但某些情况下我们需要非常明晰的界面。这就需要不同的数值方法来处理。算法的难点在于:1)使用高精度算法如何保证有界性?2)如何保证界面的尖锐?3)不会产生一些奇怪的结果(如下图第三个,解的分布有点奇怪) 。
23年9月算例 植入两相流算法本算例植入的两相流耦合求解器,需要了解两相流耦合思想、数值震荡、以及体积力的植入方法。算法主要考虑体积力对速度压力耦合的影响。CFD中的体积力有3种植入方式:1)隐性、2)显性、3)压力方程。学员可以对比不同的方法。下面的结果就是计算出来的多相流不稳定性。经验来看,很多学生植入的算法发生了数值震荡。在课堂上要从算法的角度处理掉这个问题。

25年3月新增 捆绑两相流算法 + 高精度相场法 在上文中已经讲解高精度相场法以及两相流算法,学员已经植入进去。但是很明显可以看出算出来的结果是比较耗散的。在这一步学员需要将两相流算法和高精度相场方法相结合,制定一个新的求解器。新的求解器求解后的结果如下图。可以很明显的看出求解的结果非常尖锐!在这个基础上,如果附加上表面张力,既可以形成一个全新的VOF求解器。
Warning
咱这面的课程不擦边、不拼凑。紧密贴合OpenFOAM原生C++环境,枪打数据驱动CFD,先学理论,然后现场写代码。 python咱也不用。咱这个纯粹基于OpenFOAM就能搞起来。因此咱没有机器学习+实验流体力学;没有机器学习+图像识别; 没有python、jupyterbook、conda; 请大家一准要看准定位。本课程所有机器学习的代码通过OpenFOAM与libtorch直挂,不需要学python,直接用OpenFOAM就能搞。
25年3月新增 植入数据驱动LES算法本算例为数据驱动LES模型。算例采用经典神经网络架构,共训练2000个批次的数据,由于训练量比较小,使用CPU就可以进行训练。但是结果是相当好。在下图中,数据驱动LES与经典CFD-LES预测的数据云图一致(局部差异基本可忽略)。在观测时间平均变量时候,结果非常完美。对于比较难预测的雷诺应力相关量,数据驱动LES预测的结果与经典CFD-LES吻合度非常高。类似的文章在2023年,2024年都刊发在了JFM。本算例的结果足以支撑一篇sci的数据。
25年3月新增 植入隐藏流体力学和PINN数据驱动CFD里面独树一帜的是PINN。本案例将介绍PINN来求解病态问题,同时介绍全连接网络、残差神经网络植入、新的激活函数植入等。24年9月的课堂,计划介绍PINN求解常规的顶盖驱动流,但是由于太复杂没有介绍。因此使用PINN求解cavity flow的代码已经开源。不得不承认的是,PINN作为一个新兴的计算方法,用来计算流场实在是太慢了。因此使用PINN来计算流场,不像是走正常的套路。在本次课堂,将使用PINN来处理病态问题,用其处理经典CFD方法不能处理的问题,这个应该才是PINN真正的用处。这种应用也即之前刊发在Science正刊上的隐藏流体力学。否则用PINN来硬钢经典FVM,PINN必输无疑,太慢了,基本用不上。本案例的设计理念,就是把PINN用在正道上。在下图中,求解的ODE是未知的,但是PINN成功的发现了未知的ODE,并且数据与解析解完美吻合。

25年3月新增 植入编码器以及解码器进行流场糙化重组 本算例植入自编码器算法来进行流场快速预测。主要涉及到编码器、解码器、Unet、跳跃连接、OpenFOAM计算+libtorch训练一体化。算例首先通过OpenFOAM进行CFD计算,然后无缝连接libtorch机器学习,不需要跨平台、不需要重开python程序,直接进行训练
24年9月算例 数据驱动CFD前沿热点CFD经历了60多年的发展后,同位网格SIMPLE类算法在不可压缩领域统一江湖,可压缩领域通通都是密度基。数据驱动CFD目前的发展状况类似CFD在1970年代的情况,群魔乱舞百家齐放。目前还没有一个大统一的寡头算法出现。目前的态势是每家都有自己的特色,那么在10年后20年后数据驱动CFD,哪个算法会统一江湖目前还不确定。目前这一块研究的特色是杂!尤其在结合各种机器学习的网络后,更杂!但可以简单的进行归类。在《无痛苦NS方程笔记》里面,机器学习与CFD相应的结合点主要分为
流场重组(卷积网络、Unet、解码器、超分辨率、扩散模型与GAN)
求解加速(全连接网络、卷积网络、残差网络等)
数据驱动湍流模型(全连接网络、卷积网络、极限学习机等)
数据驱动多相流
循环神经网络与瞬态流场(循环神经网络、LSTM)
正向逆向PINN、隐藏流体力学
POD、DMD、流场降阶预测方法(不需要神经网络)
强化学习与过程控制
上述内容全部在《无痛苦NS方程笔记》里面有介绍,课堂上也会进一步的进行介绍。下面放两个《无痛苦NS方程笔记》里面的截图 难度等级✰
持续更新中…
举办时间 |
课程历年有大量的变化 |
---|---|
17-18 |
OF4,应用70%算法25%编程5%。全程靠看、效果不好 |
18-21 |
OF6,应用60%↓算法25%编程15%↑。首次手推方程、demo式编程(实操基本没有) |
21-22 |
OF9,应用60%算法25%。疫情原因线下编程课停办 |
22-23 |
OF10,应用50%↓算法25%编程25%↑。首次让学生自己编程 |
23-24 |
OF10,应用30%↓算法35%↑编程35%↑。增加数驱CFD、学生全程自己编程 |
24-25 |
OF12+10,应用20%↓算法35%编程45%↑。适配OF12、增加课程总天数 |