1.学习方法学习方法首先看两本教材,然后开始看软件的说明如果说要提高效率的话,在阅读说明的时候可以先读完 Getting Start Guide 部分,然后大致先浏览一下 User's Guide,之后重点过一遍 Tutorial Guide而且我建议Tutorial Guide 部分不要因为跟自己的实际使用的模块不一样就跳过,因为实际上每一个 Tutorial 都会有前处理后处理,这一部分是通用的就算是模型部分,你也难保课题在进行过程中会需要换模型,你现在做一天算例,心里有数了,以后想尝试改变模型时心里也有底我个人前前后后应该是将 Tutorial Guide 部分的算例做了近三遍,第一遍基本按操作说明一步一步来第一遍做下来对于 Fluent 这个软件的大体逻辑就有个数了注意这里有一个问题,那就是计算流体力学的逻辑和软件的操作逻辑还不能等同的这里涉及到一个数学模型在软件层面的具体实现路径的问题所以你即使学过计算流体力学的课程,细致地做一遍 Tutorial Guide 部分的算例我觉得也是有很大的必要的完成Tutorial Guide 的第一遍演练之后,我就回头开始看 User's Guide 部分,并且边看边做第二遍算例演练。
两个部分说明互相对照,开始明白每一步操作的实际目的是什么渐渐知道自己在干什么了这一个阶段会推进的比较慢,因为来回对照着做,太快了也不现实,所以需要静下心来做第二遍完成之后,我在做第三的时候,则基本可以脱离操作说明,来完成设计了和计算了而且 User's Guide 于自己课题相关的内容也基本仔细读过了这样大体就可以进入下一个阶段了第三个阶段就是要真正利用 Fluent 计算自己的算例了这里涉及到每个人模拟的具体物理过程,基本上大家在了解了 Fluent 有哪一些具体模块之后,也就清楚自己需要使用哪一个第一步可以尽量尝试简单的几何模型以及初始条件和便捷条件首要的目标是能够开始计算,模型跑通了才行能够计算了才有接下来继续讨论的基础简单模型调试成功之后接下来才算是正式能够开始课题工作了每个人课题不同,所以在这个阶段计算的东西可能不太一样我自己的理解是如果课题主要的工作是模拟计算的话,那么有两大东西是课题讨论的,一是在 Fluent 的基础之上讨论算法和计算参数的设置对于计算结果的影响,二是在稳定算例的基础之上讨论物理模型的数值模型建立方式控制方程的形式,计算模型的选择等因素对计算结果的影响前者实际上往往是出不了什么成绩的,至少没有太多创新性的成绩。
因为你始终在调整的是Fluent 的用户控制界面上给出的选项,Fluent 程序底层的东西你看不到但是不同参数下的计算结果比较作为学位论文的一部分应该没什么问题,尤其当精度和迭代求解算法等参数对计算结果又非常明显的影响的时候,也还是可以作为自己的一个发现的而且我认为这部分工作其实是必须要做的,一方面多数情况下这些参数的选择本身可能对计算结果和收敛速度方面有直接且显著的影响,自己在调试算例的时候这些工作肯定是要做的额另一方面完整的数值模拟过程就是要做到一个非参数化,也就是你的计算结果应该是稳定,不因网格尺寸等因素的变化而明显变化关于 Fluent 的算法和计算参数对计算结果的讨论暂且先说这么一些,下面谈一点关于物理模型到数据模型到控制方程这样思路的关于计算模型修正的讨论这对于大多数的研究来说应该是最核心的东西,也是最难的东西,这一方面对于理论功底有要求,另一方面对于软件的使用的熟悉度也有要求而且很多的时候计算结果不对,可能有模型构建的问题,也有软件实现的时候设置的问题,需要非常小心细致的工作才行要走这一方面的工作学习 UDF 部分应该是必不可少的如何学习编写 UDF,也没有其他方法仔细看 UDF Manual,然后自己尝试。
这时候在自己最简单的算例上进行尝试,做到单变量变化来推进整个研究过程不要急于求成,这个阶段是最容易出现挫败感的阶段,因为你的输入在些微细节上的疏忽就可能导致无法计算、计算不收敛、或者计算结果失真的问题我自己在这方面是吃了很多苦头的,最开始目标设得太远直接按最复杂的模型编写 UDF,编了十几个 UDF 插入,但是计算就是不对,然后再一个一个回头去找问题,这是特别头痛的一件事,最后都没有走通最后是换了一种思路,从最简单的单相模型开始做,一直做到三相的模型,这样每一个阶段都能有一点结果的积累,毕业论文的压力也不会太大关于自己模型的具体描述,对于跟我不是做一样方向的同学也没有什么价值,我就不具体详述了关键还是细心看完 UDF Manual 然后自己尝试着从最简单的开始编写另外网络上能找到一些比较复杂的 UDF模板,对于同样需要编写复杂 UDF 的同学,不妨找来读一读,在它的基础之上做修改,这样编写起来要简单很多2.fluent 模拟模拟当你决定使 FLUENT 解决某一问题时,首先要考虑如下几点问题:(1)定义模型目标:从 CFD 模型中需要得到什么样的结果?从模型中需要得到什么样的精度?(2)选择计算模型:你将如何隔绝所需要模拟的物理系统?计算区域的起点和终点是什么?在模型的边界处使用什么样的边界条件?二维问题还是三维问题?什么样的网格拓扑结构适合解决问题?(3)物理模型的选取:无粘,层流还湍流?定常还是非定常?可压流还是不可压流?是否需要应用其它的物理模型?(4)确定解的程序:问题可否简化?是否使用缺省的解的格式与参数值?采用哪种解格式可以加速收敛?使用多重网格计算机的内存是否够用?得到收敛解需要多久的时间?在使用 CFD 分析之前详细考虑这些问题,对你的模拟来说是很有意义的。
当你计划一个 CFD 工程时,请利用提供给 FLUENT 使用者的技术支持3.fluent 网格网格FLUENT 在二维问题中可以使用由三角形、四边形或混合单元组成的网格,在三维问题中可以使用四面体,六面体,金字塔形以及楔形单元,或者两种单元的混合网格的选择依赖于具体的问题,在选择网格的时候,你应该考虑下列问题:1)初始化的时间 2)计算花费 3)数值耗散 4)初始化的时间很多实际问题是具有复杂几何外形的,对于这些问题采用结构网格或块结构网格可能要花费大量的时间,甚至根本无法得到结构网格复杂几何外形初始化时间的限制刺激了人们在非结构网格中使用三角形网格和四面体网格然而,如果你的几何外形并不复杂的话,两种方法所耗费的时间没有明显差别如果你已经有了结构网格代码如 FLUENT 4 生成的网格,那么在 FLUENT 中使用该网格会比重新生成网格节约大量的时间这一特点也刺激了人们在 FLUENT 仿真中使用四边形网格和六面体网格注意:FLUENT 有一个格式转换器允许你从其它程序中读入结构网格CFD 网格(1)细化网格来捕捉关心的梯度;(2)网格的质量和平滑度对结果的精确度至关重要;(3)大部分可划分为四面体网格, 但六面体单元仍然是首选的;(4)CFD 网格的四面体单元通常是一阶的(单元边上不包含中节点);(1)四面体网格1) 可以快速地、自动地生成,并适合于复杂几何网格可以由 2 步生成:步骤 1: 定义网格尺寸步骤 2: 生成网格2) 等向细化—为捕捉一个方向的梯度,网格在所有的三个方向细化—网格数量迅速上升。
四面体网格的优缺点:优点:任意体总可以用四面体网格;可以快速, 自动生成, 并适用于复杂几何;在关键区域容易使用曲度和近似尺寸功能自动细化网格;可使用膨胀细化实体边界附近的网格 (边界层识别)缺点:在近似网格密度情况下,单元和节点数高于六面体网格;一般不可能使网格在一个方向排列;由于几何和单元性能的非均质性,不适合于薄实体或环形体2)六面体网格大多 CFD 程序中,使用六面体网格可以使用较少的单元数量来进行求解:1)流体分析中,同样的求解精度,六面体节点数少于四面体网格的一半;2)各向异性单元和各向异性物理相匹配(边界层,高曲率区域如同导行翼和曳尾边)对任意几何,六面体网格划分需要多步过程来产生高质高效的网格对许多简单几何,扫掠技术是生成六面体网格的一种简单方式:扫掠、多区2D 几何网格划分方法有四种不同的划分方法:自动(四边形支配)、三角形、均匀四边形和三角形、均匀四边形3)3D 几何网格划分方法3D 几何有六种不同网格划分方法:自动划分、四面体(patch conforming; patch independent)、扫掠划分、多区、六面体支配、CFX 网格Patch conforming 算法的四面体方法:1)考虑面和它们的边界 (边和顶点) 2)包含膨胀因子的设定,控制四面体边界尺寸的内部增长率 3)包括 CFD 的膨胀层或边界层识别 4)同一个组建中可和体扫掠方法混合使用-产生一致的网格。
算法生成方法:首先由默认的考虑几何所有面和边的 Delaunay 或 Advancing Front 表面网格划分器生成表面网格 (注意: 一些内在缺陷在最小尺寸限度之下) 然后基于 TGRID Tetra 算法由表面网格生成体网格默认时考虑所有的面和边 (尽管在收缩控制和虚拟拓扑时会改变且默认损伤外貌基于最小尺寸限制);适度简化 CAD (如. native CAD, Parasolid, ACIS, 等.);在多体部件中可能结合使用扫掠方法生成共形的混合四面体/棱柱和六面体网格;有高级尺寸功能;表面网格→体网格Patch independent 算法的四面体方法:1)如没有载荷,边界条件或其它作用,面和它们的边界 (边和顶点) 不必考虑 2)适用于粗糙的网格或生成更均匀尺寸的网格 3)ANSYS Meshing Application 可以非常方便的生成四面体网格 4)ANSYS Meshing Application 标准的网格尺寸控制 5)Tetra 部分也有膨胀应用生成方法为:生成体网格并映射到表面产生表面网格如没有载荷,边界条件或其它作用,面和它们的边界 (边和顶点) 不必要考虑。
这个方法更加容许质量差的 CAD 几何 Patch Independent算法基于 ICEM CFD Tetra. 对 CAD 有长边的面, 许多面的修补, 短边等有用;内置 defeaturing/simplification 基于网格技术;基于 ICEM CFD 四面体/棱柱 Octree 方法;体网格→表面网格weep 方法:1)生成六面体或棱柱 2)体必须是可扫掠的 3)一个源面,一个目标面 4)膨胀层可生成纯六面体或棱柱网格通常是单个源面对单个目标面薄壁模型自动网格划分会有多个面,且厚度方法可划分为多个单元右击 mesh,选 show sweepable几何要求:所有的 3D 网格划分方法要求组成的几何为实体(solid)如果输入一个由面体组成的几何,需要在 ANSYS 网格划分应用程序中生成 3D 网格,就需要额外的步骤将其转换为 3D 实体 (尽管表面体可以由表面网格划分法来划分)3.1 网格划分程序网格划分程序①设置目标物理环境 (结构, CFD, 等)自动生成相关物理环境的网格 (如FLUENT, CFX, 或 Mechanical);②设定网格划分方法;③定义网格设置 (尺寸, 控制, 膨胀, 等);④方便使用创建命名选项;⑤预览网格并进行必要调整;⑥生成网格;⑦检查网格质量;⑧准备分析的网格。
初始尺寸种子控制每一部件的初始网格种子;已定义单元尺寸则被忽略;Active Assembly: 基于这个设置,初始种子放入未抑制部件网格可以改变Full Assembly: 基于这个设置,初始种子放入所有装配部件,不管抑制部件的数量由于抑制部件网格不改变 Part: 基于这个设置,初始种子在网格划分时放入个别特殊部件由于抑制部件网格不改变 平滑和过渡平滑(Advanced Size Function 是关闭的)平滑网格是通过移动周围节点和单元的节点位置来改进网格质量下列选项和网格划分器开始平滑的门槛尺度一起控制平滑迭代次。