《用有限体积方法求解欧拉方程》由会员分享,可在线阅读,更多相关《用有限体积方法求解欧拉方程(12页珍藏版)》请在人人文库网上搜索。

1、有限体积法求解二维可压缩Euler方程计算流体力学课程大作业老师: 夏健、刘学强 学生: 徐锡虎 学号: SQ 日期: 2010年2月5日 目 录一、内容摘要(2)二、流动控制方程(2)三、有限体积法的空间离散(2)四、人工耗散(3)五、时间离散(4)六、边界条件(5)七、计算结果(8)八、结论与展望(11)参考文献(11)一、内容摘要本文通过运用JAMESON有限体积法求解了二维定常和非定常可压缩Euler方程。程序实现语言为C+。其中,使用的网格是三角形非结构网格。在时间推进上使用的是四步龙库塔推进格式。推进的时间步长取的是当地的时间步长。为了消除迭代误差、round-off等误差,本文采。

2、用了添加人工耗散项的办法。另外,本文计算了NACA0012翼型在跨音速下不同迎角的情况,并与fluent软件的计算结果进行了比较,来验证程序的准确性。二、流动控制方程守恒形式的Euler方程:(1)其中x和y代表笛卡儿坐标系。W是守恒变量。(2)F,G表示通量, (3),P , H和E表示密度,压强,单元总焓和单元总能量。U,V表示笛卡儿坐标系下的速度矢量。这些量由理想气体的单位体积的总能量和总焓相互联系。(4)(5)三、有限体积法的空间离散计算域被划分为互不重叠的单元。在每个单元运用守恒形式的Euler方程。由于每个单元相对于时间都是不变的,所以等式(1)可以写成:(8)其中和S是单元的体积。

3、和边界。W是单元的平均值。在对上述方程进行时间离散前,先对空间进行离散,则方程(6)可以写为:(9)其中表示第k个单元的体积,是第k个单元的守恒变量。表示第k个单元的通量。方程(7)的右边项可以写成:(10)其中 (11)(8)式中的求和是对第k个单元的所有边进行的。守恒参数的量是单元中心值,在求通量时,第I条边的守恒参数值是用左右单元的平均来表示的:(12)引入变量:(13)则第k单元的Euler方程可以写为:(14)在本文中,采用的是JAMENSON有限体积法,为了减少存储的相关信息的量,其存储的方式选择的是按边存储的方法。在存储的每条边的信息中,包含了这条边的边号,左右单元号和边的端点。。

4、在计算通量时采用按边循环的方式:do I=1,nedgek=connmatrix(I,1)a=connmatrix(I,2)b=connmatrix(I,3)p=connmatrix(I,4)flux=function(k,a,b,p)sum(k)=sum(k)+fluxsum(p)=sum(p)-fluxend do这里给出的是FOTRAN语言的形式,我编写采用的是C,具体表现在上交的程序中。在计算时间步长、人工耗散项等也可用象这样按边循环,从此处我们可以看出求解时与单元的形状无关。四、人工耗散人工粘性模型对方法的成功应用起着关键作用,人工粘性抑制解在激波附近的振荡,又阻尼解在光滑区域内的高。

5、阶误差,对解的线性稳定和收敛于定态是很重要的。本文在方程(14)的右端加入了人工耗散项,如对于单元k,其表达式可以表示为:(15)在有限体积法中,耗散项的公式可以表示为:(16)其中:(17)其中的I表示单元k和p的公共边,定义为:(18)上面的j表示与k相邻的单元。(19)(20)其中的量的范围是:。在计算时发现上面方法得到的人工耗散项并不太适合。其在光滑区域耗散项太大,而在大剃度区域又显得太小,为了弥补上面的不足,作下面的修改:(21)自适应系数为:(22)尺度系数为:(23)其中的U,V表示边上的值,C表示当地声速。五、时间离散方程最后的稳定解是通过时间上的迭代得到的,可以写为:(24)。

6、右边项的表达式为:(25)为了加速收敛,时间迭代使用的是4步龙库塔推进格式。格式如下:(26)其中的n表示的是当前的时间步,n+1表示的是新的时间步:(27)(28)为了减小计算时间,人工耗散项的计算只在第一步进行,在下面几步的迭代中保持不变。运用上面的方法计算,可以发现CFL数可以取到,本文中使用的是2.0。使用显示格式迭代的主要缺点是由于稳定区域的限制,所以不能使用过大的时间步长。可以用近似的方法估算时间步长,对于任意形状的网格,可以使用下面的方法:(29)六、边界条件1 固面边界条件对与无粘流动,固面边界条件无穿透条件,设其法向的速度通量为零,即。由于压强项的影响,x向和y向的动量通量并。

