fluent软件的用途

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fluent软件的用途相关的知识,希望对你有一定的参考价值。

参考技术A 分类: 电脑/网络 >> 软件 >> 其他软件
解析:

FLUENT软件包简介

FLUENT通用CFD软件包,用来模拟从不可压缩到高度可压缩范围内的复杂流动。由于采用了多种求解方法和多重网格加速收敛技术,因而FLUENT能达到最佳的收敛速度和求解精度。灵活的非结构化网格和基于解的自适应网格技术及成熟的物理模型,使FLUENT在转捩与湍流、传热与相变、化学反应与燃烧、多相流、旋转机械、动/变形网格、噪声、材料加工、燃料电池等方面有广泛应用。

FLUENT软件具有以下特点:

FLUENT软件采用基于完全非结构化网格的有限体积法,而且具有基于网格节点和网格单元的梯度算法;

定常/非定常流动模拟,而且新增快速非定常模拟功能;

FLUENT软件中的动/变形网格技术主要解决边界运动的问题,用户只需指定初始网格和运动壁面的边界条件,余下的网格变化完全由解算器自动生成。网格变形方式有三种:弹簧压缩式、动态铺层式以及局部网格重生式。其局部网格重生式是FLUENT所独有的,而且用途广泛,可用于非结构网格、变形较大问题以及物体运动规律事先不知道而完全由流动所产生的力所决定的问题;

FLUENT软件具有强大的网格支持能力,支持界面不连续的网格、混合网格、动/变形网格以及滑动网格等。值得强调的是,FLUENT软件还拥有多种基于解的网格的自适应、动态自适应技术以及动网格与网格动态自适应相结合的技术;

FLUENT软件包含三种算法:非耦合隐式算法、耦合显式算法、耦合隐式算法,是商用软件中最多的;

FLUENT软件包含丰富而先进的物理模型,使得用户能够精确地模拟无粘流、层流、湍流。湍流模型包含Spalart-Allmaras模型、k-ω模型组、k-ε模型组、雷诺应力模型(RSM)组、大涡模拟模型(LES)组以及最新的分离涡模拟(DES)和V2F模型等。另外用户还可以定制或添加自己的湍流模型;

适用于牛顿流体、非牛顿流体;

含有强制/自然/混合对流的热传导,固体/流体的热传导、辐射;

化学组份的混合/反应;

自由表面流模型,欧拉多相流模型,混合多相流模型,颗粒相模型,空穴两相流模型,湿蒸汽模型;

融化溶化/凝固;蒸发/冷凝相变模型;

离散相的拉格朗日跟踪计算;

非均质渗透性、惯性阻抗、固体热传导,多孔介质模型(考虑多孔介质压力突变);

风扇,散热器,以热交换器为对象的集中参数模型;

惯性或非惯性坐标系,复数基准坐标系及滑移网格;

动静翼相互作用模型化后的接续界面;

基于精细流场解算的预测流体噪声的声学模型;

质量、动量、热、化学组份的体积源项;

丰富的物性参数的数据库;

磁流体模块主要模拟电磁场和导电流体之间的相互作用问题;

连续纤维模块主要模拟纤维和气体流动之间的动量、质量以及热的交换问题;

高效率的并行计算功能,提供多种自动/手动分区算法;内置MPI并行机制大幅度提高并行效率。另外,FLUENT特有动态负载平衡功能,确保全局高效并行计算;

FLUENT软件提供了友好的用户界面,并为用户提供了二次开发接口(UDF);

FLUENT软件采用C/C++语言编写,从而大大提高了对计算机内存的利用率。

--------------------------------------------------------------------------------

FLUENT是目前国际上比较流行的商用CFD软件包,在美国的市场占有率为60%。举凡跟流体,热传递及化学反应等有关的工业均可使用。它具有丰富的物理模型、先进的数值方法以及强大的前后处理功能,在航空航天、汽车设计、石油天然气、涡轮机设计等方面都有着广泛的应用。其在石油天然气工业上的应用包括:燃烧、井下分析、喷射控制、环境分析、油气消散/聚积、多相流、管道流动等等。

Fluent的软件设计基于CFD软件群的思想,从用户需求角度出发,针对各种复杂流动的物理现象,FLUENT软件采用不同的离散格式和数值方法,以期在特定的领域内使计算速度、稳定性和精度等方面达到最佳组合,从而高效率地解决各个领域的复杂流动计算问题。基于上述思想,Fluent开发了适用于各个领域的流动模拟软件,这些软件能够模拟流体流动、传热传质、化学反应和其它复杂的物理现象,软件之间采用了统一的网格生成技术及共同的图形界面,而各软件之间的区别仅在于应用的工业背景不同,因此大大方便了用户。其各软件模块包括:

GAMBIT——专用的CFD前置处理器,FLUENT系列产品皆采用FLUENT公司自行研发的Gambit前处理软件来建立几何形状及生成网格,是一具有超强组合建构模型能力之前处理器,然后由Fluent进行求解。也可以用ICEM CFD进行前处理,由TecPlot进行后处理。

Fluent5.4——基于非结构化网格的通用CFD求解器,针对非结构性网格模型设计,是用有限元法求解不可压缩流及中度可压缩流流场问题的CFD软件。可应用的范围有紊流、热传、化学反应、混合、旋转流(rotating flow)及震波(shocks)等。在涡轮机及推进系统分析都有相当优秀的结果,并且对模型的快速建立及 shocks处的格点调适都有相当好的效果。(目前是6.0,含turbo模块)

Fidap——基于有限元方法的通用CFD求解器,为一专门解决科学及工程上有关流体力学传质及传热等问题的分析软件,是全球第一套使用有限元法于CFD领域的软件,其应用的范围有一般流体的流场、自由表面的问题、紊流、非牛顿流流场、热传、化学反应等等。 FIDAP本身含有完整的前后处理系统及流场数值分析系统。 对问题整个研究的程序,数据输入与输出的协调及应用均极有效率。

Polyflow——针对粘弹性流动的专用CFD求解器,用有限元法仿真聚合物加工的CFD软件,主要应用于塑料射出成形机,挤型机和吹瓶机的模具设计。

Mixsim——针对搅拌混合问题的专用CFD软件,是一个专业化的前处理器,可建立搅拌槽及混合槽的几何模型,不需要一般计算流力软件的冗长学习过程。它的图形人机接口和组件数据库,让工程师直接设定或挑选搅拌槽大小、底部形状、折流板之配置,叶轮的型式等等。MixSim随即自动产生3维网络,并启动FLUENT做后续的模拟分析。

Icepak——专用的热控分析CFD软件,专门仿真电子电机系统内部气流,温度分布的CFD分析软件,特别是针对系统的散热问题作仿真分析,借由模块化的设计快速建立模型。

fluent批量处理——模型参数的设置

对于常见的工程应用来说,计算的工况很多,尤其优化工作,少则几百,多则上千,面对如此之多的case文件要写,假如按照一个一个的读写的话,相信你一定会为这么机械的工作烦躁,甚至影响今后好几天的心情,那么有什么简便一些的方法呢?答案是肯定的。那就是采用fluent的journal文件。
首先打开fluent软件,在file/write/start journal,见下图:

技术分享

