admin管理员组文章数量:1658731
CFX脚本语言采用perl和其特有的cfx脚本语言混合编程,其中perl语句需要以!开头,以;结尾,perl的变量需要以$开头。
perl语言的特点就是其灵活性,同样的方法可能可以有无数种方法去达成,举个例子,比如说有一组变量,分别是[1,2,3,4,5,6],如果用C语言的话只能用数组,然后通过下标递增的方式去遍历。
但是perl语言允许将实参作为另一个形参,也就是说,可以设置为
!$A1 = 1;
!$A2 = 2;
perl允许这样
!$num = 1;
!$res = $A$num + $A2;#这条代码等同于$res = $A1 + $A2
##res = 3
因此,通过简单的perl入门,即可写出如下自动化结果处理脚本。
1.在进口截面批量切割周向截面
首先在一个轴向位置创建一个截面Plane 1
如下代码可以将Plane 1 在周向上均分17个截面,然后每一个截面在径向上又分隔成20个截面
!$numradiu = 20;
!$r0 = 0.101;
!$r1 = 0.17885;
!$numtheta = 17;
!$delt_t = 360/$numtheta;
!$delt_r = ($r1-$r0)/$numradiu;
!for($i=1;$i<=$numtheta;$i++){
!$ti0 = ($i-1)*$delt_t;
!$ti1 = $i*$delt_t;
!for($j=1;$j<=$numradiu;$j++){
!$rj0 = $r0+($j-1)*$delt_r;
!$rj = $r0+$j*$delt_r;
ISO CLIP: Le $i $j
Apply Instancing Transform = On
Apply Texture = Off
Blend Texture = On
Colour = 0.75, 0.75, 0.75
Colour Map = Default Colour Map
Colour Mode = Constant
Colour Scale = Linear
Colour Variable = Pressure
Colour Variable Boundary Values = Hybrid
Culling Mode = No Culling
Domain List = /DOMAIN GROUP:All Domains
Draw Faces = On
Draw Lines = Off
Instancing Transform = /DEFAULT INSTANCE TRANSFORM:Default Transform
Iso Clip Geometry = Lines Only
Iso Line Width = 2
Lighting = On
Line Colour = 0, 0, 0
Line Colour Mode = Default
Line Width = 1
Location List = /PLANE:Plane 1
Max = 0.0 [Pa]
Min = 0.0 [Pa]
Range = Global
Render Edge Angle = 0 [degree]
Specular Lighting = On
Surface Drawing = Smooth Shading
Texture Angle = 0
Texture Direction = 0 , 1 , 0
Texture File =
Texture Material = Metal
Texture Position = 0 , 0
Texture Scale = 1
Texture Type = Predefined
Tile Texture = Off
Transform Texture = Off
Transparency = 0.0
Visibility = On
ISO CLIP LIMITER: Iso Clip Limiter 1
Limiter Operation = Greater Or Equal To
Value = $rj0 [m]
Variable = Radius
Variable Boundary Values = Conservative
END
ISO CLIP LIMITER: Iso Clip Limiter 2
Limiter Operation = Less Or Equal To
Value = $rj [m]
Variable = Radius
Variable Boundary Values = Conservative
END
ISO CLIP LIMITER: Iso Clip Limiter 3
Limiter Operation = Greater Or Equal To
Value = $ti0 [degree]
Variable = Theta
Variable Boundary Values = Conservative
END
ISO CLIP LIMITER: Iso Clip Limiter 4
Limiter Operation = Less Or Equal To
Value = $ti1 [degree]
Variable = Theta
Variable Boundary Values = Conservative
END
OBJECT VIEW TRANSFORM:
Apply Reflection = Off
Apply Rotation = Off
Apply Scale = Off
Apply Translation = Off
Principal Axis = Z
Reflection Plane Option = XY Plane
Rotation Angle = 0.0 [degree]
Rotation Axis From = 0 [m], 0 [m], 0 [m]
Rotation Axis To = 0 [m], 0 [m], 0 [m]
Rotation Axis Type = Principal Axis
Scale Vector = 1 , 1 , 1
Translation Vector = 0 [m], 0 [m], 0 [m]
X = 0.0 [m]
Y = 0.0 [m]
Z = 0.0 [m]
END
END
!}
!}
2.插入表格以完成批量公式计算
TABLE: PIC
Table Exists = True
TABLE CELLS:
!for($j = 1;$j<=20;$j++){
A$j = "=(areaAve(Pressure)@STe $j - areaAve(Pressure)@SLe $j )/76047.5427[Pa]", False, False, False, Left, True, 0, Font Name, 1|1, %10.3e, True, ffffff, 000000, True
B$j = "=(areaAve(Pressure)@RTe $j - areaAve(Pressure)@LE $j )/76047.5427[Pa]", False, False, False, Left, True, 0, Font Name, 1|1, %10.3e, True, ffffff, 000000, True
!}
END
END
径向上切割20个截面以后,如上可以在表格中计算转子和静子径向分布的静压升系数
版权声明:本文标题:CFD-post自动化脚本 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729813448a1213612.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论