首页/文章/ 详情

计算流体动力学分析-CFD软件原理与应用265-王福军-电子书

5月前浏览304

作者简介

王福军.男。生于1964年6月,清华大学工程力学博士,英国Swansea 大学土木系博士后,长期从事流体机械CAD/CAE方面的教学及科研工作,现为中国农业大学水利与土木工程学院教授、博士生导师、院长。


内容简介

本书是一本介绍计算流体动力学(CFD)最新理论知识和CFD 软件开发、应用的指导性教材。全书共分八章,前五章以有限体积法为核心,介绍流体流动与传热问题的控制方程、空间及时间离散格式、湍流模型及数值解法,后三章结合FLUENT 软件,以实例的方式介绍CFD 软件原理及其在流场分析、传热计算及多相流模拟等方面的最新应用。实用性和新颖性是木书最大的特点。

本书可作为动力、能源、水利、航空、冶金、海洋、环境、气象、流体工程等专业领域的研究生和本科生教材,也可供上述领域的科技人员,特别是从事CFD 模拟的人员参考


前 言

计算流体动力学(简称 CFD) 是建立在经典流体动力学与数值计算方法基础之上的一门新型独立学科,通过计算机数值计算和图像显示的方法,在时间和空间上定量描述流场的数值解,从而达到对物理问题研究的目的。它兼有理论性和实践性的双重特点,建立了许多理论和方法,为现代科学中许多复杂流动与传热问题提供了有效的计算技术。

CFD 的应用与计算机技术的发展密切相关。CFD 软件最早于20世纪70年代诞生在美国,但真正得到较广泛的应用是近几年的事。CFD 软件现已成为解决各种流体流动与传热问题的强有力工具,成功应用于水利、航运、海洋、环境、食品、流体机械与流体工程等各种技术科学领域。过去只能靠实验手段才能得到的某些结果,现在已完全可以借助CFD 模拟来准确获取。

但是,CFD 依赖于系统的流体动力学知识和较深入的数理基础,虽然商用CFD 软件减轻了用户在这方面的压力,但学习和掌握CFD 还不是一件容易的事。到目前为止,国内尚没有关于CFD 软件开发与应用的参考书,现有的CFD 书籍只是介绍计算流体动力学基本理论,与CFD 软件联系不多。随着FLUENT 等商用CFD 软件的广泛应用,迫切需要一本介绍CFD 最新理论知识和CFD开发与应用的指导性教材。

本书就是在这样的背景下编写的,力求体现如下三个特点:首先是实用性,本书尽量用最通俗的语言解释 CFD 理论与应用过程中最本质、最基础的内容,同时将理论和应用方法与CFD 软件结合起来介绍,争取让不同层次的读者都能阅读并掌握CFD 的核心内容及CFD 软件的基本用法。其次是新颖性,本书充分体现目前CFD 研究最新的、已被商用软件采纳的成果,例如引入了近两年才发展起来的用于大涡模拟的一些亚格子尺度模型,同时对 CFD 计算中的某些经验系数,按近几年发表的文献进行了校核和更新。第三是重点突出,本书本着有所为、有所不为的原则,重点介绍发展成熟、应用广泛的理论和方法,例如,有限差分法在许多 CFD 教材中占据大量篇幅,但考虑到有限差分法在目前CFD 软件中远不如有限体积法应用普遍,因此,本书不介绍有限差分法,而重点介绍有限体积法。

全书共分八章,第1章至第5章介绍CFD 的基础理论,第6章至第8章结合FLUENT软件介绍CFD 开发与应用的知识和实例。

本书第1章至第5章由工福军编写,第6章由工海松编写,第7章和第8章由王海松、戚兰英、王正伟、周凌九、洪益平和李永欣编写,王国玉、王利萍和黎耀军等也为本书编写做了许多工作。全书由王福军统稿。

本书的出版得益于中国农业大学研究生院教改项日的大力支持,书稿曾作为研究生教材在北京部分院校使用。2004年初,该书被北京市教委批准作为北京市高等教育精品教材建设项目编写并出版。在本书出版过程中,得到了清华大学出版社的支持和帮助,使得笔者能在较短时间内出版此书。


第1章 计算流体动力学基础知识

