边界条件/CFX表达式语言 讲座 3.

Slides:



Advertisements
Similar presentations
实验安排 本周六和下周六上机时间: 上午: 8 : 30~10 : 00 第一组 上午: 11 : 00~11 : 30 第二组 下午: 14 : 30~16 : 00 第三组.
Advertisements

DASY4 DASY4 晶復科技 晶復科技 主講人:劉世樺 主講人:劉世樺. 用途  用途 : 用來量測 SAR, 何謂  用途 : 用來量測 SAR, 何謂 SAR (Specific Absorption Rate): 特定吸收率 ( 人體組織吸收行動電話或其他無 線裝置所發出之電磁輻射的速率.
物业装修管理 周定福 编 二○○八年五月.
项目四 铁路货物运输.
--- Chapter 10 Convection ---
Matlab教學 Speaker:林昱志 Date:2012/10/18.
1012 MATLAB 教學 彭奕翔 2013/02/27.
能及其应用 初三物理 主讲教师:胡展翅.
XI. Hilbert Huang Transform (HHT)
System Administration Practice Homework 2: Shell Programming
工程數學 Chapter 12 PDE 楊學成 老師.
4.1 能量的形式.
Fluid Mechanics (Week 1)
2-1 基本直流分析. 2-1 基本直流分析 新專案(Project)的建立 點選 File/New/Project.
Differential Equations (DE)
Introduction to the C Programming Language
MATLAB介紹.
Purposes of Mold Cooling Design
Chapter 4 Hydraulic Pumps.
實作輔導 日期: 3/11 09:10~16:00 地點:臺北市立大學 臺北市中正區愛國西路一號 (中正紀念堂站7號出口)
LASER SOLDERING SYSTEM
Chapter 5: Flow Measurement &meters
Matlab M檔案 方煒 台大生機系.
Kinco 智能伺服编程软件基础
Short Version : 6. Work, Energy & Power 短版: 6. 功,能和功率
機械波 Mechanical Waves Mechanical wave is a disturbance that travels through some material or substance called the medium for wave. Transverse wave is the.
Application of Matlab Language
普通物理 General Physics 10 - Rotational Motion I
Short Version : 15. Fluid Motion 短版: 15. 流體運動
Simulink建模与仿真.
机器人学基础 第四章 机器人动力学 Fundamentals of Robotics Ch.4 Manipulator Dynamics
熱力學 I 溫度與平衡 十八世紀前人類對熱現象的認知還帶有點神秘的色彩在其中,熱力學較科學化的發展可溯源自工業革命時代,人類對熱與機械功之間轉換關連的研究,影響熱力學源起發展的一個非常重要因素為溫度的觀念。 焦爾(Joule)等人的實驗結果與荷姆赫滋(Helmholtz)等的理論研究共同成就了熱現象中的能量守恆的原則,此原則奠下了熱力學第一定律(1942年由Mayer提出)的基礎。
普通物理 General Physics 29 - Current-Produced Magnetic Field
Short Version :. 11. Rotational Vectors & Angular Momentum 短版:. 11
Introduction to Multimedia Coding
參加2006 SAE年會-與會心得報告 臺灣大學機械工程系所 黃元茂教授
弯管( Duct Bend ) 实例 1.
瞬态油漆混合器 练习 6.
塑膠材料的種類 塑膠在模具內的流動模式 流動性質的影響 溫度性質的影響
多相流搅拌器 练习 7.
Short Version : 5. Newton's Laws Applications 短版: 5. 牛頓定律的應用
Chapter 8 Thermodynamics of High-Speed Gas Flow (第8章 气体和蒸气的流动)
First-Law Analysis for a Control Volume
Introduction to MATLAB
Quark Polarization in Relativistic Heavy Ion Collisions
ANSYS FLUENT 培训教材 第七节:UDF 安世亚太科技(北京)有限公司.
行星運動 人類對天體的運行一直充滿著好奇與幻想,各式各樣的傳說與理論自古即流傳於各地。在這些論述中,不乏各式神鬼傳說與命運註解,也包含了許多爭論不休的學術觀點。雖然這些形而上的虛幻傳奇仍然流傳於坊間,但是科學上的爭執卻因牛頓重力理論(law of gravitation)的出現而大致底定。
Mechanics Exercise Class Ⅰ
ISO 能源管理系統推行人員訓練 能源管理系統運作說明 許宏銘 顧問師 茂識管理顧問有限公司 2016年8月30日.
實作輔導 2 日期: 3/24(星期六) 09:10~16:00 地點:臺北市立大學 臺北市中正區愛國西路一號 (中正紀念堂站7號出口)
如同應力情況,可消去式 (10-5) 及 (10-6) 中參數 ,並重新寫成
第6章 常用内部过程 作为一门古老而又年轻的高级计算机语言,Fortran提供了大量的内部过程供程序员在编程过程中使用。并且随着新标准的推出,Fortran语言的内部过程还在继续扩展,能够提供更多的常用功能,大大减轻了程序员的重复性劳动。本节主要介绍常用内部过程的基本知识。
Summary for Chapters 24 摘要: 24章
Chapter 10 : Balance of Machinery
MATLAB 程式設計入門篇 初探MATLAB
第一章 力和运动 §1-1 质点运动的描述 §1-2 圆周运动和一般曲线运动 §1-3 相对运动 常见力和基本力 §1-4 牛顿运动定律
12. Static Equilibrium 靜力平衡
實 驗 1 : 電 場(Electric Field) (課本實驗14)
烟花爆竹工程设计的产能匹配 中国烟花爆竹协会 钱志强.
主讲教师 高前欣 农业与食品科学学院 食品工程学科
Mechanics Exercise Class Ⅱ
带有共轭换热的流动(Flow with CHT)
第六章 类属B树索引技术 对基于树的索引方法给出一种通用算法。该算法是建立在类属B树的概念之上开发的。它将类型系统开放,使系统能支持用户自定义的数据类型、函数和某些特殊的查询谓词的集合。并且,将新的数据类型、函数、查询谓词等登记到数据库管理系统中,
Ideal Gas.
统计软件应用 2 主讲人 陶育纯 SPSS 统计软件应用 2 主讲人 陶育纯 教案.
12. Static Equilibrium 靜力平衡
樹德企業股份有限公司簡介 朝陽科技大學 工業工程與管理系 何恭憲.
Lecture #10 State space approach.
Principle and application of optical information technology
Gaussian Process Ruohua Shi Meeting
Presentation transcript:

边界条件/CFX表达式语言 讲座 3

边界条件 在计算域的所有外部边界上都需要 尽量采用意义明确的名字(你不需要接受系统的默认名字) 选择边界所在的域 (当计算中有多个域的时候适用).

基本设定 边界类型 位置 坐标系 坐标类型 进口,出口,开放式,墙,对称面 选择相应的二维几何体或组合 如果有多于一个,请选择合适的 只在旋转坐标系中可选。这个选项允许用户指定基于静止或旋转坐标系的某些参数

边界条件详细内容 可选项取决于边界类型及域的设定 例如:超音速的可选性取决于域设定里面的热传递模型 在右边例子中,只模拟了湍流 (i.e. 没有传热或多组分/多相流模拟)

边界类型 进口 出口 开放式边界 墙 对称面 流体自进口流入计算域: 用白色箭头表示 流体自出口流出计算域: 用黄色箭头表示 根据当地条件,流体可以流入或流出计算域:用蓝色双向箭头表示. 设定过程和进口类似,也需要设定流体方向和压力 墙 用绿色的八角体表示. 非滑移/自由滑移, 热传递性质和墙壁的粗糙度等特性都可以设定 对称面 流体在该面一侧的特性是另一面的镜像. 当对称流动存在时可以用来减少计算网格的数量.

预设边界条件 可以通过对已知数据文件的插值来设定边界条件. 我们经常使用以前的模拟结果或已知的实验数据作为当前模拟的边界条件 CFX-Pre 可以用插分功能来根据读入的数据生成CEL 表达式. 当我们采用“Profile”方法设定边界条件时,这些数据是自动生成的.

施加预设边界条件的步骤 创建一个边界条件文件。这个可以用CFX-Post当中的输出功能实现。 从CFX-Post中产生的边界条件文件。带颜色的格中的信息是需要的,CFX-Pre会自动读入。

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

施加边界条件文件的步骤 在边界条件处勾选:Use Profile Data 从下拉菜单中选择合适的文件,然后点击 Generate Values.

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

施加边界条件文件的步骤 边界条件文件(以及别的边界条件)可以通过在CFX-Pre的边界条件编辑器中选择绘图选项来实现可视化。用户可以根据边界条件文件创建边界的等值线或矢量图。 每次求解器启动时,边界条件文件将被读入。也就是说边界条件文件可以在两次模拟当中进行修改,而不必回到CFX-Pre当中。

在多处地方施加边界条件文件 在多处地方施加边界条件文件是可能的: 对于有相同法向量 X, Y 或 Z的边界, 可以把边界条件输出成2D 数据文件(比如,对两个有相同法向Z的边界来说,就输出X和Y方向的数据). 第一个边界上的数据可以不经修改用于第二个边界上。 如果两个边界没有相同的法向,那么可以直接修改你的边界条件文件使第一个边界上的条件适合第二个边界。

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

数据插分方法 对一维的离散数据来说,数据间的拓扑关系可以通过对原始数据的坐标排序来确定。排序后的原始数据就可以应用线形插分。数据通过这种方式来分类,所以是否提前特殊规定并不重要。 对于二维和三维的离散数据来说,“点云图”的方法被用来实现插分。整个过程包括对被插分点最近的三个原始数据点的快速定位,以及根据它们离被插分点距离远近的一个反向加权的平均过程。 如果某一个原始数据点正好落在该插分点的位置上,那么我们就用这个原始数据点的值作为该插分点的值。 在求解过程当中,根据离散和数值积分过程的具体要求,求解器需要各个不同位置上的值,比如在积分点上,节点上和各个面的中心点上。 在所有的情况下,这个需要的位置都会被确定,原始的数据就会被插分到该位置。

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

从结果文件中分离出边界条件文件 在当前结果文件中找到相应的数据文件,我们需要键入: 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

CFX Expression Language CEL - CFX Expression Language CEL 是一种说明性的编译语言,可以让用户不借助外挂Fortran子程序而对模拟进行强化 - 可以涉及 CFX 内部变量 - are evaluated by the CFX Solver and CFX-Post

以上表达式的语法规则和传统数学规则是一样的 CEL Statements CEL是说明性的 描述一个表达式的名字和定义(也可以加入注释等) 语句的格式必须符合提前设定好的语法。这个语法和大多数的编程语言中的数学表达式是非常类似的 语句必须包含下列: 一个数字(如果需要,也可以带单位) 一个或多个表示常数,系统变量,用户自定义变量,函数或其它CEL表达式,用 +, -, * , / 和 ^ 分隔。也可以用括号来进行分组。 以上表达式的语法规则和传统数学规则是一样的

表达式规则 变量和表达式应区分大小写 用括号来规定运算的优先级 对加减运算,表达式的单位必须统一 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)

