流体力学的“捕鱼达人”(捕鱼达人水上漂)
yuyutoo 2025-06-24 17:46 3 浏览 0 评论
有一天卢比和钢蛋去湖边钓鱼,无奈钓技有限,鱼儿不肯上钩。许久之后,鱼桶还是空空如也。眼瞅中午到了,午饭还是没有着落,钢蛋有点坐不住了,便发起牢骚,“我们钓的不是鱼,是寂寞啊,下回咱还是把隔壁足球场的球网给拆了,咱们来个一网打尽”。卢比嘲笑到,“你是不是傻?先不说鱼儿在水中的运动是混乱无规律的,你这网眼这么大,比网眼小的鱼早就溜之大吉了。”
卢比说罢,两人都似乎想起了什么,不约而同的陷入了沉思,思绪飞到了折磨二人多年的流体力学之上。而这段悲伤的故事还要从一团涡说起。
01
涡流的前世今生
小伙伴们都知道,流体力学之所以复杂,就是因为其中遍布了各种大大小小,形态各异的涡流,像极了水中各种各样的鱼儿。那么涡流究竟从哪里来?又要到哪里去呢?
小伙伴们都知道,当飞机穿越大气时会产生旋涡。快速飞行的机身对周围的大气产生强烈的扰动,向静止的流场中注入能量,便产生大量的涡流——涡流来源于扰动。
如果我们再仔细观察,会发现飞机飞过后,涡流并不会存在很久,而会很快消散;旋涡中的能量也逐渐消失,这源于一个过程——湍流能级串(Cascade)。如下图所示,大涡逐渐破碎为小涡,小涡再破碎为更小的“迷你涡”,然后逐渐耗散,这个过程从空间上看较为随机,且与当地雷诺数相关。
那么旋涡为什么会耗散呢?当上述的“迷你涡”变得足够小时,根据角动量守恒,涡的角速度将会非常大,意味着局部速度剪切很强;我们知道,当速度剪切较大的时候,粘性变得举足轻重,于是,“迷你涡”就这样轻松的被耗散掉了......
事实上,涡的尺度足够小时,体现为当地雷诺数非常小,粘性力对流体的影响则显著大于惯性力;我们甚至可以认为,在这个极小的空间中,流动已然层流化。
02
鱼儿运动的规律
随着时间的推移,人们逐渐开始理解涡流的演化,就好像捕鱼达人们也渐渐掌握了鱼儿的运动规律,知道什么时候在哪里可以捉到鱼,并思考应该编织什么样的渔网。那么对于涡流,尤其是复杂湍流中的涡流,从大涡向小涡耗散的表象背后究竟隐藏怎样的奥秘呢?
上个世纪三十年代以后,众多学者们试图用理论的方法来描述涡流演化的现象,其中前苏联天才数学家柯尔莫果洛夫基于统计学理论做出了重大贡献。下图为根据柯尔莫果洛夫的理论总结出来的湍流能量谱,把湍流能量和波数联系到一起。
为了更好的理解湍流中的涡,通常会分根据湍流的演化分为如下四个层级:宏观尺度(与边界条件相关的主流尺度),积分尺度(大涡的典型尺度,与宏观尺度同量级),泰勒尺度(无损的进行能量传递的惯性尺度),耗散尺度(最小涡的尺度,小于此尺度的涡将被耗散)。
简而言之,大涡的尺度取决于边界条件(比如对于整车的尾流,其大涡的尺度和车高为同一量级),而小涡的尺度取决于湍流雷诺数。积分尺度和耗散尺度大致符合关系式:/η ~Re(其中湍流雷诺数Re通过积分尺度和湍流脉动速度计算得到)。因此,流动几何不变的情况下,雷诺数越高,耗散尺度越小。
从湍流能量谱的图中,看似得到了涡流变化的规律。但问题在于,一个大涡一旦生成,其全部的能量必然最终耗散到流场中,耗散掉的总能量取决于大涡包含的能量;也就是说,大涡生成的那一刻,就决定了其在流场中的耗散。
参考前述的飞机涡流,其耗散的总能量等于机身对流场的扰动所生成的总能量。关键问题来了,虽然我们知道对于不同的尺度,其所含能量不同,我们也知道能量终究耗散完毕,但耗散的过程可能会千变万化(大涡什么条件下破碎为小涡,什么时候耗散作用开始体现),难以预测。
正如捕鱼达人虽然看到了大大小小的鱼儿跳来跳去,但却无法精确量化他们的尺度,因此在考虑选择什么样的渔网时,也犯起了选择困难症。
03
捕鱼达人的困局和妥协
于是捕鱼达人开动脑筋,想办法对鱼塘中所有的鱼都做起明确的标识,以图建立渔网的最佳实践——对涡流寻找尽可能准确的数学表达。提到流体的数学描述,当然逃不开“虐我千百遍”的N-S方程,为了省点心力,我们以不可压流体的N-S方程为例,其张量形式如下:
N-S方程看似能够描述流体的运动,但是作为非线性方程界的扛把子,它只有在非常苛刻的条件下,比如极低雷诺数的定常流动等少数情况下,才可能得到稳定的解析解。而随着雷诺数的增大,N-S方程的初边值问题和湍流问题本身的复杂性,目前还看不到求出解析解的苗头。
本着“解不出来就简化”的基本原则,从1890年代开始,流体力学大师雷诺通过经典的染色实验让人们清晰的看到了湍流的本质就是速度的脉动,于是雷诺大胆的将湍流分解为平均速度和脉动速度带入N-S方程并推导雷诺平均的N-S方程;配合上布辛涅司克之前“生搬硬套”提出来的涡粘性假设,将湍流脉动引起的雷诺应力类比成了平均应力;最后现代流体力学之父普朗特更是通过大胆的假设提出了“混合长度模型”求解涡粘性系数,从而让N-S方程求解湍流变成了可能。
继上述各位大佬之后,计算流体力学开启了接近百年的RANS(雷诺平均的N-S方程)时代,通过各种不同的参数来刻画湍流脉动引起的雷诺应力。各路方法八仙过海,各显神通,形成了一幅百家争鸣的局面。
流体力学的捕鱼达人们似乎织出了一张凑合能用的渔网,可是RANS本质上是为了工程化应用而拼凑出来的数学模型,放弃了对非定常湍流信息的模拟,无论渔网有多细,RANS也只能分辨稳态的流场结构。因此,面对很多复杂的瞬态问题,RANS这个渔网也只好被晾起来了。
04
抓大放小的LES渔网
当RANS这个渔网不好使的时候,也不能放弃捕鱼啊。于是人们逐渐将目光投向了一种更加合理的瞬态计算方法——大涡模拟(LES)。大涡模拟的主要思想可以归纳为一种N-S方程的低通滤波,将小于网格尺度的高频湍流脉动滤掉并收集到亚网格模型中。
这与RANS方法的涡粘性模型看似形式上有异曲同工之妙,但内涵却完全不同。大涡模拟是以时空演化的方式求解湍流,而RANS则直接模化了湍流脉动引起的应力。
最早提出大涡模拟思想的是美国著名的气象学家Smagorinsky,他在求解大气湍流的时候发现,如果数值计算只考虑各向异性的大涡,仿真的结果和实际会存在很大的差异。通过对于实际气象的观察和数值计算的研究,Smagorinsky敏锐的发现这种差异是现有的网格尺度只能直接求解大于网格尺度的涡系结构,而被忽略的小于网格尺寸的涡仍然会影响流场的结构。
于是,作为半个数学家的Smagorinsky也开始玩起了套路,既然亚格子尺度的涡会影响流场的结构,那就在N-S方程中添加一个亚格子的应力项,代替当前网格解析不了的小尺度涡对流场的影响。下面的推导基本上就体现了“只要数学功夫深,铁杵磨成针”的道理。
上述的推导可以看出,大涡模拟的关键落到了最后的Smagorinsky系数Cs。该系数由另一位著名的气象学家Douglas K. Lilly通过引入柯尔莫果洛夫的湍流能量谱计算得出。由于Smagorinsky和Lilly对湍流数值模拟做出的贡献,第一个实用的大涡模拟的湍流模型也由两人的名字共同命名,即著名的Smagorinsky-Lilly模型。
通过前面的介绍,大家可以发现,LES通过直接求解网格尺度以上的大涡来模拟湍流的非定常性,计算的求解精度和网格分辨率息息相关,其网格通常应划分到泰勒尺度以内。
勤劳的捕鱼达人需要根据情况细细编织不同尺度的渔网——网眼大了捞不到鱼,网眼小了又很费力,正如LES的计算量一不小心就爆表了。
为了更好的和鱼儿一起玩耍,捕鱼达人们总是乐此不疲的改进装备。而流体力学的捕鱼达人们为了平衡计算精度和效率,也对LES进行了各种改装,提出了多种混合的LES方法,比如大家熟悉的DES、DDES、IDDES、VLES、CLES等等,那么这些XES的变种渔网是如何在鱼塘里和鱼儿斗智斗勇的呢?敬请大家期待后续的文章。
05
一网打尽的DNS
有人说,统计方法是人类面对未知的无奈之举——如果我们有无限的计算资源,当然就不用考虑RANS和LES了。我们可以在极小的空间和时间尺度上求解流动从而获得湍流全部的流场细节,就好像用一个网眼无限小的渔网在鱼塘里捕鱼,一定要将所有的鱼儿一网打尽。
这种对所有尺度的湍流都进行直接求解的方法称之为直接数值模拟(DNS),最小的网格尺度要小于耗散尺度。不同于RANS和LES在时空分辨率上的缩水,DNS直接捕捉了湍流的全部细节。不过,大家可以使用前述的耗散尺度和积分尺度之间的关系式,大致估算一下最小的网格尺度,再估算一下计算量,估计就意识到什么是天文数字了。目前DNS只能应用于简单几何的流动机理研究,比如下图的准二维叶型的边界层流动。而波音的大神Spalart更是预测DNS需要到2080年才会进入工程实用领域。
尽管针对具体的流动问题,DNS能够得出N-S方程的数值特解,并得到所有尺度的流动细节。但数值求解不仅依赖于算法,还依赖于准确的初场和边界条件。而湍流问题的高度非线性,又导致其结果对初始条件和边界条件非常敏感。因此就湍流计算而言,DNS仍然任重而道远。
06
人工智能的渔网?
无论是经典流体力学还是近年来逐渐流行的格子玻尔兹曼方法,学者们都是通过实验观测与数学推导来研究不同渔网的构型。而随着人工智能时代的来临,数据挖掘和机器学习等算法逐渐走向工程实用,流体力学的捕鱼达人们也看到了另外一种可能。
从公开的文献中可以看到,许多学者试图将人工智能和湍流的研究联系起来,并试图构建更精确的湍流模型。比如,利用精细化的流动测试和DNS的仿真结果学习湍流模型的封闭策略,并将其应用于RANS和LES的迭代升级。
小编不禁畅想,或许在不久的将来,捕鱼达人们能编织出一张智能的渔网,自动根据水中鱼儿的特征实时变化,实现真正的智能捕捉。
-END-
转载内容仅代表作者观点
不代表中科院物理所立场
如需转载请联系原公众号
来源:LBM与流体力学
编辑:just_iu
相关推荐
- 记一次私接小路由(私接DHCP)问题处理过程
-
今天处理故障的时候又遇到一个私接DHCP的问题,用户的环境是全是静态IP地址,也就是手工配置。处理步骤如下:1、查看用户电脑获取的IP地址信息,将网关地址记下来,在用户电脑ping一下网关地址,拿到...
- 流体力学的“捕鱼达人”(捕鱼达人水上漂)
-
有一天卢比和钢蛋去湖边钓鱼,无奈钓技有限,鱼儿不肯上钩。许久之后,鱼桶还是空空如也。眼瞅中午到了,午饭还是没有着落,钢蛋有点坐不住了,便发起牢骚,“我们钓的不是鱼,是寂寞啊,下回咱还是把隔壁足球场的球...
- 天涯追梦人黄金华:昔日“捕鱼达人”变身“旅游人”
-
来源:人民网-海南频道人民网三亚12月16日电(符武平、孟凡盛)冬季的北方寒潮来袭,天气逐渐寒冷,而在海南三亚的鸿洲游艇码头变得火热起来。世代靠打渔为生的黄金华开始了一天的忙碌。游艇启动,缓缓驶出...
- 《捕鱼达人3》TV专版乐视首发 掀起全民捕鱼热
-
新年伊始,触控科技联合乐视应用开放平台,独家带来国民级休闲游戏《捕鱼达人3》TV专版,全新3D画面、革命性创新玩法,颠覆体验欢乐升级。游戏近日已经在乐视应用商店和游戏中心两大平台同步上线。【3D呈现海...
- 《偶像来了》女神玩“捕鱼达人”挣装修费
-
湖南卫视女神生活体验秀《偶像来了》的分组“制度”和游戏环节历来都是广大网友津津乐道的话题,在海口和内蒙两站,节目均是以民众投票的形式对十位女神进行划分,这让连续两次落选“人气队”的“皇后娘娘”蔡少芬一...
- 《捕鱼达人2》主题渔场即将开放 让你清凉一夏
-
《捕鱼达人2》是一款经典休闲捕鱼游戏,本周全新的主题渔场即将开放,除此之外游戏还加入了沙滩与冰饮的皮肤主题,更新并优化了活动系统,在游戏主界面可以随时查看活动条件、完成进度以及领取活动奖励。下面跟随蚕...
- 捕鱼达人千炮版新手必看 如何获得高分
-
《捕鱼达人千炮版》是一款新式捕鱼达人系列手游,游戏画面清新绚丽,那么这款游戏跟其他捕鱼游戏有什么不同的玩法呢?下面97973手游网小编就为您介绍一下《捕鱼达人千炮版》新手玩法攻略,在这里可以挑战自带光...
- 怎么从鱼塘里抓鱼#捕鱼达人(鱼塘怎么捞鱼方便)
-
大家都是普通玩家,怎么从五千多条鱼中选出一条几条适合自己的?明天五厘米、十厘米的鱼其实是非常难的,很多人哪怕是研究了几年都没有找到很好的抓鱼的方法。这里给大家介绍一下抓鱼的工具。大家都知道趋势是大家经...
- 你玩哪个游戏,记忆最深刻?(记忆最深的游戏)
-
在我的记忆之中,我玩的最开心的游戏是捕鱼达人,记得那时候,家连台智能机都没有,我堂哥那会儿上高二那年放假,买了一台手机,在家里玩。那时候的网络不算太发达,在我老家网络覆盖那时候的话,最多就2G3G,...
- 《捕鱼达人3》启动众筹项目:卖道具也能众筹
-
《捕鱼达人3》启动众筹项目:卖道具也能众筹行业动态/2014-07-08/Ruito/游戏葡萄游戏葡萄原创专稿,未经允许请勿转载游戏葡萄7月8日消息,昨日《捕鱼达人3》于众筹网站摩点网发起众筹...
- 禁渔期非法出海捕捞 28名“捕鱼达人”将自己“捕”入法网
-
每年5月1日至8月1日为禁渔期,国家明令禁止出海捕捞,期间水产品价格随之暴涨。在暴利的诱惑下,苍南九艘渔船顶风作案,28名渔民被依法采取刑事强制措施。6月16日凌晨,苍南警方联合当地执法部门,在苍南长...
- 厉害啦!我的捕鱼达人!(厉害啦!我的捕鱼达人漫画)
-
10月24日上午八时许,齐齐哈尔房产段管内三间房人工景观湖边人声鼎沸,热闹非凡。伴随着阵阵鞭炮声响,湖岸两侧的职工们齐心协力拽着捕鱼网绳,收获着丰收的喜悦!为了让职工吃饱吃好,今年5月,在路局工会的大...
- 斗罗大陆:斗罗版捕鱼达人,唐三小白捕技精准,第八魂环有着落了
-
随着动漫更新的进度,唐三调整好心态,正式开始了海神第四考——猎杀邪魔虎鲸王。第四考已经算是比较困难的了,毕竟邪魔虎鲸一族堪称大海中的霸主,就算打不过深海魔鲸王,可深海魔鲸王太过懒惰,只要不去它的领域招...
- 《捕鱼达人3》攻略:技巧攻略汇总(捕鱼达人3怎么赚钱)
-
《捕鱼达人3》也是一款捕鱼的游戏,游戏采用了3D视觉效果,加上全新的模式让玩家大呼过瘾,当然小伙伴们肯定少不了与捕鱼友一起比拼高分,看看谁的捕鱼技巧更好,小编就分享玩家们《捕鱼达人3》攻略:技巧攻略汇...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)