边界条件 /cfx 表达式语言

39
© 2005 ANSYS CHINA, Inc. 3-1 CFX 10.0 边边边边 /CFX 边边边边边 边边 3

Upload: moke

Post on 19-Jan-2016

283 views

Category:

Documents


0 download

DESCRIPTION

边界条件 /CFX 表达式语言. 讲座 3. 边界条件. 在计算域的所有外部边界上都需要 尽量采用意义明确的名字(你不需要接受系统的默认名字) 选择边界所在的域 ( 当计算中有多个域的时候适用 ). 基本设定. 边界类型 进口,出口,开放式,墙,对称面 位置 选择相应的二维几何体或组合 坐标系 如果有多于一个,请选择合适的 坐标类型 只在旋转坐标系中可选。这个选项允许用户指定基于静止或旋转坐标系的某些参数. 边界条件详细内容. 可选项取决于边界类型及域的设定 例如:超音速的可选性取决于域设定里面的热传递模型 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-1CFX 10.0

边界条件 /CFX 表达式语言边界条件 /CFX 表达式语言

讲座 3

Page 2: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-2CFX 10.0

在计算域的所有外部边界上都需要 尽量采用意义明确的名字(你不需要接受系统的默认名

字) 选择边界所在的域 ( 当计算中有多个域的时候适用 ).

边界条件边界条件

Page 3: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-3CFX 10.0

边界类型 进口,出口,开放式,墙,对

称面 位置

选择相应的二维几何体或组合 坐标系

如果有多于一个,请选择合适的

坐标类型 只在旋转坐标系中可选。这个

选项允许用户指定基于静止或旋转坐标系的某些参数

基本设定基本设定

Page 4: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-4CFX 10.0

可选项取决于边界类型及域的设定 例如:超音速的可选性取决于

域设定里面的热传递模型 在右边例子中,只模拟了湍流

(i.e. 没有传热或多组分 / 多相流模拟)

边界条件详细内容边界条件详细内容

Page 5: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-5CFX 10.0

进口• 流体自进口流入计算域 : 用白色箭头表示

出口• 流体自出口流出计算域 : 用黄色箭头表示

开放式边界• 根据当地条件,流体可以流入或流出计算域:用蓝色双向箭头

表示 . 设定过程和进口类似,也需要设定流体方向和压力 墙

• 用绿色的八角体表示 . 非滑移 / 自由滑移 , 热传递性质和墙壁的粗糙度等特性都可以设定

对称面• 流体在该面一侧的特性是另一面的镜像 . 当对称流动存在时可

以用来减少计算网格的数量 .

边界类型边界类型

Page 6: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-6CFX 10.0

预设边界条件预设边界条件

• 可以通过对已知数据文件的插值来设定边界条件 .

• 我们经常使用以前的模拟结果或已知的实验数据作为当前模拟的边界条件

• CFX-Pre 可以用插分功能来根据读入的数据生成 CEL 表达式 .

• 当我们采用“ Profile” 方法设定边界条件时,这些数据是自动生成的 .

Page 7: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-7CFX 10.0

创建一个边界条件文件。这个可以用CFX-Post 当中的输出功能实现。

从 CFX-Post 中产生的边界条件文件。带颜色的格中的信息是需要的, CFX-Pre会自动读入。

施加预设边界条件的步骤施加预设边界条件的步骤

Page 8: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-8CFX 10.0

在 CFX-Pre 中读入边界条件文件。这个可以通过 Tools>Initialize Profile Data 并选择相应的文件来实现。我们也可以载入多个边界条件文件,每一个文件也可以应用在多个地方。

施加边界条件文件的步骤施加边界条件文件的步骤

Page 9: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-9CFX 10.0

在边界条件处勾选: Use Profile Data

从下拉菜单中选择合适的文件,然后点击 Generate Values.

施加边界条件文件的步骤施加边界条件文件的步骤

Page 10: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-10CFX 10.0

边界条件的详细录入界面会有相应改变,以适应文件输入。只有当你点击了 Apply 以后,这些改变才会生效。

施加边界条件文件的步骤施加边界条件文件的步骤

Page 11: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-11CFX 10.0

边界条件文件(以及别的边界条件)可以通过在CFX-Pre 的边界条件编辑器中选择绘图选项来实现可视化。用户可以根据边界条件文件创建边界的等值线或矢量图。

每次求解器启动时,边界条件文件将被读入。也就是说边界条件文件可以在两次模拟当中进行修改,而不必回到 CFX-Pre 当中。

施加边界条件文件的步骤施加边界条件文件的步骤

Page 12: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-12CFX 10.0

在多处地方施加边界条件文件是可能的 : 对于有相同法向量 X, Y 或 Z 的边界 , 可以把边