表达式规则 分数幂和小数幂是允许的 符合运算的表达式单位并不需明确写出---靠计算结果确定 a^(1/2) (valid) (a [kg m^-3] * b [m s^-1]) has units of [kg m^-2 s^-1]

系统变量 系统中定义了很多系统变量以供调用 这些系统变量可以被用在任意表达式 系统变量中已经包含了单位 变量列表可以: - 通过在Pre里点击 System Variables 或在Expression Editor里点击Functions 按钮来列出 - 在CFX-Post里通过观察所有可选变量的方法列出

系统变量 x Direction 1 in Reference Coordinate Frame y Direction 2 in Reference Coordinate Frame z Direction 3 in Reference Coordinate Frame r Radial spatial location, r = (x^2+y^2)^0.5 theta Angle, arctan(y/x) t Time u Velocity in the x coordinate direction v Velocity in the y coordinate direction w Velocity in the z coordinate direction p (absolute) Pressure ke Turbulent kinetic energy ed Turbulent eddy dissipation T Temperature sstrnr Shear strain rate density Denstiy rNoDim Non-dimensional radius (rotating frame only) viscosity Dynamic Viscosity Cp Specific Heat Capacity at Constant Pressure cond Thermal Conductivity enthalpy Specific Enthalpy beta Thermal Expansivity speedofsound Local speed of sound in fluid subdomain Sub-domain variable (1.0 in Sub-domain, 0.0 elsewhere) mean diameter Mean Diameter deneff Effective Density AV name Additional Variable name mf Mass Fraction

