fluent GAMBIT软件批处理脚本

2016-08-07  by:CAE仿真在线  来源:互联网

GAMBIT软件批处理脚本

在使用Gambit画网格的时候,经常会碰到这种情况:针对某一个固定的流场结构,需要单独更改某一个局部细节的尺寸来画多个不同的网格文件,在画网格的具体过程中,也许只是更改了几个点的坐标,其他的操作流程完全一样。如果对于每一个网格文件都要我们重复一遍点-线--节点-网格-边界条件-输出网格的过程,费事费力不说,心理上也会感觉花了大量的时间在做无用功。其实,Gambit本身提供了类似word中宏文件的功能,来让Gambit自动完成上述机械重复式的操作过程,提高工作效率。

 有关喷射器的网格绘制过程为例,具体说明:

GAMBIT软件批处理脚本

如图所示的喷射器二维模型图,要获得红圈所示的管道长度分别为50mm,100mm,150mm,200mm,250mm时喷射器的网格文件。

在利用gambit的类似“宏”功能之前,需要做两步准备工作:

1.已经完成了一个结构尺寸的网格的绘制过程,比如我已经完成了100mm长度时喷射器网格的绘制和输出。

2.保存目前为止的文件,比如我这里将文件命名为“1”。

来到文件保存的文件夹,会看到三个文件:1.dbs,1.jou,1.trndbs文件,就是Gambit默认储存几何体和网格数据的文件;jou则是记录gambit每一步操作对应的运行命令的文件;trn则记录了gambit界面最下面命令显示窗(transcript)的显示历史。我们要用到的就是jou文件。

 用记事本打开1.jou文件,得到如下的类似界面:

 GAMBIT软件批处理脚本

文件中,“/”开头的为注释文件,如果觉得影响浏览可以删掉。其他一行行的就是自己在画网格的过程中每一步操作对应的命令行。比如“vertex create coordinates 0 0 0”就是在(0,0,0)坐标处画一个点;“edge create straight "vertex.xx"... ”是把多个点连线;“face mesh "face.1" map size 1”就是在面1上用节点间距为1画面网格;“physics create "axis" btype "AXIS" edge "edge.3" "edge.2" "edge.1"”就是将边1,2,3的边界条件定为“AXIS”,名字为“axis”;等等。针对每个人不同画网格的方法和习惯,命令会有所不同,不过都很简单,一看就明白。

对于我本身而言,我需要变动的是(100,0,0)和(100,30.5,0)两个点的坐标,于是我把他们改成(150,0,0)和(150,30.5,0)。如果需要gambit自动输出网格,就把最后一行的网格输出命令中网格文件的名字也改掉。比如我100mm时网格文件命名为“100.msh”,那么150mm时网格文件命名为“150.msh”。对应的网格输出命令行如下:

100:export fluent5 "100.msh" nozval

150:export fluent5 "150.msh" nozval

FLUENT,对应gambit界面solver选项下的选择,比如你要把网格文件用在ANSYS下,就改成ANSYS。后面的nozval则是网格维度。这些东西不清楚也无所谓,只要你在画网格的时候操作完了后保存dbs,那么对应的jou里都会有,一看就懂了。将更改完毕的jou文件保存,比如这里我命名为2.jou然后打开gambit,选择File-Run Journal ...,在弹出的菜单里像平常读取dbs一样选择刚才改好的2.jou,然后apply

  GAMBIT软件批处理脚本

备注:

1.上述jou只能一次输出一个网格文件,如果希望一次输出多个网格文件的话,可以在输出网格命令

export fluent5 "150.msh" nozval

后插入命令

identifier name "2" new saveprevious

这个命令的作用等同于在Gambit下点击File-new-输入IDTileAccept,就是新建一个新工程。这个“2”是新建工程的名字,可以随便输,只要保证不和之前的名字重复就行。之后将之前的所有命令复制一遍,该改的改好,比如点的坐标和网格文件的名字等。可以一直这么下去直到你累了为止。

2.对于某些情况,并不需要通过jou文件来做全部的工作,比如只需要用jou文件自动生成点和连线,而后续的画网格和定边界条件工作人工来做,也是同样的道理,只需要在对应的jou文件内把连线之后的命令全部删掉即可。

3.如果想要使用第2条里的部分功能,那么建议把人工操作的过程放在jou文件自动操作流程之后。比如你可以用jou自动生成点和连线,然后人工画网格定边界条件;而不建议人工生成点和连线,用jou画网格和定边界条件。原因很简单,Gambit的命令行不够智能。它后续的每一个命令里,指定操作对象的方法是指定点,线,面的名称。如果人工画点的时候,与生成jou文件时画点的顺序不一样,会导致一些错误。比如在jou里,(0,0,0)和(1,1,0)分别是vertex.1vertex.2,那么连接这两个点的命令是create straight "vertex.1" "vertex.2"。如果你把jou画线放在人工定点之后,他同样执行的还是连接vertex.1vertex.2,可是由于之前人工画点的顺序改变,此时(0,0,0)和(1,1,0)变成了vertex.3vertex.4,就会出现问题。

由于在这个例子里,变动的内容非常简单,所以这个问题并不突出。如果是一个复杂结构的几何体网格,即使把jou放在之前也会有类似的问题,所以在用jou的时候,一定要记得把所有更改对应的东西全部改过来,比如面,线,点的顺序等等。

 4.在本文的例子中,是提前改好了jou文件之后直接用Gambit加载,其实在Run Journal那步中,同样可以先更改jou再加载。只需要在读取jou的时候,选择下图中的Edit/Run即可实现。


GAMBIT软件批处理脚本
5. 最后需要注意的一点,对于刚刚接触Gambit的朋友们来说,建议在定边的节点时用定间距,而不是定节点数目。以本文为例,当红圈所示管道长度从100变到300时,如果在获取jou那一步时是定节点数目,那么就需要在后续的jou中手动更改这一步的节点数。如果定的是间距,则不会有这个问题。几何结构越是复杂的模型,就越会发现定节点间距的优越性。而市面上基本所有的Fluent教程书籍里的初级例子依然都是用的定节点数目,这一点需要引起足够的重视。

开放分享:优质有限元技术文章,助你自学成才

相关标签搜索:fluent GAMBIT软件批处理脚本 GAMBIT批处理 fluent Fluent培训 Fluent流体培训 Fluent软件培训 fluent技术教程 fluent在线视频教程 fluent资料下载 fluent分析理论 fluent化学反应 fluent软件下载 UDF编程代做 

编辑
在线报名:
  • 客服在线请直接联系我们的客服,您也可以通过下面的方式进行在线报名,我们会及时给您回复电话,谢谢!
验证码

全国服务热线

1358-032-9919

广州公司:
广州市环市中路306号金鹰大厦3800
电话:13580329919
          135-8032-9919
培训QQ咨询:点击咨询 点击咨询
项目QQ咨询:点击咨询
email:kf@1cae.com