界条件输出成 2D 数据文件 (比如,对两个有相同法向 Z 的边界来说,就输出 X 和 Y 方向的数据 ). 第一个边界上的数据可以不经修改用于第二个边界上。

如果两个边界没有相同的法向,那么可以直接修改你的边界条件文件使第一个边界上的条件适合第二个边界。

在多处地方施加边界条件文件在多处地方施加边界条件文件

Page 13: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-13CFX 10.0

有些变量需要一个前缀来表明材料的名字 ( 例如 air.vf 就表示空气的体积百分比 )

非标准变量名和用户定义的变量名

标准变量名标准变量名

Page 14: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-14CFX 10.0

对一维的离散数据来说,数据间的拓扑关系可以通过对原始数据的坐标排序来确定。排序后的原始数据就可以应用线形插分。数据通过这种方式来分类,所以是否提前特殊规定并不重要。

对于二维和三维的离散数据来说,“点云图”的方法被用来实现插分。整个过程包括对被插分点最近的三个原始数据点的快速定位,以及根据它们离被插分点距离远近的一个反向加权的平均过程。 如果某一个原始数据点正好落在该插分点的位置上,那么我们就用这个原始数据点的值作为该插分点的值。

在求解过程当中,根据离散和数值积分过程的具体要求,求解器需要各个不同位置上的值,比如在积分点上,节点上和各个面的中心点上。 在所有的情况下,这个需要的位置都会被确定,原始的数据就会被插分到该位置。

数据插分方法数据插分方法

Page 15: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-15CFX 10.0

当边界条件文件被 CFX-Solver 读入后,如果文件大小不超过 16K ,它会被写到 .out 文件的 Profile Data 部分。 16K 是一个默认值,这个默认值是可以改变的。所有的文件里的数据都会被写入结果文件,并可以在DOS环境下用 cfx5dfile命令分离出来

从结果文件中分离出边界条件文件从结果文件中分离出边界条件文件

Page 16: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-16CFX 10.0

在当前结果文件中找到相应的数据文件,我们需要键入 :

cfx5dfile file_001.res –list-profile-files ( 这个命令会列出结果文件中所有的边界条件文件,每行列一个 )

如果要找到某个特定的边界条件文件,键入 :

cfx5dfile file_001.res –read-profile-file <profile_name>.csv 或者 :

cfx5dfile file_001.res –extract-profile-file <profile_name>.csv

从结果文件中分离出边界条件文件从结果文件中分离出边界条件文件

Page 17: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-17CFX 10.0

CEL - CFX Expression Language

CEL 是一种说明性的编译语言,可以让用户不借助外挂 Fortran 子程序而对模拟进行强化

- 可以涉及 CFX 内部变量 - are evaluated by the CFX Solver and CFX-Post

CFX Expression LanguageCFX Expression Language

Page 18: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-18CFX 10.0

CEL 是说明性的 描述一个表达式的名字和定义(也可以加入注释等) 语句的格式必须符合提前设定好的语法。这个语法和大多数

的编程语言中的数学表达式是非常类似的 语句必须包含下列 :

一个数字(如果需要,也可以带单位) 一个或多个表示常数,系统变量,用户自定义变量,函数或其它 CEL 表达式,用 +, -, * , / 和 ^ 分隔。也可以用括号来进行分组。

以上表达式的语法规则和传统数学规则是一样的以上表达式的语法规则和传统数学规则是一样的

CEL StatementsCEL Statements

Page 19: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-19CFX 10.0

变量和表达式应区分大小写 用括号来规定运算的优先级 对加减运算,表达式的单位必须统一

1.0 [mm] + 0.45 [yds] (valid) 2.5 [s m^-1] - (3.0 [m s^-1])^-1 (valid) 1.0 [mm] + 0.3 [kg] (invalid)

表达式规则表达式规则

Page 20: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-20CFX 10.0

分数幂和小数幂是允许的 a^(1/2)

(valid) 1.0^0.5

(valid)

符合运算的表达式单位并不需明确写出 ---靠计算结果确定 (a [kg m^-3] * b [m s^-1])

has units of [kg m^-2 s^-1]

表达式规则表达式规则

Page 21: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-21CFX 10.0

系统中定义了很多系统变量以供调用 这些系统变量可以被用在任意表达式 系统变量中已经包含了单位 变量列表可以 :

- 通过在 Pre 里点击 System Variables 或在 Expression Editor里点击 Functions 按钮来列出

- 在 CFX-Post 里通过观察所有可选变量的方法列出

系统变量系统变量

Page 22: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-22CFX 10.0

