首页/文章/ 详情

Fluent仿真实例-载人舱以超高音速再入大气层的仿真1网格剖分

1月前浏览1663

本教程的目的是计算高超音速速度下绕过再入舱的流动。模拟的速度、轨迹和环境条件代表了这样一种飞行器在大约50 [km]高度通过地球大气层时的情况。

本教程演示了如何执行以下操作:

  1. 使用无缝隙几何工作流创建网格。
  2. 使用高速数值、双温度模型进行能量建模,以及适用于空气属性的适当模型来模拟高超音速流动。
  3. 设置外部空气动力学的边界条件。
  4. 使用k-ω SST湍流模型。
  5. 使用基于密度的耦合求解器计算解决方案。


1. 问题描述


     

   

问题考虑了在攻角α=-25°和自由流马赫数17.0下绕过再入舱的流动。几何形状如下图所示,该图还显示了给定情况下的升力和阻力方向。对于本教程,可以假定绕过再入舱的流动是对称的。


2.启动Fluent


     

   
  1. 在文章末尾下载reentry_capsule.zip文件(腾讯微云)。

  2. 将reentry_capsule.zip解压到您的工作目录。可以在文件夹中找到SpaceClaim CAD文件CapsuleFlow.scdoc。

  3. 使用Fluent启动器启动ANSYS Fluent。

  4. 在左上角的选择列表中选择Meshing以启动Fluent的网格模式。

  5. 在选项下启用双精度。

  6. 在并行(本地机器)下将网格过程和求解器过程设置为4。


3.启动网格工作流


     

     
   

a. 在工作流选项卡中,选择水密几何工作流。

b.工作流的面板如下。


4.导入CAD几何


     

   

a. 选择导入几何任务。

b. 对于单位,选择米。

c. 对于文件名,输入要导入的CAD几何的路径和文件名(CapsuleFlow.scdoc)。

d. 点击导入几何。这将更新任务,在图形窗口中显示几何,并允许您继续进行工作流中的下一个任务。


5.添加局部尺寸


     

   

使用面尺寸在墙表面添加局部网格尺寸控制,并在再入舱周围的流动体积中使用影响体(BOIs),在流动感兴趣的区域。请注意,所有网格尺寸,局部和全局,都比工业用途典型尺寸更粗糙,以确保网格对于教程目的不会太大。

a. 在添加局部尺寸任务中,通过选择是来向面几何添加局部尺寸控制:

i. 在添加局部尺寸提示时选择是。

ii. 为尺寸控制的名称输入capsule。

iii. 指定增长速率为1.1。

iv. 保留面尺寸作为尺寸控制类型。

v. 指定目标网格尺寸为0.1。

vi. 选择区域作为选择方式。

vii. 选择origin-capsule。

b. 点击添加Add Local Sizing。

i. 选择Body Of Influence作为Size Control Type。

ii. 保留尺寸控制名称的默认值 "boi_1"。

iii. 指定增长速率为1.1。

iv. 指定目标网格尺寸为0.2。

v. 选择“按标签选择”作为选择方式。

vi. 选择 "capsuleflow-boi1"。

c.点击Add Local Sizing

i. 保留尺寸控制名称的默认值 "boi_2"。

ii. 指定增长速率为1.1。

iii. 指定目标网格尺寸为0.05。

iv. 选择 "capsuleflow-boi2"。

v. 点击Add Local Sizing以完成此任务,并继续进行工作流中的下一个任务。


6.生成表面网格


     

   

按照上述设置的局部尺寸,全局表面网格尺寸仅定义了再入舱远离其他表面、流入、流出和对称表面上的最大元素。

a. 在Generate the Surface Mesh任务中,您可以为面几何设置各种表面网格属性。

b. 指定最小尺寸为0.1。

c. 指定最大尺寸为1。

d. 指定增长速率为1.1。

e. 点击Generate the Surface Mesh以完成此任务并继续进行工作流中的下一个任务。


7.描述几何


     

   

当您选择Describe Geometry任务时,系统会提示与导入几何的性质相关的问题。

a. 在Geometry Type选择“几何仅由流体区域组成,没有空隙The geometry consists of only fluid regions with no voids”选项,因为此模型仅包含流体区域。

b. 保留此任务的其余默认设置。

c. 点击Describe Geometry以完成此任务并继续进行工作流中的下一个任务。


8.确认并更新边界


     

   

a. 选择Update Boundaries任务,您可以在此检查网格边界,并确认并相应更改任何指定的边界。ANSYS Fluent尝试自动确定正确的边界排列。

b. 为inflow边界选择pressure-far-field。

c. 为outflow边界选择pressure-outlet。

d. 为sym边界选择symmetry。

e. 所有建议的边界都是正确的,点击Update Boundaries并继续进行下一个任务。


9.更新区域


     

   

a. 选择Update Regions任务,您可以在此查看并更改从导入的几何生成的各种区域的名称和类型,并根据需要进行更改。

我们可以看到,唯一定义的区域是流体区域。

b. 建议的区域类型是正确的,因此点击Update Regions以更新您的设置。


10.添加边界层


     

   


a. 选择Add Boundary Layers任务,您可以在此设置边界层网格的属性。

b. 选择last-ratio作为Offset Method Type类型。

c. 保留尺寸控制的默认名称last_ratio_1。

d. 指定层数为30。为了模拟接近壁面的流动,需要许多边界层。

