Ansys Fluent常见问答汇总(二):建模及求解设置

1.Q:Ansys FLUENT两相流模拟Pseudo Transient的UDF问题

问题描述: 做两相流模拟时采用Pseudo Transient 仿真,UDF是否适用?按稳态来编写?是否需要读取假定的时间步长?

A: 可以在进行伪瞬态模拟时调用UDF,需要读取假定时间步长。调用flow.h 子程序的DUAL_TIMESTEP函数即可,或者在GUI界面输入RP_Get_Real("pseudo-auto-time-step-scale-factor")获取。

2.Q:如何实现pseudo transient 仿真下,在UDF中读取某一时刻的伪时间步长,及当前时刻的VOF of vapor值。

详细描述:如何实现pseudo transient 仿真下,在UDF中读取某一时刻的伪时间步长,及当前时刻的VOF of vapor值。如果是瞬态条件下,可以用dt = CURRENT_TIMESTEP, 不知道在伪瞬态下如何实现?因为在Fluent UDF manual中没查找到相应的说明。

A:读取伪瞬态时间步长,您可以定义用DUAL_TIMESTEP来代替真正瞬态的CURRENT_TIMESTEP试试看。

3.Q:如何batch模式运行Fluent?

A: 操作步骤如下:

  1. 新建文本文档,并修改后缀名为.bat。比如新建的文本文档名为”cyl.bat”.

该文档内容如下:

set path=c:\program files\ansys inc\v193\fluent\ntbin\win64

fluent 3d -g -i run1.jou

fluent 3d -g -i run2.jou

注意:

  1. batch文件里需要指定好环境变量,比如2019R1版本的环境变量如上文所述。
  2. 若需要指定hpc核数,则 增加“-tn”就可以,n是hpc数。比如,fluent 3d -g -i -t10 run1.jou
  3. 创建与计算case数量相同的journal文件。比如,有两个case需要计算,分别是cyl10.cas.gz和cyl20.cas.gz。则编写两个journal文件run1.jou和run2.jou。内容分别如下:

run1.jou的内容:

/file/read-case cyl10.cas.gz

/solve/initialize/hyb-initialize

/solve/iterate 1000

/file/write-case-data cyl-10.cas.gz

/exit

run2.jou的内容:

/file/read-case cyl20.cas.gz

/solve/initialize/hyb-initialize

/solve/iterate 1000

/file/write-case-data cyl-20.cas.gz

/exit

2. 双击cyl.bat文件,就可后台启动fluent。

4.Q:Fluent创建interface后无法定义shell conduction?

问题描述:在Fluent中两个面建立interface后,就边界条件中就失去了shell conduction. 我现在这两个面之间是有几层不同的薄硅胶的,就地方没法定义了。 如果使用共节点的话,就会有shell conduction可以定义多层材料导热。

比如有两个面传热,而这两个面中间有多层很薄的导热硅胶,不方便建模。 分析过程中想通过fluent 的shell conduction来建立虚拟的壁面传热,通过将这两个面共节点后,导入fluent中可以设置shell conduction,如左图所示; 可有时这两个面我设置的时interface,也是可以实现传热的,但这时shell conduction 却没有。


A:interface不支持shell conduction。这点帮助文档也有提到,见下图。请采用wall边界来实现您的需求。


5.Q:如何从Ansys Fluent文件获取几何文件?

A: 1.若是.msh文件,可以直接用SCDM打开,然后另存为自己需要的集合格式。

2.若是.cas文件,则用Fluent Meshing 打开,保存为.msh文件,然后再采用第一种方式处理。

6.Q:Fluent计算报错: process killed (SIGTERM)

问题描述:最近在PBS(PBS是Altair开发的服务器计算排队系统。)上提交Fluent的计算时,出现一些问题,系统是Linux:

1. 保存的时候保存到一半,题目就出错了,已经在很多题上出现这个问题,并且看了下节点的存储空间是充足的。


2. 计算还没开始,就提示软件不能启动,这个题之前已经计算过出结果了,journal应该没有问题。


此外,在PBS上投题持续出现问题,提示如下。下面截了比较多的信息:


A:根据帮助文档看信息,这个问题很可能是内存不足造成的,建议运行计算后查看一下服务器的内存情况,若大量内存被占用就会出现这个问题。


7.Q:如何在已经计算好的Case上改动小部分模型,继续计算

A:采用如下方式可以实现。在Fluent中选择File->read->mesh打开读入网格对话框,并勾选Replace Mesh。如下图所示。


8. Q:自动判断收敛,如何设置出口50步之内变化量小于一定阈值,并且多个出口各自收敛的情况下,判断结束计算。

A:比如定义出口平均温度50步变化量小于0.001%时计算终止。那么首先定义出口平均温度,选择Solution Reports Definitions New Surface Report Mass-Weighted Average...


注:若监测多个出口变量,则重复上述方法创建即可。

其次,创建基于出口平均温度outlet-temp-avg的收敛条件.

Solution Reports Convergence...


a. 点击Add按钮,

b.在Conditions输入con-outlet-temp-avg。

c. 从Report Definition下拉菜单选择之前创建的出口平均压力outlet-temp-avg。

d. 在Stop Criterion栏输入 1e-5。

e. 在Ignore Iterations Before栏输入 40 。

f. 在Use Iterations栏输入 50 。

g. 勾选 Print.

h. 设置Every Iteration 为5.

i. 点击 OK 保存当前的收敛条件设定并关闭Convergence Conditions 对话框。

对于多个出口监测,则按照上述方法增加多个收敛条件即可,并勾选勾选“All Conditions Are Met ”

9.Q:Fluent窗口转换的TUI命令是什么?(用脚本给监测线截图)

A:Display/set-window *

注:*表示窗口的名称

10.Q:在Fluent 2019 R3可以正常计算的case,但在2020R1却出现异常。

问题描述:计算的是2D VOF模型,模拟的物理问题是随着入口压力的增大,钢水被压入模型上方。但在2019R3中可以正常计算的模型,在2020R中计算却发现钢水液位没有任何变化,请问这是怎么回事?

A:在2020 R1 Fluent读入2019R3的case后,需要手动去设置一下边界条件。就是说,把Gauge Total Pressure项重新进行选择一下(如下图示),即可进行正常计算。


11.Q:在CFX/Fluent中做流动壅塞模拟,压差增大流量却增大。

问题描述:我用CFX做了一个节流结构的空气流仿真(如下图),当节流孔处mach number已经超过1时,仿真结果显示:当压差增大,通过节流结构的流量还能继续增大,感觉这个是不是不太合理,或者是可能哪里设置错了?


A:计算是对的。如果改变入口压力,出口质量流量也随之增加。

壅塞是管道中某一界面处的流速达到声速时所发生的一种流动现象,其表现为:不论管道出口外压强如何降低,声速截面前的流速、压强等不再发生变化,相应流量也不保持不变。

用简单的流动解释就是达到音速后,下游的扰动都传递不到上游。但如果你改变上游条件,那就情况完全变了。因此在喉部达到音速后,需要降低出口压力。比如,其中一个流动工况在入口4bar 出口1.6bar时已经出现壅塞。

降低出口压力后的流量变化如下图所示。


12.Q:在Fluent中Lee蒸发模型中如何添加table文件定义可变饱和温度?

问题描述:请问如何添加这个table文件?


A:这个table文件是在外部提前创建好,并读入到fluent里的。方法如下:

(1)创建一个txt格式的table文件。第1行是表格名称,注意不能有空格,可以用减号“-”或者下划线“_”代替空格。

第2行是每列的名称。比如Tem是第一列的名称,Press是第二列的名称。

第3行开始是数据点。这些数据点可以从excel表格拷贝过来。


PS:关于table的创建,也可以参考2020R2 Fluent User’s Guide 第7.2.3.8.17.5.1. Specifying Variables in a Tabular Format章节,帮助文档的地址是:

help/flu_ug/flu_ug_sec_bc_porous_media.html#flu_ug_sec_table_input

(2)读入创建好的table文件。User-Defined → User-Defined → Read Table