x Direction 1 in Reference Coordinate Framey Direction 2 in Reference Coordinate Framez Direction 3 in Reference Coordinate Framer Radial spatial location, r = (x^2+y^2)^0.5theta Angle, arctan(y/x)t Timeu Velocity in the x coordinate directionv Velocity in the y coordinate directionw Velocity in the z coordinate directionp (absolute) Pressureke Turbulent kinetic energyed Turbulent eddy dissipationT Temperaturesstrnr Shear strain ratedensity DenstiyrNoDim Non-dimensional radius (rotating frame only)viscosity Dynamic ViscosityCp Specific Heat Capacity at Constant Pressurecond Thermal Conductivityenthalpy Specific Enthalpybeta Thermal Expansivityspeedofsound Local speed of sound in fluidsubdomain Sub-domain variable (1.0 in Sub-domain, 0.0 elsewhere)mean diameter Mean Diameterdeneff Effective DensityAV name Additional Variable namemf Mass Fraction

系统变量系统变量

Page 23: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-23CFX 10.0

根据模拟的类型和创建的表达式的形式, CFX-5 系统变量和用户定义的表达式会变为可选或不可选

在某些情况下,系统变量会成为逻辑上不可选 时间 (t) 在稳态模拟时不可

选 温度 (T) 在系统没有传热问题的时候不可选

在其它情况下,某些系统变量还问因为所选的物理模型的原因变成不可选

系统变量系统变量

Page 24: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-24CFX 10.0

一些数学上的函数和操作符在 CEL 里也可以运用 用户也可以通过 FORTRAN 语言创建自己的函数

Function Operand’s Dimensions [x] Operand’s Values Result’s Dimensions

sin(x) Angle Any Dimensionless

cos(x) Angle Any Dimensionless

tan(x) ** Angle Any Dimensionless

asin(x) Dimensionless -1 x 1 Angle

acos(x) Dimensionless -1 x 1 Angle

atan(x) Dimensionless Any Angle

exp(x) Dimensionless Any Dimensionless

loge(x) Dimensionless 0 < x Dimensionless

log10(x) Dimensionless 0 < x Dimensionless

abs(x) Any Any [x]

sqrt(x) Any 0 x [x]^0.5

min(x,y) *** Any Any [x]

max(x,y) *** Any Any [x]

