ICEM CFD网格的脚本实现

为了实现自动化的建模、画网格,也为了能给openfoam输出大量的网格,我又不想学习Gmesh等工具,所以花了两天时间,研究了以下ICEMCFD网格的脚本实现。

1 脚本基础

1.1基本含义

ANSYS ICEM CFD的脚本语言采用Tcl/Tk shell。大多数命令以“ic”开头,代表ANSYS ICEM CFD命令。

Tcl代表Tool CommandLanguage,是一种基于字符的编程语言。

Tk代表Toolkit,包含允许制作应用程序的图形界面或窗口的附加Tcl命令。

1.2 命令语法

命令的基本形式:

command arg1arg2 arg3……

Ÿ 用换行符或分号结束;

Ÿ 用空格分割变量;

Ÿ 用行末尾的\表示续行,或者在变量组开头用{或“。

1.3运行脚本

1.3.1 4种运行脚本的方式

Ÿ From the Replay control window - By using Do one or Do all

Ÿ Using the File > Replay Scripts > Run from script file option

Ÿ source - Using the Tcl command to execute Tcl commands in a file.

Ÿ icemcfd -script - Specifying a script to run when you start up ANSYSICEM CFD

以上4种方式都可以在GUI下运行,但是只有最后两种才能在batch模式下运行。

1.3.2 batch运行

在message window中运行source D:/user/script.tcl

以batch模式运行ANSYS ICEM CFD,在ANSYS ICEM CFD启动命令中加入-batch即可:icemcfd -batch-script D:/user/script.tcl

1.3.3 退出

在脚本末尾加入exit,即可。

2 按坐标选择网格

2.1按最大值最小值区域选择

2.1.1 脚本

1. ic_uns_create_selection_subset 0

2. ic_uns_subset_add_region uns_sel_8 {0 0-0.5} {0 40 0.5} 0 2

3. ic_uns_set_part uns_sel_8 IN

4. ic_uns_subset_configure uns_sel_8 -width 0

5. ic_uns_subset_delete uns_sel_8

6. ic_delete_empty_parts

2.1.2 说明

ic_uns_create_selection_subset 0:产生一个临时选择集,它不会出现在subset列表中。

ic_uns_subset_add_regionuns_sel_6 {0 0 -0.5} {0 40 0.5} 0 2:在一个region中增加单元,ic_uns_subset_add_regionname p1 p2 part dims [0 1 2 3]。

ic_uns_set_partname newpart:将entities从一个part移到另一个part。

ic_delete_empty_parts:删除part

2.2圆柱面类单元的选择

ICEM CFD中没有直接的按柱坐标选择单元的选项,但可以利用其create part near position或者create part inregion并联合for循环,可以实现按柱坐标选择单元的目的。

2.2.1 关键命令

我们的研究对象如下图所示,需要选择圆柱面,其中在画网格时,圆柱面周向的网格尺寸为0.005m。

 

ICEM CFD网格的脚本实现的图1

                         

for {set i 0}{$i<$nPoint } {incr i} {\

mess "thepoint is $i\n";\

set alpha [expr{2.0*$pi/$nPoint}];\

set x [expr{$x0+$R*cos($alpha*$i)}];\

set y [expr{$y0+$R*sin($alpha*$i)}];\

set z $z0;\

}

2.2.2 注意事项

(1)  ic_uns_subset_add_near_pos后面的坐标值要写成"$x $y$z"的形式,不可以为默认的ic_uns_subset_add_region uns_sel_0 {0 0 -0.5} {50 0 0.5} 0 2

(2)   在选择单元命令前,必须要有ic_uns_create_selection_subset0,其用意是建立一个临时的选择集。

(3)  for循环里的命令须为一行,所以里面的每个命令后面都用“\”连接符。

(4)  for循环非常慢,比手动选要慢许多。

2.3拉伸网格

2.3.1 关键命令

Ÿ ic_uns_create_selection_subset color_first_different color [""]

Ÿ ic_uns_create_selection_edgelist on:Createsor deletes a temporary edge list for selection (depending onwhether on is 1 or 0).

Ÿ ic_uns_subset_make_families name fams:Makes the currentsubset a family subset.

Ÿ ic_uns_subset_add_families_and_types name fams types:Makes the currentsubset have a certain set of families and types.

Ÿ ic_uns_subset_add_from dest src:Adds entities fromone subset to another.

3 实现

脚本需要具有以下功能:

读入几何→网格划分设置→网格边界的part建立→保存projet→导出mesh文件

###设置变量

set wdirH:/FEI/meshStudy/case0Script

set caseNamecase0Script

#打开几何

ic_load_tetin$wdir/Geo0.tin

……

#mesh全局变量设置

……

#mesh各个部件网格设置

ic_geo_set_family_paramsCYLINDER_L prism 1 emax 0.005 ehgt 0.001 hrat 1.1 nlay 15 ewid 0 emin 0.0 edev0.0 prism_height_limit 0 law 1

……

#面网格划分设置

……

ic_set_meshing_paramssurface srf.00 etyp 0

#画面网格

ic_quad2 ……

……

#拉伸网格

……

ic_extrude mapuns_sel_0 numlayers 1 dir {0 0 -1} space 1 …… spacing_transl_rot 0.0 project 0

……

#规则网格边界选择,建立part---createpart in region

ic_uns_subset_add_regionuns_sel_0 {0 0 -0.5} {0 40 0.5} 0 2

……

#圆柱网格边界选择,建立part---createpart near position

……

for {set i 0}{$i<$nPoint } {incr i} {\

mess "thepoint is $i\n";\

set alpha [expr{2.0*$pi/$nPoint}];\

set x [expr{$x0+$R*cos($alpha*$i)}];\

set y [expr{$y0+$R*sin($alpha*$i)}];\

set z $z0;\

……

ic_uns_set_partuns_sel_0 CYLINDER;\

……

}

……

#保存project,导出网格

……

ic_save_project_file$wdir/$caseName.prj {……}

……

ic_exec{C:/Program Files/ANSYS……$caseName.fbc ./$caseName

……

exit

这里为了快速出结果,对圆柱周向的点取得比较稀疏,所以建立的圆柱part有缝隙,如下图所示。

总体效果见后面动图。

ICEM CFD网格的脚本实现的图2

ICEM CFD网格的脚本实现的图3

来源: FSI Center

作者:zhipeng feng  

ANSYSCFDICEM CFD

ICEM CFD网格的脚本实现的评论0条

    暂无评论

    ICEM CFD网格的脚本实现的相关案例教程

    对于结构十分复杂的几何模型,若能够将几何体分割成多个部分由多人分别进行网格划分,生成网格后能够对网格进行组装,这恐怕是很多人梦寐以求的功能了。其实很多前处理软件都具有此功能。今天要说的是如何在ICEM CFD中实现此功能。 为了简单起见,这里用一个非常简单的模型进行演示。当然复杂的模型的处理方式也是相同的。我们要处理的几何模型如图1所示。一个L型整体块被切割成3份。分别导出为3个不同的几何文件。按
    ICEM CFD(The Integrated Computer Engineering and Manufacturing code for Computational Fluid Dynamics)是一种专业的CAE前处理软件。 作为专业的前处理软件ICEM CFD可为所有世界流行的CAE软件提供高效可靠的分析模型。它拥有强大的CAD模型修复能力、自动中面抽取、独特的网格“雕塑”技术、网格编辑
    With the aim to shorten the lead times for the aerodynamics simulations with CFD programs of Ansys Fluent significantly, the Volvo Car Corporation has analyzed, optimized and partially automated all p
    三.AWS ParallelCluster 4. Workflow to create Linux cluster on AWS (4) Modify AWS ParallelCluster configuration file for creating Linux cluster •Go to console of EC2 instance: amazonlinux ▪Edit cluster
    1,项目概述 LSDYNA重启动技术在实际工程中应用较广,重启动包括简单重启动、小型重启动和完全重启动。其中小型重启动可以接着求解,用于将分析延长至比用户最初指定的时间更长的终止时间或对模型进行细小修改的情况;如删除模型。而如果需要增加模型,就必须用到完全重启动技术,完全重启动有如下特点:可以增加或删除部分模型,允许材料和载荷变化,Jobname 自动变成 Jobname_nn (nn=01, …
    影响力
    粉丝
    内容
    获赞
    收藏
      项目客服
      培训客服
      0 1