(3)这样,在蒸发模型下就可以看到对应的table数据。


13.Q:在Fluent中如何用UDF实现内热源随时间变化?

A:UDF编写如下:

例1:随时间呈阶梯曲线变化,比如0-20s时是5000000W/m³,20s以后是10000000 W/m³。

#include "udf.h"DEFINE_SOURCE(heat_source,c,t,dS,eqn){ real ttt, source; real x[ND_ND]; ttt = RP_Get_Real("flow-time"); C_CENTROID(x,c,t); if (ttt <= 20) { source = 5000000 ; dS[eqn] = 0.0; } else {source = 10000000 ; dS[eqn] = 0.0;} return source;}

例2,内热源随时间呈线性变化:

#include "udf.h"DEFINE_SOURCE(heat_source,c,t,dS,eqn){ real ttt, source; real x[ND_ND]; ttt = RP_Get_Real("flow-time"); C_CENTROID(x,c,t); source = 500 + 10*ttt; dS[eqn] = 0.0; return source;}

14.Q:windows/Linux系统下udf可以正常使用,换到Linux/windows下无法编译。

A: 这是因为两种系统的默认编码方式不一样,在windows下是ANSI,而Linux是UTF-8。在windows下写好的UDF源代码需要另存为ANFI格式的,而linux下写好的UDF源码文件需要保存为UTF-8的格式。这样,问题应该可以解决。

15.Q:Fluent创建好的材料如何保存下来?

详细描述: 在Fluent中,创建的材料如何保存下来,以后只需要直接导入使用就行了,不然每次创建材料太耗费时间,不知道Fluent中如何操作的?

A:可以采用如下方法把创建好的材料保存下来,并重复使用。

  1. 首先,保存新创建的材料,比如air-new是我新创建的。保存方法如下:
  • 点击Create/Edit Materials对话框的“User-Defined Database”按钮,打开“Open Database”对话框。
  • 在“Open Database”对话框输入要保存的文件名(即创建的材料要保存在这个被命名的文件里,比如输入new-materials.scm)后,点击OK。
  • 在弹出的对话框里点击“Yes”,这样就在工作路径下创建了一个包含新材料的名为new-materials.scm的scheme文件。

2.其次,使用已保存的材料。步骤如下:

  • 点击Create/Edit Materials对话框的“User-Defined Database”按钮,打开“Open Database”对话框。
  • 在“Open Database”对话框点击“browse”打开上一步保存的文件,并点击OK。

3. 在弹出的“User-Defined Database Materials”里选中新创建的材料,然后点击“Copy”。这样新创建的材料就被导进来了。


16.Q:在Linux系统下如何后台启动Fluent的GPU加速?

A: 可以使用以下命令启动GPU加速。

Fluent 3ddp -t4 -gpgpu=1

更多详细说明您可以参考Fluent帮助文档 Fluent->User’s Guide->Ⅲ Solution Mode->43.Parallel Processing->43.4.1. Starting Parallel ANSYS Fluent on a Linux System Using Command Line Options。

17.Q:Fluent 2020 R1当粒子源达到一定数量时保存case文件报错。

问题描述:Fluent 出现错误提示: Error: Out of Scheme heap space. Rerun with -h flag set greater than (multiples of 100000) current value of -h100000 。出现的场景是用jou文件加入DPM粒子喷射源之后,喷射源有上千个,在进行保存case的时候出现如上错误。 请问如何解决?

A: 建议在读入Jou文件的时候增加-h命令选项,比如:

fluent 3ddp -g -t4 -h50000000 -i inject.jou

这样就可以解决该问题。

18.Q:如何在Fluent里添加周期性方波热源?

A:在Fluent里可以采用表达式的方式来添加周期性方波热源。比如给一个周期为5s发热量为8W的方波热源,就可以采用如下表达式。

IF(mod(t,10[s])<=5[s],8,0)

这样,截图如下:


19.Q:如何利用Journal来更改源项?

A:创建Jou文件,并在该文件里输入以下内容,在fluent里读入该jou文件即可更改源项。

/define/boundary-conditions/set/solid coppersource-terms 1 yes 80q


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空