step(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 n/2 where n=1, 3, 5 .. .*** both x and y must have the same dimensions.

内置函数 /常数内置函数 /常数

Page 25: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-25CFX 10.0

内置运算符 /函数和常数内置运算符 /函数和常数 在 CEL 里一些常用的数学常数也可以被用来创建新的表

达式 : e Constant: 2.7182818 g Acceleration due to gravity: 9.806 [m s^-2] pi Constant: 3.1415927 R Universal Gas Constant: 8314.5 [m^2 s^-2 K^-1]

用户可以定义自己的 1D 线性或 3D云图式的插分函数 在输入的数据点之间线性插分,然后输出一个单个的值 输入的单位和输出的单位由用户决定

如果用户需要的函数在 CEL 里没有,或者需要使用某些特定的变量(比如梯度),用户可以通过链接到一个FORTRAN函数库来自定义函数

Page 26: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-26CFX 10.0

• CFX-Pre 从文件读入 在 Expression Editor 里创建 在需要的地方直接输入

• 修改求解器的 CCL 文件 编辑 .DEF 或 .RES 文件 通过 DOS控制行修改 后处理中的表达式可以通过这种方式定义,让求解器使用

定义表达式的方法定义表达式的方法

Page 27: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-27CFX 10.0

数学表达式 粘性剪切流体的粘度 :

这儿 代表剪切应力率

CEL 等效表达式 粘度写成温度的函数

K = 10.0 [kg m^-1 s^-0.5]

n = 1.5

ViscT = K * sstrnr ^ (n-1)

or

ViscT = K*(min(UpperS,(sstrnr+LowerS))^(n-1))

这儿 sstrnr 是一个系统函数,表示剪切应力率

1 nK

CELCEL 的第二种表达式包含了对应力率的上限和下限,这主要的第二种表达式包含了对应力率的上限和下限,这主要是为了使计算结果在物理上合理。是为了使计算结果在物理上合理。

CEL 例子 : 可变粘度CEL 例子 : 可变粘度

Page 28: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-28CFX 10.0

在 CFX-Pre expression editor 有一个 calculate 的功能,可以用来测试表达式,或者画出一维的结果 有些值可能需要手工输入,因为系统变量没有值。

在求解器中 当需要值的时候,该表达式就会被检验

初始值 : 在计算开始的时候 随时间变化的边界条件 : 在每一个时间步的开始 流体特性 : 在两个时间步长之间的内循环里 累积量 : 在每一个时间步长的开始

检验表达式检验表达式

Page 29: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-29CFX 10.0

表达式编辑器 在 CFX 中开发和管理表达式

的一个有效的工具 从很多面板上以及主菜单的

Create 选项上都可以进入表达式编辑器

表达式编辑器 表达式编辑器

Page 30: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-30CFX 10.0

下面例子演示了如何把粘度设定为温度的函数 . 粘度和温度之间的关系是:

Te 10

CEL 例子CEL 例子

Page 31: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-31CFX 10.0

或者,你可以用任何的文字编辑器编写出含有上述函数式的文本文件,然后用表达式编辑器读入

例子 :

C1 = 10. [ K^-1 ] # constant

C2 = 1. [ kg/ms ] # constant

vis = C2*exp(-C1*T) # viscosity

CEL 例子CEL 例子

Page 32: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-32CFX 10.0

CEL 例子 (边界条件 )CEL 例子 (边界条件 )

下面例子演示了如何用速度的 U 和 V 分量给一个旋转的强设上角速度 :

Page 33: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-33CFX 10.0

在指定位置允许对非逻辑合成变量进行计算 . 例子 :

计算在等值面上 Cp 的面积平均 : areaAve(Cp)@iso1

经过某一个位置的某种流体的流量 : oil.massFlow()@slice1

注意 : “@<locator>” - 必须作用于某一个几何位置 . 流体中的某相或某个组分可以通过下面方式选取 [<phase>.]

[<component>.]<function>

对于高级用户来说,在求解器中对合成变量进行操作也是可能的。这些变量可以被输入到表达式中,也可以在 Solver Manager 中被观测(详见文献中关于 Output Control 的描述)

合成变量合成变量

Page 34: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-34CFX 10.0

系统中有一些已经定义好了的合成变量 0 或 1 取决于具体的函数 --- 参看帮助文档 If 1 argument:

可以是 Post 当中的一个表达式 ; 在求解器当中只允许以变量形式存在

返回值得单位取决于宗数的单位

合成变量合成变量

Page 35: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-35CFX 10.0

EXPRESSIONS: ReqT = 350 [K] TempOut = areaAve(T)@outlet TCFilter = step(TempOut/1[K]-ReqT/1[K]) TCTemp = 400[K]*TCFilter+285[K]*(1-TCFilter) TCFlow = 10[m/s]*TCFilter+2[m/s]*(1-TCFilter)END[…]BOUNDARY : TempControl Boundary Type = INLET Location = TempControl Coord Frame = Coord BOUNDARY CONDITIONS : MASS AND MOMENTUM : Option = Normal Speed Normal Speed = TCFlow END HEAT TRANSFER : Option = Static Temperature Static Temperature = TCTemp END ENDEND

合成变量合成变量

Page 36: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-36CFX 10.0

在 CFX-Post 中可以用如下方式定义表达式 : 用 CFX-Post 中的 Expression Editor 直接在当地输入表达式 直接在 commandline (Line input mode) 或 Command

Editor 处输入 从 CCL 文件中读入 从 session 文件中读入 从 state 文件中读入

在 CFX-Post 当中定义表达式在 CFX-Post 当中定义表达式

Page 37: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-37CFX 10.0

CFX-Post 还提供一系列额外的函数 : [<Fluid>.]<function>[_<Axis>[_<Coord Frame>]]([<Expression>])@<Location>

area 面积大小 (projected to axis optional)

areaAve 面积加权平均 areaInt 面积加权积分 ave 代数平均 count 计算数目 force 某个面上特定方向受力 forceNorm 指定方向的法向力大小 length 曲线长度 lengthAve 长度加权平均 lengthInt 长度加权积分 massFlow 总的质量流量 massFlowAve 质量加权平均 massFlowInt 质量加权积分 maxVal 最大值 minVal 最小值

CFX-Post 中的函数CFX-Post 中的函数

Page 38: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-38CFX 10.0

接上页 :

[<Fluid>.]<function>[_<Axis>[_<Coord Frame>]]([<Expression>])@<Location> probe 某点上的值 sum 求总和 torque 在指定轴下对于某个轴的力矩 volume 某个三维体的体积 volumeAve 体积加权平均 volumeInt 体积加权积分

CFX-Post 函数CFX-Post 函数

Page 39: 边界条件 /CFX 表达式语言

© 2005 ANSYS CHINA, Inc.

3-39CFX 10.0

数学表达式

压力系数 :

CEL 等效

压力系数

Pref = massFlowAve(P)@inflow

DynH = massFlowAve(.5*Density*V^2)@inflow

Cpress = (P - Pref)/DynH

or

Cpress = (P - massFlowAve(P)@inflow) / massFlowAve(.5*Density*V^2)@inflow

2

21

ref

refpress

V

PPC

CEL 例子 : 压力系数CEL 例子 : 压力系数