系统变量 根据模拟的类型和创建的表达式的形式,CFX-5 系统变量和用户定义的表达式会变为可选或不可选 在某些情况下,系统变量会成为逻辑上不可选 时间 (t) 在稳态模拟时不可选 温度 (T) 在系统没有传热问题的时候不可选 在其它情况下,某些系统变量还问因为所选的物理模型的原因变成不可选

内置函数/常数 一些数学上的函数和操作符在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 np/2 where n=1, 3, 5 .. . *** both x and y must have the same dimensions.

内置运算符/函数和常数 在CEL里一些常用的数学常数也可以被用来创建新的表达式: 用户可以定义自己的1D线性或3D云图式的插分函数 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函数库来自定义函数

定义表达式的方法 CFX-Pre 修改求解器的CCL文件 从文件读入 在Expression Editor里创建 在需要的地方直接输入 编辑 .DEF 或 .RES 文件 通过DOS控制行修改 后处理中的表达式可以通过这种方式定义,让求解器使用

CEL 例子: 可变粘度 CEL的第二种表达式包含了对应力率的上限和下限,这主要是为了使计算结果在物理上合理。 数学表达式 粘性剪切流体的粘度: 这儿  代表剪切应力率 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 是一个系统函数,表示剪切应力率 CEL的第二种表达式包含了对应力率的上限和下限,这主要是为了使计算结果在物理上合理。

