关键词为 “计算流体力学” 的文章
CFD入门傻瓜版[3]
by 优雅的混蛋 on 12月 19, 2006
想了一下,还是把Roe求解器稍微说说吧,力求比较完整。但是不要指望我把Roe求解器解释清楚,因为这个不是很容易三言两语说清的。
Roe求解器的数学形式是这样的
[tex]\mathbf{F}_{i+\frac{1}{2}}=\frac{1}{2}[\mathbf{F}(\mathbf{Q}^-_{i+\frac{1}{2}}) +\mathbf{F}(\mathbf{Q}^+_{i+\frac{1}{2}})]- \frac{1}{2}|\mahbf{\bar{A}}_{i+\frac{1}{2}}|(\mathbf{Q}^+_{i+\frac{1}{2}}-\mathbf{Q}^-_{i+\frac{1}{2}})[/tex]
显然这个公式的第一项是一个中心差分形式,先前说过简单的中心差分不可行,原因是耗散不足导致振荡,说得通俗点就像一个弹簧,如果缺乏耗散(阻尼)它就会一直振荡。“耗散”这个术语在激波捕捉格式中是最常见的。第二项的作用就是提供足够的耗散了。
CFD入门傻瓜版[2]
by 优雅的混蛋 on 12月 17, 2006
上次(http://gezhi.org/node/399)说到了求解可压缩流动的一个重要算法,通用Godunov方法。其两个主要步骤就是
1 怎么确定[tex]\mathbf{Q}^{-}_{i+\frac{1}{2}}[/tex]和[tex]\mathbf{Q}^{+}_{i+\frac{1}{2}}[/tex]
2 怎么计算[tex]\mathbf{F}_{i+\frac{1}{2}}[/tex]
这里我们给出第一点一个具体的实现方法,就是基于原始变量的MUSCL格式(以下简称MUSCL)。它是一种很简单的格式,而且具有足够的精度,NASA著名的CFL3D软件就是使用了这个格式,大家可以去它的主页(http://cfl3d.larc.nasa.gov/Cfl3dv6/cfl3dv6.html)上看手册,里面空间离散那一章清楚的写着。
CFD入门傻瓜版[1]
by 优雅的混蛋 on 12月 15, 2006
借宝地写几个小短文,介绍CFD的一些实际的入门知识。主要是因为这里支持Latex,写起来比较方便。
CFD,计算流体力学,是一个挺难的学科,涉及流体力学、数值分析和计算机算法,还有计算机图形学的一些知识。尤其是有关偏微分方程数值分析的东西,不是那么容易入门。大多数图书,片中数学原理而不重实际动手,因为作者都把读者当做已经掌握基础知识的科班学生了。所以数学基础不那么好的读者往往看得很吃力,看了还不知道怎么实现。本人当年虽说是学航天工程的,但是那时本科教育已经退步,基础的流体力学课被砍得只剩下一维气体动力学了,因此自学CFD的时候也是头晕眼花。不知道怎么实现,也很难找到教学代码——那时候网络还不发达,只在教研室的故纸堆里搜罗到一些完全没有注释,编程风格也不好的冗长代码,硬着头皮分析。后来网上淘到一些代码研读,结合书籍论文才慢慢入门。可以说中间没有老师教,后来赌博士为了混学分上过CFD专门课程,不过那时候我已经都掌握课堂上那些了。