7、不为零。固面的压强近似的取为其相邻的单元的单元中心压强。广泛的数值研究证明,如果贴近壁面的单元足够小,并且人工耗散项运用正确,用这种方法取得的压强对结果的精度不会产生太大的影响。2 远场边界条件本文提到的远场,实际是人为的有界边界,对于流场中的扰动会传到很远的地方。因而对于远场边界条件,情况比较复杂,它不能直接给定具体的流场值,需要与流场内的值来共同确定远边场的流场值。如果边界取得过小,则通常采用环量修正。一般情况下,我们采用无反射边界条件。为了保证扰动波不会反射回流场,应用A.Jamson提出的远场边界法向一维特征分析方法,来建立无反射的远场边界条件。一维均熵流动的Euler方程可写成:(3。

8、0)(31)这里,动量方程中除去了压强项,将上式写成矩阵形式为:(32)这里:, (33)的特征值为:,因此,上式的两族特征线为:(34)(35)(34)为特征线,(35)为特征线。沿,给出了众所周知的Riemann不变量,:(36)(37)这里不变量,沿入流特征线是常数,可以用来流条件计算得到;沿出流特征线是常数,可以用流场内部向外插值计算:(38)(39)上式中下标“”表示来流值,下标“”表示以计算域内部参数外插获得的值。通过Riemann不变量,的加减,可获得远场的法向速度和音速:(40)(41)根据Riemann不变量,按边界附近信息传播的性质把远场边界条件分成以下四种情况:A、 亚音。

9、速入流条件,它有三条入流特征线,需规定三个条件:(42)(43)(44)(45)其中下标t表示切向,n代表方向,代表自由流,代表从流场内到边界的外插值,上式的右端皆为已知,可解出边界上的值,再由和求出和。B、 亚音速出流条件,它有一条入流特征线,需规定一个条件(46)(47)(48)(49)C、 超音速出流条件,无入流特征线,不需在边界上规定边界条件(50)其中的W表示边上的守恒变量,表示与此边相邻元素的守恒变量值。D、 超音速入流条件,它有四条入流特征线,需规定全部四个条件(51)其中的W表示边上的守恒变量,表示来流值。七、计算结果本文计算了三个算例,一个是攻角,马赫数0.80的情况,二是攻。

10、角,马赫数0.80的情况,三是攻角2.5,马赫数1.5的情况翼型网格示意图1表面压强系数分布 等压线等马赫线 压力云图马赫数云图升力系数 CL=-3.27408E-005阻力系数 CD= 1.E-0022.上下表面压强系数分布图等压线图 等马赫图压力云图 马赫数云图升力系数为 CL2.E-001阻力系数为 CD=2.E-0023.上下表面压强系数分布压力云图 马赫数云图升力系数为 CL= 0.阻力系数为 CD= 0.八、结论与展望本文主要介绍了求解二维非结构网格欧拉方程定常解的问题。采用的是有限体积空间离散方法,单元形状可以是任意多边形。使用显式多步推进过程,求解非定常方程得到定常解。一些标准。

11、的加速技术可以加快收敛速度。 Jameson格式是学习CFD编程的入门格式,其精度和收敛速度都不高,但通过实际编写程序可以学到很多方法和技巧。因此,学习Jameson格式为以后编写其他格式如Roe,AUSM等等以及求解三维方程和求解N-S方程都打下了良好的基础。本次编程采用的是C语言,并且存在着一个比较大的问题,CFL数不能取到大于1.2的数值,在超音速计算时候CFL数能取的大值变的更小,估计是时间步长上的问题但是目前还没有找到问题所在。忘老师指点。参考文献1、L. STOLCIS* and L. J. JOHNSTON*, Solution of the Euler equations on unstructured grids for two-dimensional compressible flow, Aeronautics/Aerospace Department Von Karman Institute for Fluid Dynamics Rhode-St-Genese, Belgium.2、J. Blazek, Computational Fluid Dynamics Principles and Applications, ELSEVIER。