选择保存文件名*.journal后(看你自己怎么设置文件名),我一般按照这一组的类型来命名;
这样, journal文件就开始记录你以后的每一步操作。
按照原先设置模型参数一样,一步步来就是了。
等你操作完成后,原先的”start journal“现在已经是”stop journal“,所以你只需要选择”stop journal“就可以了。
此时,用写字板打开看看就可以看到如下的一些记录命令。
(cx-gui-do cx-activate-item "MenuBar*ReadSubMenu*Case...")
(cx-gui-do cx-activate-item "Warning*OK")
(cx-gui-do cx-set-text-entry "Select File*Text" "fluent.msh")
(cx-gui-do cx-activate-item "Select File*OK")
(cx-gui-do cx-activate-item "MenuBar*GridMenu*Check")
(cx-gui-do cx-activate-item "MenuBar*GridMenu*Smooth/Swap...")
(cx-gui-do cx-activate-item "Smooth/Swap Grid*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-activate-item "Smooth/Swap Grid*PanelButtons*PushButton1(Swap)")
(cx-gui-do cx-activate-item "Smooth/Swap Grid*PanelButtons*PushButton2(Cancel)")
(cx-gui-do cx-activate-item "MenuBar*ModelsSubMenu*Solver...")
(cx-gui-do cx-activate-item "Solver*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-activate-item "MenuBar*ModelsSubMenu*Viscous...")
(cx-gui-do cx-activate-item "Viscous Model*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-activate-item "MenuBar*DefineMenu*Boundary Conditions...")
(cx-gui-do cx-activate-item "Boundary Conditions*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-set-real-entry-list "velocity-inlet-10-1*Frame4*Frame3(Momentum)*Table1*Table4*RealEntry2(Velocity Magnitude)" ‘( 10))
(cx-gui-do cx-activate-item "velocity-inlet-10-1*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-activate-item "Boundary Conditions*PanelButtons*PushButton2(Cancel)")
(cx-gui-do cx-activate-item "MenuBar*ControlsSubMenu*Solution...")
(cx-gui-do cx-set-list-selections "Solution Controls*Table1*Frame2(Pressure-Velocity Coupling)*Table2(Pressure-Velocity Coupling)*DropDownList1" ‘( 1))
(cx-gui-do cx-activate-item "Solution Controls*Table1*Frame2(Pressure-Velocity Coupling)*Table2(Pressure-Velocity Coupling)*DropDownList1")
(cx-gui-do cx-set-list-selections "Solution Controls*Table2*Frame1(Discretization)*Table1(Discretization)*DropDownList1(Pressure)" ‘( 3))
(cx-gui-do cx-activate-item "Solution Controls*Table2*Frame1(Discretization)*Table1(Discretization)*DropDownList1(Pressure)")
(cx-gui-do cx-set-list-selections "Solution Controls*Table2*Frame1(Discretization)*Table1(Discretization)*DropDownList2(Momentum)" ‘( 1))
(cx-gui-do cx-activate-item "Solution Controls*Table2*Frame1(Discretization)*Table1(Discretization)*DropDownList2(Momentum)")
(cx-gui-do cx-set-list-selections "Solution Controls*Table2*Frame1(Discretization)*Table1(Discretization)*DropDownList3(Turbulent Kinetic Energy)" ‘( 1))
(cx-gui-do cx-activate-item "Solution Controls*Table2*Frame1(Discretization)*Table1(Discretization)*DropDownList3(Turbulent Kinetic Energy)")
(cx-gui-do cx-set-list-selections "Solution Controls*Table2*Frame1(Discretization)*Table1(Discretization)*DropDownList4(Turbulent Dissipation Rate)" ‘( 1))
(cx-gui-do cx-activate-item "Solution Controls*Table2*Frame1(Discretization)*Table1(Discretization)*DropDownList4(Turbulent Dissipation Rate)")
(cx-gui-do cx-activate-item "Solution Controls*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-activate-item "MenuBar*MonitorsSubMenu*Residual...")
(cx-gui-do cx-set-real-entry-list "Residual Monitors*Table2*RealEntry11" ‘( 1e-005))
(cx-gui-do cx-set-toggle-button "Residual Monitors*Table1*Frame1(Options)*ToggleBox1(Options)*CheckButton2(Plot)" #f)
(cx-gui-do cx-activate-item "Residual Monitors*Table1*Frame1(Options)*ToggleBox1(Options)*CheckButton2(Plot)")
(cx-gui-do cx-set-real-entry-list "Residual Monitors*Table2*RealEntry17" ‘( 1e-005))
(cx-gui-do cx-set-real-entry-list "Residual Monitors*Table2*RealEntry23" ‘( 1e-005))
(cx-gui-do cx-set-real-entry-list "Residual Monitors*Table2*RealEntry29" ‘( 1e-005))
(cx-gui-do cx-set-real-entry-list "Residual Monitors*Table2*RealEntry35" ‘( 1e-005))
(cx-gui-do cx-set-real-entry-list "Residual Monitors*Table2*RealEntry41" ‘( 1e-005))
(cx-gui-do cx-activate-item "Residual Monitors*PanelButtons*PushButton1(OK)")
(cx-gui-do cx-activate-item "MenuBar*WriteSubMenu*Case...")
(cx-gui-do cx-set-text-entry "Select File*Text" "fluent.cas")
(cx-gui-do cx-activate-item "Select File*OK")
(cx-gui-do cx-activate-item "Warning*OK")
这样一个case文件就写完了,你后面需要做的就是替换"fluent.msh"与"fluent.cas“为你自己的文件名就行。复制粘贴写好的一个case的journal文件,替换成下一个mesh文件名;值得注意的是,模型文件中的边界数量要一致,否则会出现错误,因为GUI语言是按照fluent里边界的ID号来识别的。
基本上,这样写case文件还是很省事的,你到时就可以在一边听着音乐,一边看着它自动编写!



















































以上是关于fluent软件的用途的主要内容,如果未能解决你的问题,请参考以下文章

小白的CFD之旅09 初识FLUENT

OpenFoam这样的开源软件和Fluent差距在哪

fluent 风速 怎么算区域平均值

fluent-edem需要处理边界层吗

fluent监测点数据如何做成折线图

fluent里的UDF进行后处理。