流体流动现象大量存在于自然界及多种工程领域中,所有这些过程都受质量守恒、动量守恒和能量守恒等基本物理定律的支配。本章向读者介绍这些守恒定律的数学表达式,在此基础上提出数值求解这些基本方程的思想,阐述计算流体力学的任务及相关基础知识,最后简要介绍目前常用的计算流体动力学商用软件。

1.1 计算流体动力学概述

1.1.1 什么是计算流体动力学

计算流体动力学(Computational Fluid Dynamics,简称 CFD) 是通过计算机数值计算和图像显示,对包含有流体流动和热传导等相关物理现象的系统所做的分析。 CFD 的基本思想可以归结为:把原来在时间域及空间域上连续的物理量的场,如速度场和压力场,用 ·系列有限个离散点上的变量值的集 合来代替,通过一定的原则和方式建立起关于这些离散点上场变量之间关系的代数方程组,然后求解代数方程组获得场变量的近似值[¹-3

CFD 可以看做是在流动基本方程(质量守恒方程、动量守恒方程、能量守怛方程)控制下对流动的数值模拟。通过这种数值模拟,我们可以得到极其复杂问题的流场内各个位置上的基本物理量(如速度、压力、温度、浓度等)的分布,以及这些物理量随时间的变化情况,确定旋涡分布特性、空化特性及脱流区等。还可据此算出相关的其他物理量,如旋转式流体机械的转矩、水力损失和效率等。此外,与CAD 联合,还可进行结构优化设计等。

CFD 方法与传统的理论分析方法、实验测量方法组成了研究流体流动问题的完整体系,

图1.1给出了表征三者之问关系的“三维”流体力学示意图[10

image.png

理论分析方法的优点在于所得结果具有普遍性,各种影响因素清晰可见,是指导实验 研究和验证新的数值计算方法的理论基础。但是,它往往要求对计算对象进行抽象和简化,才有可能得出理论解。对于非线性情况,只有少数流动才能给出解析结果。

实验测量方法所得到的实验结果真实可信,它是理论分析和数值方法的基础,其重要 性不容低估。然而,实验往往受到模型尺寸、流场扰动、人身安全和测量精度的限制,有 时可能很难通过试验方法得到结果。此外,实验还会遇到经费投入、人力和物力的巨大耗 费及周期长等许多困难。

而CFD 方法恰好克服了前面两种方法的弱点,在计算机上实现一个特定的计算,就好 像在计算机上做一次物理实验。例如,机翼的绕流,通过计算并将其结果在屏幕上显示, 就可以看到流场的各种细节:如激波的运动、强度,涡的生成与传播,流动的分离、表面 的压力分布、受力大小及其随时间的变化等。数值模拟可以形象地再现流动情景,与做实 验没有什么区别。


1.1.2 计算流体动力学的工作步骤

采用CFD 的方法对流体流动进行数值模拟,通常包括如下步骤:

(1)建立反映工程问题或物理问题本质的数学模型。具体地说就是要建立反映问题各个量之间关系的微分方程及相应的定解条件,这是数值模拟的出发点。没有正确完善的数学模型,数值模拟就毫无意义。流体的基本控制方程通常包括质量守恒方程、动量守恒方程、能量守恒方程,以及这些方程相应的定解条件。

(2)寻求高效率、高准确度的计算方法,即建立针对控制方程的数值离散化方法,如有限差分法、有限元法、有限体积法等。这里的计算方法不仅包括微分方程的离散化方法及求解方法,还包括贴体坐标的建立,边界条件的处理等。这些内容,可以说是CFD 的核心。

(3)编制程序和进行计算。这部分工作包括计算网格划分、初始条件和边界条件的输入、控制参数的设定等。这是整个工作中花时间最多的部分。由于求解的问题比较复杂,比如Navier-Stokes方程就是一个十分复杂的非线性方程,数值求解方法在理论上不是绝对完善的,所以需要通过实验加以验证。正是从这个意义上讲,数值模拟又叫数值试验。应该指出,这部分工作不是轻而易举就可以完成的。

(4)显示计算结果。计算结果一般通过图表等方式显示,这对检查和判断分析质量和结果有重要参考意义。以上这些步骤构成了 CFD 数值模拟的全过程。其中数学模型的建立是理论研究的课题,一般由理论工作者完成。


1.1.3 计算流体动力学的特点

CFD 的长处是适应性强、应用面广。首先,流动问题的控制方程一般是非线性的,自变量多,计算域的几何形状和边界条件复杂,很难求得解析解,而用CFD方法则有可能找出满足工程需要的数值解;其次,可利用计算机进行各种数值试验,例如,选择不同流动参数进行物理方程中各项有效性和敏感性试验,从而进行方案比较。再者,它不受物理模型和实验模型的限制,省钱省时,有较多的灵活性,能给出详细和完整的资料,很容易模拟特殊尺寸、高温、有毒、易燃等真实条件和实验中只能接近而无法达到的理想条件。

CFD 也存在一定的局限性。首先,数值解法是一种离散近似的计算方法,依赖于物理上合理、数学上适用、适合于在计算机上进行计算的离散的有限数学模型,且最终结果不能提供任何形式的解析表达式,只是有限个离散点上的数值解,并有一定的计算误差;第二,它不像物理模型实验一开始就能给出流动现象并定性地描述,往往需要由原体观测或物理模型试验提供某些流动参数,并需要对建立的数学模型进行验证;第三,程序的编制及资料的收集、整理与正确利用,在很大程度上依赖于经验与技巧。此外,因数值处理方法等原因有可能导致计算结果的不真实,例如产生数值粘性和频散等伪物理效应。当然,某些缺点或局限性可通过某种方式充服或弥补,这在本书中会有相应介绍。此外, CFD 因涉及大量数值计算,因此,常需要较高的计算机软硬件配置。

CFD 有自己的原理、方法和特点,数值计算与理论分析、实验观测相互联系、相互促进,但不能完全替代,三者各有各的适用场合。在实际工作中,需要注意三者有机的结合,争取做到取长补短。




更多内容见附件


免责声明:

本页面/内容部分素材来源于互联网公 开 信 息,旨在传递更多信息,不代表本平台立场。

版权归原作者或机构所有,如涉及侵权,请通过平台联系我们,我们将在核实后第一时间处理。

本平台对转载内容的真实性、准确性不作任何保证,用户需自行判断并承担使用风险。

附件

免费A5.计算流体动力学分析-CFD软件原理与应用265-王福气军-电子书.pdf
Fluent电子
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-03-18
最近编辑:5月前
仿真支持爱好者
在仿真的路上越走越远
获赞 333粉丝 21文章 318课程 0
点赞
收藏
作者推荐

Abaquspython入门体会(simwe-flin55)

Abaqus/python入门体会(初稿)#===========================================================自己的论文要用到有限元进行数值模拟分析,以前都用ansys计算,可ansys中岩土的本构模型只有D—P模型,无法准确的反映土的硬化/软化性质,模拟计算出的结果因此也和实际差别很大。Abaqus有着丰富的材料模型,超强的非线性分析能力,岩土的模型也很多,因此オ转学Abaqus〇Abaqus的cae建模功能还是很好的,但科研课题一般都要进行参数分析,釆用cae的建模方法有些不切实际,学了没几天就放弃cae开始学习inp,也是学了一阵子才知道inp不能建立实体模型,只能直接建节点和单元。复杂的模型inp也无法建立,但釆用Python建模就可以解决这个问题。由于Abaqus的学习资料不多,过了好些日子才知道Abaqus也可以采用Python语言进行建模计算,只是比Ansys的Apdl语言复杂得多,并且除了手册上的Script资料之外,没有较为系统的教程,刚一接触真是让人头痛。通过查看Simwe论坛上关于Python的帖子,和论坛朋友的帮助,自己在慢慢积累,现在对Python有了一点点了解,算是入了个门。接触Abaqus也没多久,对python更是一知半解,绝大多数地方根本都不清楚,抽空写一点认识体会主要是给像自己一样刚学习AbqusPython的朋友,能少走一些弯路,节约一些时间。同时希望大家批评指正、共同讨论、补充。学习Abaqus/Python基础:Abaqus的cae建模有比较全面的认识;了解一些Python语法知识(大家都不会有太多时间单独学习Python语言本身,只需要有概念了解即可,不懂的地方可以随时查询Pythonscript手册)Abaqus/Python学会使用不太难,可要精通应用还是要付出一定的劳动。大家所分析的课题专业不同,方向也千差万别,所用到的Abaqus的功能也就有很大的差别,能对自己的工作领域熟练应用就算成功。Abaqus毕竟只是软件,如何考虑专业知识成功建模才是最困难的。#1.Python与Abaqus2.Abaqus/Python结构3.模型参数分析技巧4.几个命令的体会5.ー个Abaqus/Python例子#1.Python与Abaqus1.1Python简介Python是面向对象的语言。面向对象的语言自己的理解为:语言本身已经定义了许多固定模块,如数学函数、对显示模式的控制、一些对话框的编写等等程序模块,只需要按照程序的指定格式填空即可完成既定任务,格式相对比较固定,因此语言格式看起来非常繁琐,但方便实用能够大量节约程序员的时间。面向对象语言的使用方式可以比喻为:一棵树分为树干、树枝、细枝和树叶等部分,你要是想得到ー个确定位置的树叶(且具大小等属性)只有一个路径可以走即树干ー树枝ー细枝ー树叶,换成面向对象的格式为树干.树枝.细枝.树叶(树叶片数或大小等属性)。以下是abaqus中Python的一般格式,这些格式都是固定的,我们只需要改变其中的参数即可:mdb.models['Model-1'].ConstrainedSketch(name='_profile',sheetSize=0.3)s=mdb.models['Model-1'].ConstrainedSketch(name='_profile',sheetSize=0.3)s.sketchOptions.setValues(decimalPlaces=3,viewStyle=AXISYM)s.setPrimaryObject(option=STANDALONE)s.ConstructionLine(point1=(0.0,-100.0),point2=(0.0,100.0))Python有着较强的逻辑控制语句如if、for、while等,可以通过循环或条件等语句把复杂且重复的操作变得简单易于操作,也是用参数化编程较cae的最大优势。1.2如何学abaqusPython命令Abaqus是采用Python语言编制而成,在cae中所有的操作都可以通过Python脚本命令完成(注:好像Python并不能完全取代inp文件,ー些材料属性的参数好像要用inp才能赋值)。☆学会用pythonreader程序Abaquscae可以自动生成python文件,存放在工作目录的abaqus.rpy文件中,每ー步cae操作都会产生相应的python命令。可以通过simwe网友ck436ck436编写的pythonreader程序实时读取产生的命令,反复揣摩、领会每个命令,很快就会有所提高,对python的命令有所领悟。与cae建模相同,Python建模也分为:part、property>assembly>step、ineraction、load、mesh、job等模块,具体每个模块中的建模命令可参考Pythonreader读取的命令学习,我们只需去记忆常用的Python命令。以下是pythonreader程序下载地址。http://forum.simwe.com/viewthread.php?tid=808007&highlight=Pythonhttp://groups.google.com/group/ck436goooglemail/files☆通过修改M8四&rpy建立自己的脚本文件是一条捷径1.3Abaqus/Python学习资料关于Python的学习资料非常多,如Swaroop,C.H.著沈洁元译的«简明Python教程»就是很好的参考资料。王纯业的«Python学习笔记»也不错,simwe论坛可以下载到恥另外就是Abaqus手册:AbaqusScriptingUser'sManualAbaqusScriptingReferenceManualGettingStartedwithAbaqus:InteractiveEditionAbaqus手册真是冗长,只能是根据自己的课题有选择的査阅。2.Abaqus/Python结构Abaqus的objectmodel分为session、mdb和odb二个objects,session为视图模块、mdb为模型数据模块、odb为数据输入输出模块。每个object下面乂有很多命令分支,宜到执彳亍到所需要的具体命令。以下各图选自AbaqusScriptingUser'sManual,更多书面的的解释可以参考abaqus手册。每个object都像ー棵树,要执彳亍某个命令就需要按照python的面向对象的格式进亍。更多内容见附件免责声明本页面/内容部分素材来源于互联网公开信息,旨在传递更多信息,不代表本平台立场。版权归原作者或机构所有,如涉及侵权,请通过平台联系我们,我们将在核实后第一时间处理。本平台对转载内容的真实性、准确性不作任何保证,用户需自行判断并承担使用风险。

有附件
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