@ZhangZhiPeng 数值分析要学一下,我本科用的清华出版社李庆扬那本教材。研一的时候学多了次。实变和泛函先不要碰了,对你目前流体学习意义不大。我本科自学过数学分析和一些高等代数,直博期间想学下实变和泛函的,但发现被科研搞得够呛了,没时间和精力再去学那些了。所以,还是一步一步来。
Vortex
帖子
-
关于在流体力学学习过程中的疑惑,迷茫了 -
关于在流体力学学习过程中的疑惑,迷茫了你的经历和我有类似。我是力学系的本科,但是大四的时候才开始正儿八经学流体力学,大二学的是侧重水力学的流体力学。
学习流体力学第一本书,我觉得应该是北京大学吴望一写的流体力学,开篇即讲张量初步,耐着心子把这章啃过了,这个知识对以后流体方程推导非常重要。然后就是三大守恒方程,跟着书本自己手写推导一篇就好了。当然这本书后面也有些内容,但感觉最重要的就是学会推导三大守恒方程了(我现在做不可压,基本没接触到能量守恒方程了)。其实还有一本不错的教材,Anderson的Fundamentals of Aerodynamics,作者写作像是讲故事一样,十分有趣,但里面推导不是基于张量的,因此我还是先推荐学习吴望一的。
后面学高级一些的流体力学如湍流知识了首推Pope的turbulent flows,里面章节很多,按主题介绍的,挑自己感兴趣的看看,主要让自己对湍流有种感觉。Henk Tennekes, John L. Lumley的A First Course in Turbulence也不错,但这本书就老一点。
CFD最入门的书(学完吴望一就可以看了)我觉得应该是可以同时开始看Anderson的Computational Fluid DynamicsIntroduction to 和Versteeg的Computational Fluid Dynamics, An: The Finite Volume Method,主要是了解流体方程是如何离散和求解,让自己对CFD有一种感觉。第二本书讲的有限体积法,这个离散方法是当今流体商软的主流,而且一些思路对学习其他离散方法也有帮助。但这两门对用CFD科研还是不够的,后续看的书应该要结合自己科研方向。
数学这边可以找找偏微分方程数值解,偏工科那种,具体书本我就不指了。我当时学这个也只是为了让自己对数值求解偏微分方程找到一些感觉。
这样下来,基本就对流体理论和数值计算入门了。后续要结合自己的科研看不同的书了,例如我现在是做大气边界层和风电场尾流模拟的,就补充了一些大气边界层和风能空气动力学的知识,大涡模拟相关的。现在博士即将要毕业了,深感要把基础打扎实,这样对做科研大有裨益,有扎实的基础看科研文章可能看到某个点很快就能悟到了。 -
添加动量方程源项导致速度持续增加?@李东岳
高空不会发生偏转了,高空下面会偏。本质原因是convective term的垂直梯度在高空约等于0,高空下面不为0。详细可看我的推导。(粘性项已略去因为ABL流场是高雷诺数流体,但在ABL壁面仍然是有摩擦力的) -
添加动量方程源项导致速度持续增加?
要加科氏力,还要加一个地转风力源项。实际上,该地转风力来源于压力梯度力,只不过在CFD要把它单独拎出来,显式地加入动量方程里。当对这个方程(只考虑科氏力)在大气边界层较顶部的位置进行时间和水平方向两次平均,就会得到科氏力=地转风力。这样做和槽道那边的driving pressure term是同一个道理,只不过槽道是driving pressure term=壁面摩擦力。参考文献:
Interaction between low-level jets and wind farms in a stable atmospheric boundary layer, PRF, 2021 -
中性大气环境湍流动能的自保持 | 附有算例下载@chszkc 有,解温度输运方程,求解器有植入。
-
中性大气环境湍流动能的自保持 | 附有算例下载@李东岳 介绍个专门做ABL的code,叫LESGO (https://lesgo.me.jhu.edu/),Meneveau大佬以前是拿它研究LES模型的。不稳定、中性、稳定的ABL都可以做,还能考虑科氏力。
-
中性大气环境湍流动能的自保持 | 附有算例下载能不能自保持,是要看壁面函数和入口能否协调的。我是用LES做大气边界层的。LES里跑预前模拟生成的流场就能让湍动能处处保持平衡。LES这边还有用入口生成方法的,但一般自保持不了,流体跑着跑着湍动能就会衰减,是因为壁面用的wall model和入口人工合成的流场不协调。
-
使用openfoam但不采用贴体网格计算圆柱绕流的方法,请各位同学老师指点一下,谢谢@oitocfd 我没用OpenFOAM,用的求解器是lesgo,开源程序自带植入了浸没边界。它的实现我记得是没有耦合的,只在更新最后速度才加上IBM力,让固体内速度为0,详细的可参考这篇文章Modeling turbulent flow over fractal trees with renormalized numerical simulation。IBM的实现有很多变种的,有的确实是有耦合的。
-
使用openfoam但不采用贴体网格计算圆柱绕流的方法,请各位同学老师指点一下,谢谢我也是用的direct-forcing immersed boundary method,方法跟你说的类似,不过我做的是大气边界层山脉的模拟。浸入边界交界面内外侧的应力项要处理好,我感觉有可能是你没处理好这一步。
-
介绍一种新的大气边界层入口生成方法DFSR看到一个讨论LES入口的帖子大家讨论得很激烈啊。我之前催DFSR的作者在github上更新他的入口生成方法代码,昨天他给我回信说已更新,我在这里也分享给大家,要注意的是这个算法针对的是大气边界层模拟的入口生成,而非上下面都是墙壁的槽道。https://github.com/abiyfantaye/DFSR
作者是用OenFOAM代码植入的,网址上包含详细的教程、代码,很方便。算法详细的内容可以看下这篇文章Melaku, A.F. and Bitsuamlak, G.T., 2021. A divergence-free inflow turbulence generator using spectral representation method for large-eddy simulation of ABL flows. Journal of Wind Engineering and Industrial Aerodynamics,
-
运行时报错请问有人遇到过这种情况吗?这种报错代表什么意思?运行途中报错,试过调小步长和减小核数一样报错。我运行版本是of6,使用的是LES中的dynamicLagrangian湍流模型,发现每次报错都是出现在"bounding fmm"下面,所以我怀疑是不是湍流模型的问题。之前用的是of23没遇到过这个问题。
-
Lagrangian scale-similaritydependent model湍流模型LESGO(一个用fortran编写的基于伪谱法的开源大涡模拟求解器,主要用于大气边界层和风能的模拟,https://lesgo.me.jhu.edu/ )提到了两种LES湍流模型Lagrangian scale-similarity model和Lagrangian scale-dependent model。这两种模型似乎在大气边界层流动模拟用得较多,想请教一下OpenFOAM这边有和这两个湍流模型相关的资料吗?
注(https://lesgo.me.jhu.edu/subgrid.html ):
The Lagrangian scale-similarity model dynamically changes the Smagorinsky coefficient Cs,Δ(x,t) by test filtering the flow field at a larger scale, assuming scale invariance, and averaging over Lagrangian trajectories.
The Lagrangian scale-dependent model dynamically changes the Smagorinsky coefficient Cs,Δ(x,t) by test filtering the flow field at two larger scales and averaging over Lagrangian trajectories. Unlike the Lagrangian scale-similarity model, the Lagrangian scale-dependent model does not assume scale invariance. -
LES定义入口速度的问题(DSRFG方法)@xjwang 我看到的文献一般是在顺风向全场加$u_*^2/\delta$,$\delta$是大气边界层高度也即计算域高度,至于为什么是这个形式,是为了让计算域加的合力等于地面摩擦力,你自己可以推一推。我入口是域前模拟生成的,这个驱动力项也是预前域时就确定,用的是SOWFA的ABLSolver求解器的办法,具体怎么操作你可以看看它的代码。
-
LES定义入口速度的问题(DSRFG方法)@xjwang 如果想要对入口边界面和入口边界的控制体中心同时定义速度,那么你需要修改这个边界条件代码了。具体怎么做就是每一时间步,把这个边界上附着的控制体改成边界上的值,这个是可以改边界条件代码做到的。你应该做的是模拟大气边界层流动的工作?沿着下流平均风速和脉动风速都会被降低,地面的摩擦剪切是耗散主要来源。想要不要被耗散,要加驱动压力项 (driving pressure term)作为源项来维持能量。
-
List类的clear()函数@刘雄国 赞,太感谢了。我赶紧去补一下vector<>
-
List类的clear()函数最近编程要用到List类。看了下其中的clear()函数发现其只是让成员size变成0,成员指针指向的内存似乎没有清除啊?!这样不会很危险吗?
clear()函数的注释是这样的
//- Clear the addressed list, i.e. set the size to zero.
// Allocated size does not change
这里的Allocated size和size的区别是什么?
求大佬们赐教一波~ -
OpenFOAM国内下载地址,满速感谢李老师~
-
如何给速度分量设置边界条件?@Samuel-Tu 好的,多谢提醒~cfdonline有这两个边界条件差异的讨论。
https://www.cfd-online.com/Forums/openfoam-programming-development/180412-slip-symmetry-boundary-conditions.html -
如何给速度分量设置边界条件?@cccrrryyy 我用在大气边界层风场模拟。速度在顶部的边界条件, z为高度方向,这时候可以设置为slip。