检验表达式 在 CFX-Pre expression editor 有一个calculate的功能,可以用来测试表达式,或者画出一维的结果 有些值可能需要手工输入,因为系统变量没有值。 在求解器中 当需要值的时候,该表达式就会被检验 初始值: 在计算开始的时候 随时间变化的边界条件: 在每一个时间步的开始 流体特性: 在两个时间步长之间的内循环里 累积量: 在每一个时间步长的开始

表达式编辑器 表达式编辑器 在CFX中开发和管理表达式的一个有效的工具 从很多面板上以及主菜单的Create选项上都可以进入表达式编辑器

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

CEL 例子 或者,你可以用任何的文字编辑器编写出含有上述函数式的文本文件,然后用表达式编辑器读入 例子: C1 = 10. [ K^-1 ] # constant C2 = 1. [ kg/ms ] # constant vis = C2*exp(-C1*T) # viscosity

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

合成变量 在指定位置允许对非逻辑合成变量进行计算. 例子: 对于高级用户来说,在求解器中对合成变量进行操作也是可能的。这些变量可以被输入到表达式中,也可以在Solver Manager中被观测(详见文献中关于Output Control的描述) 在指定位置允许对非逻辑合成变量进行计算. 例子: 计算在等值面上Cp 的面积平均: areaAve(Cp)@iso1 经过某一个位置的某种流体的流量: oil.massFlow()@slice1 注意: “@<locator>” - 必须作用于某一个几何位置. 流体中的某相或某个组分可以通过下面方式选取 [<phase>.][<component>.]<function>

合成变量 系统中有一些已经定义好了的合成变量 0 或 1 取决于具体的函数---参看帮助文档 If 1 argument: 可以是Post当中的一个表达式; 在求解器当中只允许以变量形式存在 返回值得单位取决于宗数的单位

合成变量 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 HEAT TRANSFER : Option = Static Temperature Static Temperature = TCTemp

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

CFX-Post 中的函数 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 函数 接上页: [<Fluid>.]<function>[_<Axis>[_<Coord Frame>]]([<Expression>])@<Location> probe 某点上的值 sum 求总和 torque 在指定轴下对于某个轴的力矩 volume 某个三维体的体积 volumeAve 体积加权平均 volumeInt 体积加权积分

CEL 例子: 压力系数 数学表达式 压力系数: 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