Version1.33/23/2007©2007ANSYS,Inc.Allrightsreserved.CFX11.0ANSYS,Inc.ProprietaryInventory#0024456-1CFX表达式语言(CEL)CFX表达式语言(CEL)讲座6讲座6Version1.33/23/2007©2007ANSYS,Inc.Allrightsreserved.Inventory#0024456-2CFX11.0ANSYS,Inc.Proprietary•CEL-CFXExpressionLanguage–允许用户创建方程(可以定制求解的方程或是系统变量)用于CFX前处理和CFX后处理•例:CFX表达式语言CFX表达式语言Version1.33/23/2007©2007ANSYS,Inc.Allrightsreserved.Inventory#0024456-3CFX11.0ANSYS,Inc.Proprietary•语法规则与常规的代数语法规则相同•算子:+(加)-(减)*(乘)/(除)^(乘方)•变量和表达式对大小写敏感(例:t和T)•对于加和减运算表达式必须在尺度上一致(例:1.0[mm]+0.45[yds])•分数和小数是可以使用的(例:a^(1/2)+1.0^0.5)•表达式的单位无需说明–他们是表达式计算的结果(例:a[kgm^-3]*b[ms^-1]计算的结果是[kgm^-2s^-1]•一些常量在表达式中也是可以使用的:–eConstant:2.7182818–gAccelerationduetogravity:9.806[ms^-2]–piConstant:3.1415927–RUniversalGasConstant:8314.5[m^2s^-2K^-1]CEL规则CEL规则Version1.33/23/2007©2007ANSYS,Inc.Allrightsreserved.Inventory#0024456-4CFX11.0ANSYS,Inc.ProprietaryBuiltInFunctionsBuiltInFunctions•一些数学函数和算子也可以在CEL中使用–用户定制的函数可以通过使用Fortran语言创建FunctionOperand’sDimensions[x]Operand’sValuesResult’sDimensionssin(x)AngleAnyDimensionlesscos(x)AngleAnyDimensionlesstan(x)**AngleAnyDimensionlessasin(x)Dimensionless-1≤x≤1Angleacos(x)Dimensionless-1≤x≤1Angleatan(x)DimensionlessAnyAngleexp(x)DimensionlessAnyDimensionlessloge(x)Dimensionless0xDimensionlesslog10(x)Dimensionless0xDimensionlessabs(x)AnyAny[x]sqrt(x)Any0≤x[x]^0.5min(x,y)***AnyAny[x]max(x,y)***AnyAny[x]step(x)*DimensionlessAnyDimensionless*step(x)is0fornegativex,1forpositivexand0.5forx=0.**notethattan(x)isundefinedfornπ/2wheren=1,3,5...***bothxandymusthavethesamedimensions.Version1.33/23/2007©2007ANSYS,Inc.Allrightsreserved.Inventory#0024456-5CFX11.0ANSYS,Inc.ProprietaryxDirection1inReferenceCoordinateFrameyDirection2inReferenceCoordinateFramezDirection3inReferenceCoordinateFramerRadialspatiallocation,r=(x^2+y^2)^0.5thetaAngle,arctan(y/x)tTimeuVelocityinthexcoordinatedirectionvVelocityintheycoordinatedirectionwVelocityinthezcoordinatedirectionp(absolute)PressurekeTurbulentkineticenergyedTurbulenteddydissipationTTemperaturesstrnrShearstrainratedensityDensityrNoDimNon-dimensionalradius(rotatingframeonly)viscosityDynamicViscosityCpSpecificHeatCapacityatConstantPressurecondThermalConductivityAVnameAdditionalVariablenamemfMassFraction系统变量系统变量•许多系统变量是可以在CEL中进行使用的•单位已经被包含•下面是可以被使用的系统变量列表:只用被应用时只用被应用时只用被应用时只用被应用时,,,,系统系统系统系统参数才可以被选择参数才可以被选择参数才可以被选择参数才可以被选择Version1.33/23/2007©2007ANSYS,Inc.Allrightsreserved.Inventory#0024456-6CFX11.0ANSYS,Inc.Proprietary如何创建CEL如何创建CELVersion1.33/23/2007©2007ANSYS,Inc.Allrightsreserved.Inventory#0024456-7CFX11.0ANSYS,Inc.Proprietary如何创建CEL如何创建CEL加入更多的表达式(和在CFX后处理中采用相同的方法)Version1.33/23/2007©2007ANSYS,Inc.Allrightsreserved.Inventory#0024456-8CFX11.0ANSYS,Inc.Proprietary这里γ代表剪切应力率CEL在CFX前处理中实例1CEL在CFX前处理中实例1•创建一个粘性变量创建一个粘性变量创建一个粘性变量创建一个粘性变量–粘性剪切流体的粘度:1-=nKγμ单击鼠标右键选择系统变单击鼠标右键选择系统变单击鼠标右键选择系统变单击鼠标右键选择系统变量量量量Version1.33/23/2007©2007ANSYS,Inc.Allrightsreserved.Inventory#0024456-9CFX11.0ANSYS,Inc.ProprietaryCEL在CFX前处理中实例1CEL在CFX前处理中实例1•一个表达式可以直接输入一个表达式可以直接输入一个表达式可以直接输入一个表达式可以直接输入Version1.33/23/2007©2007ANSYS,Inc.Allrightsreserved.Inventory#0024456-10CFX11.0ANSYS,Inc.Proprietary•使用分步函数使用分步函数使用分步函数使用分步函数–在最初的19个迭代步中,设置入口温度为300K然后再第20个迭代步以后上升为350KCEL在CFX前处理中实例2CEL在CFX前处理中实例2单击鼠标右键选择系统变量单击鼠标右键选择系统变量单击鼠标右键选择系统变量单击鼠标右键选择系统变量Version1.33/23/2007©2007ANSYS,Inc.Allrightsreserved.Inventory#0024456-11CFX11.0ANSYS,Inc.Proprietary用户自定义函数用户自定义函数•可以定义自己的1-D线形,或是or3-D云图函数导入数据导入数据导入数据导入数据或手动添或手动添或手动添或手动添加加加加Version1.33/23/2007©2007ANSYS,Inc.Allrightsreserved.Inventory#0024456-12CFX11.0ANSYS,Inc.Proprietary用户自定义函数实例用户自定义函数实例•时间步随着迭代步的改变时间步随着迭代步的改变时间步随着迭代步的改变时间步随着迭代步的改变迭代步数无量纲迭代步数无量纲迭代步数无量纲迭代步数无量纲时间步为秒时间步为秒时间步为秒时间步为秒Version1.33/23/2007©2007ANSYS,Inc.Allrightsreserved.Inventory#0024456-13CFX11.0ANSYS,Inc.Proprietary用户自定义函数实例用户自定义函数实例•时间步随着迭代步的改变时间步随着迭代步的改变时间步随着迭代步的改变时间步随着迭代步的改变Version1.33/23/2007©2007ANSYS,Inc.Allrightsreserved.Inventory#0024456-14CFX11.0ANSYS,Inc.Proprietary•在指定位置允许对非逻辑合成函数进行计算.•例子:–计算在等值面上Cp的面积平均:areaAve(Cp)@iso1–经过某一个位置的某种流体的流量:oil.massFlow()@slice1•注意:–“@locator”-必须作用于某一个几何位置.–流体中的某相或某个组分可以通过下面方式选取[phase.][component.]function对于高级用户来说,在求解器中对积分函数进行操作也是可能的。这些函数可以被输入到表达式中,也可以在SolverManager中被观测(详见文献中关于OutputControl的描述)在CFX后处理中的积分函数在CFX后处理中的积分函数Version1.33/23/2007©2007ANSYS,Inc.Allrightsreserved.Inventory#0024456-15CFX11.0ANSYS,Inc.Proprietary•系统中有一些已经定义好了的合成函数•0或1取决于具体的函数---参看帮助文档•如果1:–可以是Post当中的一个表达式;在求解器当中只允许以变量形式存在–返回值得单位取决于宗数的单位合成变量合成变量Version1.33/23/2007©2007ANSYS,Inc.Allrightsreserved.Inventory#0024456-16CFX11.0ANSYS,Inc.Proprietary监视器监视表达式监视器监视表达式•下面列出了一些函数,他们是可以在监视表达式中获得的并且可以在后处理中获得(连续几页)FunctionNameandSyntaxrequired[optional]area()@LocationAreaofaboundaryorinterface.Any2Dregion(e.g.,boundaryorinterface)area_x()@Locationarea_y()@Locationarea_z()@LocationArea-weightedaverageofvaronaboundary.Any2Dregion(e.g.,aboundaryorinterface)areaAve(var)@LocationArea-weightedaverageofvaronaboundary.Any2Dregion(e.g.,aboundaryorinterface)areaInt(var)@LocationArea-weightedintegralofvaronaboundary.Any2Dregion(e.g.,aboundaryorinterface)ave(var