e. 指定过渡比率为1。

f. 指定第一高度为0.001。

g. 点击Add Boundary Layers。


11.生成体积网格


     

   

按照上述设置的局部尺寸,包括影响体,全局体积网格尺寸仅定义了流场中的最大元素。在这种情况下,最大值设置为与指定的全局表面网格尺寸一致。

a. 选择Generate the Volume Mesh任务,以设置体积网格的属性。

b. 选择多面体polyhedra以填充。

c. 指定最大单元长度为1。

d. 保留启用并行网格的默认选择。

e. 点击Generate the Volume Mesh。

ANSYS Fluent将应用您的设置,并继续为机翼几何生成体积网格。网格显示在图形窗口中,自动插入一个剪切平面,绘制一层单元,以便您可以快速查看体积网格的细节。


12.检查和保存网格


     

   

Mesh → Check。

保存网格文件(CapsuleFlow.msh.gz)。File → Write → Mesh...


13.切换到求解Solution模式


     

   

现在,使用ANSYS Fluent在网格模式下生成了网格,您现在可以切换到求解器模式以完成仿真的设置。具体的仿真设置请看下一篇教程文章。





来源:CFD饭圈
SpaceClaimMeshingFluentCFX燃烧动网格湍流Polyflow控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-09-08
最近编辑:1月前
CFD饭圈
硕士 分享CFD文章,感谢关注
获赞 22粉丝 23文章 378课程 0
点赞
收藏
作者推荐

CFD求解器的开发,C++仍然是王者

在计算流体动力学(CFD)领域,选择合适的编程语言对于求解器的开发至关重要。C++因其卓越的性能和强大的功能,在CFD开发中占据着主导地位。本文将深入探讨C++的优势,并比较其他几种在CFD开发中可能用到的语言。一、C++的优势 强大的社区和活跃的开发者基础:C++有着庞大的用户社区和专业的指导机构,这不仅确保了语言的持续发展,还意味着有大量的库和工具可供开发者使用,加速了开发过程。面向对象编程(OOP):C++支持OOP,这是一种编程范式,它将代码组织成对象,每个对象包含数据和操作这些数据的方法。这种封装、继承和多态的特性使得C++代码更加模块化、可重用和易于维护。丰富的CFD专用库:C++拥有专门为此领域开发的库,如OpenFOAM和SU2等,这些库经过了严格的测试,可以确保稳定性和性能。自动化开发工具:C++配合如CMake等工具,可以高效地进行项目的构建、测试和打包,符合现代软件开发的自动化需求。编译与优化:C++作为编译语言,能够充分利用编译器优化,生成高效的执行代码。这对于计算密集型的CFD应用至关重要。二、其他语言的地位 尽管C++在CFD开发中占据主导地位,其他语言如Python、Fortran和Julia也各有优势:Python:因其易用性和强大的科学计算库(如NumPy和SciPy)而受到欢迎。Python的解释性质使其在某些情况下执行速度较慢,但通过Cython等工具,可以将Python代码编译成C代码,提高性能。Fortran:在科学计算领域有着悠久的历史,特别是在早期CFD求解器的开发中。尽管在现代CFD开发中使用较少,但Fortran仍然是一个快速获取结果的有效工具。Julia:一个新兴的语言,以其即时编译能力和丰富的科学计算包而受到关注。Julia旨在结合C的高速和Python的易用性,但在CFD社区的应用还不够广泛。三、学习资源 对于希望深入学习C++的开发者,以下是一些推荐资源:LearnCpp:一个全面的C++学习网站,提供清晰的示例和概念解释,适合初学者和希望提高C++技能的开发者。Compiler Explorer:一个在线工具,允许开发者测试C++代码,并查看不同编译器下的汇编输出。这对于理解代码性能和编译器行为非常有帮助。四、结论 C++因其在性能、社区支持、开发工具和库方面的卓越表现,成为CFD求解器开发的不二之选。尽管其他语言也有其特定的应用场景和优势,但在CFD领域,C++的主导地位无可争议。对于CFD开发者而言,掌握C++是一项宝贵的技能,不仅能够提升个人技术实力,也符合当前行业的需求。同时,了解其他语言的基础也有助于扩展开发者的视野和能力。例如,Python因其在数据科学和机器学习领域的广泛应用而成为一项重要技能。Julia的即时编译特性也使其在性能敏感型应用中具有潜力。然而,C++在CFD领域的广泛应用和成熟生态系统使其成为开发者的首选语言。在CFD求解器开发中,性能是关键。C++的编译和优化能力使其在处理大规模数值计算时表现出色。此外,C++的OOP特性为求解器的模块化设计提供了强大的支持,有助于管理复杂的代码基础。C++的跨平台特性也意味着开发者可以为不同的操作系统和硬件架构编译和优化代码。尽管C++有着陡峭的学习曲线,但通过合理的学习资源和实践,开发者可以逐步掌握这门强大的语言。随着CFD领域的不断发展,对高性能计算的需求也在不断增长,C++在这一领域的应用前景依然广阔。最后,CFD开发者在选择编程语言时应考虑项目需求、个人技能和行业趋势。虽然C++是CFD开发的首选语言,但其他语言如Python和Julia在特定场景下也有其独特的价值。开发者应保持开放的心态,根据项目需求灵活选择和应用不同的编程语言。来源:CFD饭圈

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