欢迎来到天天文库
浏览记录
ID:38978540
大小:464.52 KB
页数:23页
时间:2019-06-22
《CFX之CEL语言介绍》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、在CFX中,CFX表达式语言(CFXExpressionLanguage:CEL)作为一种解释性和说明性的语言嵌入到CFX中。利用CEL,用户可以提高分析模拟的功能,而不需要使用外部分离的Fortran子程序。在ANSYS的CFX程序中,只要是可以输入值的地方就可以使用CEL表达式进行输入。CEL的适用范围:通过变量定义材料属性;设定复杂的边界条件;对于求解方程增加求解项。用户也可以使用监测点功能,在求解过程中对于某个CEL表达式进行监测。注意:有些CEL表达式只能在ANSYS的CFX中使用,而不能使用在CF
2、D的后处理中。任何在CFX前处理器中创建的CEL表达式并作为设计浏览器(DesignExploration)中的输出参数,在设计浏览器运行的过程中可能导致致命的错误;所以,若用户需要进行设计浏览,则需要在CFD-Post(后处理)中创建所需所有的设计变量。本读本包含如下内容:1、CEL基础。2、CEL操作符,常量和表达式。3、CEL的例子。4、CEL技术细节。1、CEL基础值和表达式利用CEL可以创建值变量和表达式。值变量可以是带量纲的,也可以是不带量纲的。例如下面这个最简单的不带量纲的变量:b=3.743用
3、户也可以创建具有量纲的变量,如下:g=9.81[ms^-2]在CFD计算过程中,变量的量纲是具有意义的,它们表征了质量,长度,时间,温度或者角度的信息。量纲也是理解值和表达式的基础概念之一。在CEL中,值可以直接指定,也可以作为表达式的一部分。例如,用户可以使用两个值变量求和形成一个表达式:=+在本例中,用户可能希望将和相加并赋值给,若只是两个无量纲的变量进行相加用户不需要考虑量纲的问题;但是这两个变量具有
4、量纲则需要考虑量纲的问题了。表达式可以由之前已定义的表达式进行定义,例如:=+在CFX中进行表达式求值往往需要进行单位装换,在缺省状态下使用公制单位制(SI单位制),这样用户就可以使用任何自己的单位制了。若某个表达式未设定自己的单位字符串,但是引用的变量中有的是具有单位的,则结果表达式的单位由引用的变量或表达式计算后的量纲所决定。例如:某个表达式引用了x坐标平方的倒数,则隐式的使用了长度的-2次方单位。在表达式中使用定位符在CFX模拟过程中,具有物理面和网格面
5、的概念:物理面:在CFX中表征物理边界条件的面称之为物理面;网格面:在CFX中在几何拓扑结构中划分网格的面称之为网格面。在模拟过程中,这两种类型的面可能占据完全不同的几何区域;然而,并不需要将物理面和网格面的名称完全区分开,这样只会在表达式使用过程中造成混淆。为了避免混淆,在CFX使用“@”进行物理面和网格面的区分。若在面名称中找到了“@”定位符则表示是一个物理面;若未找到则在网格面的列表中进行查找。例如:“in1”既是一个物理面的名称,可能也是一个网格面的名称,则“@6、ocator>”表示使用的是一个物理面。在CFX中,用户可以使用@REGION参数表示某个命名的面是网格面。例如,为了表示网格面in1,可以使用如下表达式:@REGION:in1注意:若定位符不是作为物理面或者网格面的表达式而出现,则该表达式无效。CEL语句CEL语言是一种说明性的语言。用户使用表达式语句进行表达式的申明和定义,并和Fortran以及C语言进行表达式定义的相一致:语句中必须包含如下内容:Thestatementmustconsistofthefollowing:·一个数,量纲可选,用于定义一个7、常量。·对于数学表达式,可能需要引用一个或者多个数学常量,变量,系统变量或者用户自定义的变量,并由+,-,*,/和^运算符进行连接,并用()定义运算的优先级,这些规则和传统的数学运算规则一致。·对于关系表达式则包含关系运算符,一个或者多个数学常量或者从数学表示计算的结果,并由<=,<,==,!=,>.>=连接而成,并可以由可选的()设定运算优先级。·对于逻辑表达式包含逻辑操作符,一个或者多个逻辑常量或者关系运算的结果,并通过!,&&,8、9、连接而成,并可以由可选的()设定运算优先级。使用常量在表达式中使用常量并10、不需要预先定义,例如:可以使用x+5[m]进行表达式计算;或者用户也可以先定义一个常量b=5[m],再创建一个表达式x+b。逻辑常量值为false和true。逻辑表达式的计算结果为0或者1,分别对应false和TRUE。推荐用户使用常量进行表达式的定义,因为可能有多个表达式同时引用一个常量的情况,这样只需要修改常量表达式即可。表达式参数在CEL语言中,所有的数值均作为实数进行处理;并遵循如下从高到低
6、ocator>”表示使用的是一个物理面。在CFX中,用户可以使用@REGION参数表示某个命名的面是网格面。例如,为了表示网格面in1,可以使用如下表达式:@REGION:in1注意:若定位符不是作为物理面或者网格面的表达式而出现,则该表达式无效。CEL语句CEL语言是一种说明性的语言。用户使用表达式语句进行表达式的申明和定义,并和Fortran以及C语言进行表达式定义的相一致:语句中必须包含如下内容:Thestatementmustconsistofthefollowing:·一个数,量纲可选,用于定义一个
7、常量。·对于数学表达式,可能需要引用一个或者多个数学常量,变量,系统变量或者用户自定义的变量,并由+,-,*,/和^运算符进行连接,并用()定义运算的优先级,这些规则和传统的数学运算规则一致。·对于关系表达式则包含关系运算符,一个或者多个数学常量或者从数学表示计算的结果,并由<=,<,==,!=,>.>=连接而成,并可以由可选的()设定运算优先级。·对于逻辑表达式包含逻辑操作符,一个或者多个逻辑常量或者关系运算的结果,并通过!,&&,
8、
9、连接而成,并可以由可选的()设定运算优先级。使用常量在表达式中使用常量并
10、不需要预先定义,例如:可以使用x+5[m]进行表达式计算;或者用户也可以先定义一个常量b=5[m],再创建一个表达式x+b。逻辑常量值为false和true。逻辑表达式的计算结果为0或者1,分别对应false和TRUE。推荐用户使用常量进行表达式的定义,因为可能有多个表达式同时引用一个常量的情况,这样只需要修改常量表达式即可。表达式参数在CEL语言中,所有的数值均作为实数进行处理;并遵循如下从高到低
此文档下载收益归作者所有