|
|
|
|
移动端

2.2.1 欧拉方程

《高性能并行珠玑:多核和众核编程方法》第2章从正确到正确&高效:Godunov格式的Hydro2D案例学习,本章将探讨一段科学模拟代码,这段代码是一个以气体动力学为基础的模拟程序。这份程序的输出结果正确,但(初始版本)性能欠佳。本节为大家介绍欧拉方程。

作者:张云泉 等译来源:机械工业出版社|2017-11-14 17:31

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


2.2 冲击流体动力学的一种数值方法

在深入了解如何优化这段代码之前,首先介绍并分析该代码所要解决的问题及其使用的高级算法。

2.2.1 欧拉方程

欧拉方程(或者欧拉系统方程)是一个偏微分方程组,该方程是流体动力学中Navier-Stokes方程的特例。其中的流体是无黏性流体,也就是说,流体的黏度影响是可以忽略不计的。二维形式(见本章)为:

这里ρ是密度,u和v是x和y方向上的速度,E是总能量,p是压力。注意,这里有4个偏微分方程,但是这个系统是欠定的;状态方程(式(2-2))封闭了整个系统并展示了系统中五个变量的依赖关系;γ表示流体的绝热常数,对空气设置为1.4。

以守恒形式表示的式(2-1)看上去可能有些奇怪,其中各方程均代表一个守恒量(即质量、动量和能量)。适当离散化之后,求解过程将会保留守恒形式中有用的物理性质。

欧拉系统在很多数学问题中发挥重要作用。它常用于描述气体运动情况并应用在冲击动力学基础研究中。此外,它建立了一个比全Navier-Stokes更加简单的系统,且该系统具有重要的非线性行为。从数学方面而言,黏度项的消除将PDE的本质变为完全双曲线,这对于缩短求解时间方面的研究具有深远意义。

从式(2-2)上我们可以看出该式所用状态方程为理想气体定律。针对不同的应用已经得到了更加精细的状态方程,但其对该方法性能上的影响较小(访问局部性与这里使用的大同小异)。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

软件设计师考试考前冲刺预测卷及考点解析

本书依据最新版《软件设计师考试大纲》的考核要求,深入研究了历年软件设计师考试试题的命题风格和试题结构,对考查的知识点进行了提炼,并...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