1、 2005 ANSYS CHINA,Inc.3-1CFX 10.0边界条件/CFX表达式语言讲座 3 2005 ANSYS CHINA,Inc.3-2CFX 10.0l在计算域的所有外部边界上都需要l尽量采用意义明确的名字(你不需要接受系统的默认名字)l选择边界所在的域(当计算中有多个域的时候适用).边界条件 2005 ANSYS CHINA,Inc.3-3CFX 10.0l边界类型 进口,出口,开放式,墙,对称面l位置 选择相应的二维几何体或组合l坐标系 如果有多于一个,请选择合适的l坐标类型 只在旋转坐标系中可选。这个选项允许用户指定基于静止或旋转坐标系的某些参数基本设定 2005 ANS
2、YS CHINA,Inc.3-4CFX 10.0l可选项取决于边界类型及域的设定 例如:超音速的可选性取决于域设定里面的热传递模型 在右边例子中,只模拟了湍流(i.e.没有传热或多组分/多相流模拟)边界条件详细内容 2005 ANSYS CHINA,Inc.3-5CFX 10.0l进口 流体自进口流入计算域:用白色箭头表示l出口 流体自出口流出计算域:用黄色箭头表示l开放式边界 根据当地条件,流体可以流入或流出计算域:用蓝色双向箭头表示.设定过程和进口类似,也需要设定流体方向和压力l墙 用绿色的八角体表示.非滑移/自由滑移,热传递性质和墙壁的粗糙度等特性都可以设定l对称面 流体在该面一侧的特性
3、是另一面的镜像.当对称流动存在时可以用来减少计算网格的数量.边界类型 2005 ANSYS CHINA,Inc.3-6CFX 10.0预设边界条件可以通过对已知数据文件的插值来设定边界条件.我们经常使用以前的模拟结果或已知的实验数据作为当前模拟的边界条件CFXPre 可以用插分功能来根据读入的数据生成CEL 表达式.当我们采用“Profile”方法设定边界条件时,这些数据是自动生成的.2005 ANSYS CHINA,Inc.3-7CFX 10.0l创建一个边界条件文件。这个可以用CFXPost当中的输出功能实现。从CFXPost中产生的边界条件文件。带颜色的格中的信息是需要的,CFXPre会
4、自动读入。施加预设边界条件的步骤 2005 ANSYS CHINA,Inc.3-8CFX 10.0l在CFXPre中读入边界条件文件。这个可以通过 ToolsInitialize Profile Data 并选择相应的文件来实现。我们也可以载入多个边界条件文件,每一个文件也可以应用在多个地方。施加边界条件文件的步骤 2005 ANSYS CHINA,Inc.3-9CFX 10.0l在边界条件处勾选:Use Profile Data l从下拉菜单中选择合适的文件,然后点击 Generate Values.施加边界条件文件的步骤 2005 ANSYS CHINA,Inc.3-10CFX 10.0l
5、边界条件的详细录入界面会有相应改变,以适应文件输入。只有当你点击了Apply以后,这些改变才会生效。施加边界条件文件的步骤 2005 ANSYS CHINA,Inc.3-11CFX 10.0l边界条件文件(以及别的边界条件)可以通过在CFXPre的边界条件编辑器中选择绘图选项来实现可视化。用户可以根据边界条件文件创建边界的等值线或矢量图。l每次求解器启动时,边界条件文件将被读入。也就是说边界条件文件可以在两次模拟当中进行修改,而不必回到CFXPre当中。施加边界条件文件的步骤 2005 ANSYS CHINA,Inc.3-12CFX 10.0l在多处地方施加边界条件文件是可能的:对于有相同法向
6、量 X,Y 或 Z的边界,可以把边界条件输出成2D 数据文件(比如,对两个有相同法向Z的边界来说,就输出X和Y方向的数据).第一个边界上的数据可以不经修改用于第二个边界上。如果两个边界没有相同的法向,那么可以直接修改你的边界条件文件使第一个边界上的条件适合第二个边界。在多处地方施加边界条件文件 2005 ANSYS CHINA,Inc.3-13CFX 10.0l有些变量需要一个前缀来表明材料的名字(例如 air.vf 就表示空气的体积百分比)l非标准变量名和用户定义的变量名标准变量名 2005 ANSYS CHINA,Inc.3-14CFX 10.0l对一维的离散数据来说,数据间的拓扑关系可以
7、通过对原始数据的坐标排序来确定。排序后的原始数据就可以应用线形插分。数据通过这种方式来分类,所以是否提前特殊规定并不重要。l对于二维和三维的离散数据来说,“点云图”的方法被用来实现插分。整个过程包括对被插分点最近的三个原始数据点的快速定位,以及根据它们离被插分点距离远近的一个反向加权的平均过程。如果某一个原始数据点正好落在该插分点的位置上,那么我们就用这个原始数据点的值作为该插分点的值。l在求解过程当中,根据离散和数值积分过程的具体要求,求解器需要各个不同位置上的值,比如在积分点上,节点上和各个面的中心点上。在所有的情况下,这个需要的位置都会被确定,原始的数据就会被插分到该位置。数据插分方法
8、2005 ANSYS CHINA,Inc.3-15CFX 10.0l当边界条件文件被CFXSolver读入后,如果文件大小不超过16K,它会被写到.out文件的Profile Data 部分。16K是一个默认值,这个默认值是可以改变的。所有的文件里的数据都会被写入结果文件,并可以在DOS环境下用cfx5dfile命令分离出来 从结果文件中分离出边界条件文件 2005 ANSYS CHINA,Inc.3-16CFX 10.0l在当前结果文件中找到相应的数据文件,我们需要键入:cfx5dfile file_001.res list-profile-files(这个命令会列出结果文件中所有的边界条件
9、文件,每行列一个)l如果要找到某个特定的边界条件文件,键入:cfx5dfile file_001.res read-profile-file.csvl或者:cfx5dfile file_001.res extract-profile-file.csv从结果文件中分离出边界条件文件 2005 ANSYS CHINA,Inc.3-17CFX 10.0lCEL CFX Expression Language CEL 是一种说明性的编译语言,可以让用户不借助外挂Fortran子程序而对模拟进行强化 可以涉及 CFX 内部变量 are evaluated by the CFX Solver and CF
10、XPostCFX Expression Language 2005 ANSYS CHINA,Inc.3-18CFX 10.0lCEL是说明性的 描述一个表达式的名字和定义(也可以加入注释等)语句的格式必须符合提前设定好的语法。这个语法和大多数的编程语言中的数学表达式是非常类似的l语句必须包含下列:一个数字(如果需要,也可以带单位)一个或多个表示常数,系统变量,用户自定义变量,函数或其它CEL表达式,用+,*,/和 分隔。也可以用括号来进行分组。CEL Statements 2005 ANSYS CHINA,Inc.3-19CFX 10.0l变量和表达式应区分大小写l用括号来规定运算的优先级l对
11、加减运算,表达式的单位必须统一 1.0 mm+0.45 yds (valid)2.5 s m1 (3.0 m s1)1 (valid)1.0 mm+0.3 kg (invalid)表达式规则 2005 ANSYS CHINA,Inc.3-20CFX 10.0l分数幂和小数幂是允许的 a(1/2)(valid)1.00.5 (valid)l符合运算的表达式单位并不需明确写出靠计算结果确定(a kg m3*b m s1)has units of kg m2 s1表达式规则 2005 ANSYS CHINA,Inc.3-21CFX 10.0l系统中定义了很多系统变量以供调用l这些系统变量可以被用在任
12、意表达式l系统变量中已经包含了单位l变量列表可以:通过在Pre里点击 System Variables 或在Expression Editor里点击Functions 按钮来列出 在CFXPost里通过观察所有可选变量的方法列出系统变量 2005 ANSYS CHINA,Inc.3-22CFX 10.0 xDirection 1 in Reference Coordinate FrameyDirection 2 in Reference Coordinate FramezDirection 3 in Reference Coordinate FramerRadial spatial locat
13、ion,r=(x2+y2)0.5thetaAngle,arctan(y/x)tTimeuVelocity in the x coordinate directionvVelocity in the y coordinate directionwVelocity in the z coordinate directionp(absolute)PressurekeTurbulent kinetic energyedTurbulent eddy dissipationTTemperaturesstrnrShear strain ratedensityDenstiyrNoDimNondimension
14、al radius(rotating frame only)viscosityDynamic ViscosityCpSpecific Heat Capacity at Constant PressurecondThermal ConductivityenthalpySpecific EnthalpybetaThermal ExpansivityspeedofsoundLocal speed of sound in fluidsubdomainSubdomain variable(1.0 in Subdomain,0.0 elsewhere)mean diameterMean Diameterd
15、eneffEffective DensityAV nameAdditional Variable namemfMass Fraction系统变量 2005 ANSYS CHINA,Inc.3-23CFX 10.0l根据模拟的类型和创建的表达式的形式,CFX5 系统变量和用户定义的表达式会变为可选或不可选l在某些情况下,系统变量会成为逻辑上不可选 时间(t)在稳态模拟时不可选 温度(T)在系统没有传热问题的时候不可选l在其它情况下,某些系统变量还问因为所选的物理模型的原因变成不可选系统变量 2005 ANSYS CHINA,Inc.3-24CFX 10.0l一些数学上的函数和操作符在CEL里也可
16、以运用 用户也可以通过FORTRAN语言创建自己的函数Function Operands Dimensions xOperands ValuesResults Dimensionssin(x)Angle Any Dimensionlesscos(x)Angle Any Dimensionlesstan(x)*Angle Any Dimensionlessasin(x)Dimensionless 1 x 1 Angleacos(x)Dimensionless 1 x 1 Angleatan(x)Dimensionless Any Angleexp(x)Dimensionless Any Dime
17、nsionlessloge(x)Dimensionless 0 x Dimensionlesslog10(x)Dimensionless 0 x Dimensionlessabs(x)Any Any xsqrt(x)Any 0 x x0.5min(x,y)*Any Any xmax(x,y)*Any Any xstep(x)*Dimensionless Any Dimensionless*step(x)is 0 for negative x,1 for positive x and 0.5 for x=0.*note that tan(x)is undefined for np/2 where
18、 n=1,3,5.*both x and y must have the same dimensions.内置函数/常数 2005 ANSYS CHINA,Inc.3-25CFX 10.0内置运算符/函数和常数l在CEL里一些常用的数学常数也可以被用来创建新的表达式:e Constant:2.7182818 g Acceleration due to gravity:9.806 m s2 pi Constant:3.1415927 R Universal Gas Constant:8314.5 m2 s2 K1l用户可以定义自己的1D线性或3D云图式的插分函数 在输入的数据点之间线性插分,然后
19、输出一个单个的值 输入的单位和输出的单位由用户决定l如果用户需要的函数在CEL里没有,或者需要使用某些特定的变量(比如梯度),用户可以通过链接到一个FORTRAN函数库来自定义函数 2005 ANSYS CHINA,Inc.3-26CFX 10.0CFXPre 从文件读入 在Expression Editor里创建 在需要的地方直接输入修改求解器的CCL文件 编辑.DEF 或.RES 文件 通过DOS控制行修改 后处理中的表达式可以通过这种方式定义,让求解器使用定义表达式的方法 2005 ANSYS CHINA,Inc.3-27CFX 10.0数学表达式l粘性剪切流体的粘度:这儿 代表剪切应力
20、率CEL 等效表达式l粘度写成温度的函数K=10.0 kg m1 s0.5n=1.5ViscT=K*sstrnr (n1)orViscT=K*(min(UpperS,(sstrnr+LowerS)(n-1)这儿 sstrnr 是一个系统函数,表示剪切应力率1nKCEL 例子:可变粘度 2005 ANSYS CHINA,Inc.3-28CFX 10.0在 CFXPrelexpression editor 有一个calculate的功能,可以用来测试表达式,或者画出一维的结果 有些值可能需要手工输入,因为系统变量没有值。在求解器中l当需要值的时候,该表达式就会被检验 初始值:在计算开始的时候 随时
21、间变化的边界条件:在每一个时间步的开始 流体特性:在两个时间步长之间的内循环里 累积量:在每一个时间步长的开始检验表达式 2005 ANSYS CHINA,Inc.3-29CFX 10.0l表达式编辑器 在CFX中开发和管理表达式的一个有效的工具 从很多面板上以及主菜单的Create选项上都可以进入表达式编辑器表达式编辑器 2005 ANSYS CHINA,Inc.3-30CFX 10.0l下面例子演示了如何把粘度设定为温度的函数.粘度和温度之间的关系是:Te10CEL 例子 2005 ANSYS CHINA,Inc.3-31CFX 10.0l或者,你可以用任何的文字编辑器编写出含有上述函数式
22、的文本文件,然后用表达式编辑器读入l例子:C1=10.K1#constantC2=1.kg/ms#constantvis=C2*exp(C1*T)#viscosityCEL 例子 2005 ANSYS CHINA,Inc.3-32CFX 10.0CEL 例子(边界条件)l下面例子演示了如何用速度的U和V分量给一个旋转的强设上角速度:2005 ANSYS CHINA,Inc.3-33CFX 10.0l在指定位置允许对非逻辑合成变量进行计算.l例子:计算在等值面上Cp 的面积平均:areaAve(Cp)iso1 经过某一个位置的某种流体的流量:oil.massFlow()slice1l注意:“”必
23、须作用于某一个几何位置.流体中的某相或某个组分可以通过下面方式选取.对于高级用户来说,在求解器中对合成变量进行操作也是可能的。这些变量可以被输入到表达式中,也可以在Solver Manager中被观测(详见文献中关于Output Control的描述)合成变量 2005 ANSYS CHINA,Inc.3-34CFX 10.0l系统中有一些已经定义好了的合成变量l0 或 1 取决于具体的函数参看帮助文档lIf 1 argument:可以是Post当中的一个表达式;在求解器当中只允许以变量形式存在 返回值得单位取决于宗数的单位合成变量 2005 ANSYS CHINA,Inc.3-35CFX 1
24、0.0EXPRESSIONS:ReqT=350 K TempOut=areaAve(T)outlet TCFilter=step(TempOut/1K-ReqT/1K)TCTemp=400K*TCFilter+285K*(1-TCFilter)TCFlow=10m/s*TCFilter+2m/s*(1-TCFilter)ENDBOUNDARY:TempControl Boundary Type=INLET Location=TempControl Coord Frame=Coord BOUNDARY CONDITIONS:MASS AND MOMENTUM:Option=Normal Spee
25、d Normal Speed=TCFlow END HEAT TRANSFER:Option=Static Temperature Static Temperature=TCTemp END ENDEND合成变量 2005 ANSYS CHINA,Inc.3-36CFX 10.0在CFXPost 中可以用如下方式定义表达式:l用CFXPost 中的Expression Editorl直接在当地输入表达式l直接在commandline(Line input mode)或 Command Editor处输入l从CCL文件中读入l从session 文件中读入l从state 文件中读入在CFX-Pos
26、t当中定义表达式 2005 ANSYS CHINA,Inc.3-37CFX 10.0lCFXPost 还提供一系列额外的函数:l._()area面积大小(projected to axis optional)areaAve面积加权平均areaInt面积加权积分ave代数平均count计算数目force某个面上特定方向受力forceNorm指定方向的法向力大小length曲线长度lengthAve长度加权平均lengthInt长度加权积分massFlow总的质量流量massFlowAve质量加权平均massFlowInt质量加权积分maxVal最大值minVal最小值CFX-Post 中的函数
27、2005 ANSYS CHINA,Inc.3-38CFX 10.0l接上页:l._()probe某点上的值sum求总和torque在指定轴下对于某个轴的力矩volume某个三维体的体积volumeAve体积加权平均volumeInt体积加权积分CFX-Post 函数 2005 ANSYS CHINA,Inc.3-39CFX 10.0数学表达式l压力系数:CEL 等效l压力系数Pref=massFlowAve(P)inflowDynH=massFlowAve(.5*Density*V2)inflowCpress=(P Pref)/DynHorCpress=(P massFlowAve(P)inflow)/massFlowAve(.5*Density*V2)inflow221refrefpressVPPCCEL 例子:压力系数