求解欧拉方程的c语言,用有限体积方法求解欧拉方程相关推荐

  1. 求解欧拉方程的c语言,用有限体积方法求解欧拉方程.doc

    PAGE 4 - 实用标准 文档 有限体积法求解二维可压缩Euler方程 --计算流体力学课程大作业 老师: 夏健.刘学强 学生: 徐锡虎 学号: SQ09018013018 日期: 2010年2月5 ...

  2. 有限体积法求解二维方腔流(一)——动量方程和连续性方程的离散

    1. 有限体积法求解二维方腔流–理论手册 1.1. 不可压缩流体控制方程 连续性方程 ∇⋅U=0(1)\nabla \cdot U=0 \tag{1} ∇⋅U=0(1) 动量方程 ∂U∂t+∇⋅(UU ...

  3. 有限体积法求解二维方腔流(二)——边界条件处理及SIMPLE和PISO算法

    关于动量方程和连续性方程的离散参考这里 1.5. 边界处理 1.5.1. 左边界,uw=vw=0u_w=v_w=0uw​=vw​=0,不包括边角 对流项 ∑FfnUfn+1=(−uwnh)Uwn+1+ ...

  4. 正圆锥体空间方程_数值模拟偏微分方程的三种方法:FDM、FEM及FVM

    偏微分方程数值模拟常用的方法主要有三种:有限差分方法(FDM).有限元方法(FEM).有限体积方法(FVM),本文将对这三种方法进行简单的介绍和比较. 一.有限差分方法 有限差分方法(Finite D ...

  5. 隐式欧拉解常微分方程c语言,利用欧拉方法求常微分方程近似数值解.doc

    利用欧拉方法求常微分方程近似数值解,欧拉微分方程,欧拉运动微分方程,欧拉平衡微分方程,欧拉型微分方程,微分方程的欧拉算法,微分方程的欧拉解法,欧拉型常微分方程,偏微分方程数值解,微分方程数值解法 利用 ...

  6. matlab:使用欧拉方法求解微分方程

    书目:<数值方法(matlab版)>,作者周璐等译 %欧拉方法求解微分方程function [t,y] = my_euler(f, t0, tf , y0, h)%f-函数: t0,tf: ...

  7. 常见的数值积分方法_欧拉积分/中值积分/龙格-库塔积分

    参考:常见的数值积分方法 (欧拉.中值.龙格-库塔,[常用于IMU中]) 1. 积分基本概念 设F(x)为函数f(x)的一个原函数,我们把函数f(x)的所有原函数F(x)+C(C为任意常数)叫做函数f ...

  8. matlab软件编程求解方程实验报告,数学实验“线性方程组高斯消去法”实验报告内含matlab程序.doc...

    数学实验"线性方程组高斯消去法"实验报告内含matlab程序 西京学院数学软件实验任务书课程名称数学软件实验班级数0901学号0912020107姓名李亚强实验课题线性方程组高斯消 ...

  9. 求解非线性方程组的牛顿法c语言,牛顿下山法求解非线性方程(组)(C实现)...

    1.算法描述 (1)符号说明与基本假设 对于非线性方程组:                                                        (1) 引入向量: 可将(1) ...

最新文章

  1. J2EE(一)——开发简单WEB服务器
  2. Arduino方式开发ESP32笔记:使用Preferences保存数据
  3. 所有和Java中代理有关的知识点都在这了
  4. 制作启动U盘与定制多系统启动
  5. 整理一下网上看到的几个巧妙小电路
  6. oracle 创建新库时报错:enterprise manager 配置失败
  7. 关于游戏架构设计的一些整理吧
  8. 第六篇:Spring Boot 访问静态资源
  9. mysql忽略表名大小写_Mysql 表名忽略大小写-连接字符集随笔记录
  10. 字节JAVA研发面试
  11. html设置边框dw,Dreamweaver表格边框设置的css语法大全
  12. 计算机组成原理 第一章 计算机系统概述
  13. matebook14支持触摸屏吗_matebook 14有触屏吗
  14. Centos 7.2基础安装和配置(含分区方案建议)
  15. DeepLearning tutorial(6)易用的深度学习框架Keras简介
  16. 2017-3-2 数据库索引/数据类型/引擎
  17. MSP430的AD7705驱动程序
  18. 幼儿园案例经验迁移_幼儿园故事教学的实施策略
  19. C++ 独木舟旅游活动
  20. 【游戏设计图形学】模拟自然界火焰的方法

热门文章

  1. 全是干货!UI设计的30条黄金准则!
  2. SuspendThread、ResumeThread(二)
  3. 手势控制:点击、滑动、平移、捏合、旋转、长按、轻扫
  4. 2014年阿里巴巴校园招聘算法大题
  5. 写给大一翘课后悔了的同学
  6. 基于CSS mask-image 实现炫酷图片过渡效果之星球大战
  7. java实习个人报告总结
  8. 通过指针变量访问整型变量并打印变量地址
  9. 转载---编写高质量代码:改善Java程序的151个建议(第3章:类、对象及方法___建议41~46)...
  10. linux下mysql大小写区分问题