点击蓝字|关注我们
需求说明
Fluent非常强大的日志脚本功能,可以自动化任何仿真设置和操作。
Fluent提供文本用户命令(TUI命令)和界面用户命令(GUI命令),两者都是基于Scheme语言编写。对于大多数Fluent的GUI操作,都有一个相关的TUI命令对应,而有很多其他的操作只能通过TUI命令完成,本文只介绍TUI相关命令。
与UDF,expression,scheme区别
•UDF
‐基于C/C++的二次开发程序
‐可用于修改物理模型、初始化、增强后处理、增加物理模型等
‐有丰富的文档和案例
‐需要有一定的C/C++基础 ‐ANSYS不提供常规的技术支持
典型UDF代码如下
DEFINE_PROFILE(pressure_profile,t,i){real x[ND_ND]; /* this will hold the position vector */real y;face_t f;begin_f_loop(f,t){F_CENTROID(x,f,t);y = x[1];F_PROFILE(f,t,i) = 1.1e5 - y*y/(.0745*.0745)*0.1e5;}end_f_loop(f,t)}
•Scheme
‐本身是一种脚本化的编程语言
‐Fluent的GUI(Cortex)基于/内置了Scheme解释器
‐可用于控制Fluent运行的过程
‐可用于开发用户界面
‐可用于与求解器/UDF通讯
‐可以集成Journal命令
‐只有很少的帮助文档
‐需要有较强的Scheme基础
‐ANSYS不提供常规的技术支持
典型scheme语言如下
(define my-iterate(lambda (mark-temp)(if (< (pick-a-real "/re/vi/max solid () temperature no" 1) mark-temp)(begin(ti-menu-load-string "/so/dti 1 20")(my-iterate mark-temp)))))
•Expression
‐可以取代部分UDF、Scheme、Journal的功能,但不能完全取代
‐更加易用、易学
‐是一种基于Python的解释型的声明式语言 ‐功能 ‐指定与时间、迭代步、位置、求解变量相关的复杂的边界条件和源项
‐基于时间和迭代步指定不同的模型和求解器设置
典型expression语句如下
Vmax*(5.0*exp(t-0.3 [s]/2.8 [s]))
•Custom Field Function
‐用户定义的一个计算公式
‐基于三维网格上的信息进行计算!!!
‐可用于后处理和初始化
‐帮助文档中有丰富的说明 ‐非常易于学习
用户自定义函数界面如下

•Journal/TUI
‐是包含一系列Fluent命令流的文本
‐包含GUI和TUI两种类型,但GUI使用受限较大,本文不讲
‐可用于控制/自动化Fluent的过程
‐可以嵌套使用
‐缺乏一些复杂的控制功能,例如:•循环 •判断…
‐可与Scheme结合使用
‐非常易于学习
‐有丰富的文档资料
‐甚至无需文档,用户只需在Fluent的TUI中简单尝试即可理解掌握
典型的TUI命令如下
/file/read-case-data test.case/solve/set/under-relaxation/mom 0.2/solve/set/under-relaxation/pressure 0.4/solve/iterate 200/file/write-case-dat result.cas
TUI使用介绍






燃烧室自动化案例演示


































;; This journal is writen by wenming jing of Ansys China, plz contact wenming.jing@ansys.com for help;; read case/mesh/file/read-case combustor.msh.h5;; confirm overwrite/file/confirm-overwrite? yes;;choose steadydefine/models/steady?;;activate energy equationdefine/models/energy? yes yes yes;;choose rke turbulence modeldefine/models/viscous/ke-realizable? yes;;define operating conditionsdefine/operating-conditions/operating-pressure 101325 gravity yes 0 -9.8 0 q;; combustion model settingdefine/models/species/partially-premixed-combustion? yes yes no yes 101325 no no 0.1 315 500 yes "jet-a" 1 0 "n2" 0 0.767 "o2" 0 0.233 , , , yes 15 200 0.25 0.25 20 298 no "combustor.pdf" yes;;DPM model settingdefine/models/dpm/interaction/coupled-calculations? yesdefine/models/dpm/interaction/dpm-iteration-interval 30define/models/dpm/interaction/update-dpm-sources-every-flow-iteration? nodefine/models/dpm/unsteady-tracking no/define/models/dpm/numerics/tracking-parameters 50000 no 5;;DPM injection settingdefine/models/dpm/injections/create-injection , yes droplet yes surface diesel-liquid fuelinlet () no no no no no no jet-ano 0 0 10 0.0001 315 0.01 ;;read injection file;;/file/read-injections injection-file;; inletair1 settingdefine/boundary-conditions/velocity-inlet inletair1 , , , , , 40 , , , 500 , , , , , , , , , , , ,;;another way inletair1 setting;;define/boundary-conditions/set/velocity-inlet inletair1 () vmag no 31 temperature no 319 fmean no 0 premixc no 0 fvar no 0 q;; inletair2 settingdefine/boundary-conditions/velocity-inlet inletair2 , , , , , 30 , , , 500 , , , , , , , , , , , ,;; fuelinlet settingdefine/boundary-conditions/velocity-inlet fuelinlet , , , , , 15 , , , 300 , , , , , , , , 1 , , ,;; outlet settingdefine/boundary-conditions/pressure-outlet outlet , , 0 , 800 , , , , , 5 10 , 0 , , , , , , , , ,;; wall settingdefine/boundary-conditions/wall mainbody:1 , , , , , , 0 , , , , , , , , , , , , , , , ,;;hybrid initializationsolve/initialize/hyb-initialization;;report definitionsolve/report-definitions/add max-temp volume-max zone-names mainbody , field temperature report-type volume-max q;;add report to plot and filesolve/report-plot/add max-temp plot-instantaneous-values? yes report-defs max-temp () qsolve/report-files/add max-temp report-defs max-temp () write-instantaneous-values? yes file-name max-temp.out q;;define a surface planedisplay/surface/plane-surface midplane zx-plane 0;;setting up midplane velocity contourdisplay/objects/create contour midplane-velocity field velocity-magnitude surfaces-list midplane , q;;setting up midplane velocity vectordisplay/objects/create vector midplane-v-vector field velocity-magnitude surfaces-list midplane , q;;setting up auto save/file/auto-save/ case-frequency if-case-is-modified data-frequency 1000 retain-most-recent-files yes root-name combustor;;freeze specify equation/solve/set/equations/premixed no;;activate permixed equation/solve/set/equations/premixed no;; solve for 200 iterationsolve/iterate 100;;activate specify equation/solve/set/equations/premixed yes;;patch temperaturesolve/patch mainbody () temperature 3000;;patch progress variablesolve/patch mainbody () premixc 1;; solve for 1000 iterationsolve/iterate 1000
以往相关文章
上述案例所用网格链接如下:https://pan.baidu.com/s/1i_o2017vMjajq2cmaMO88g
提取码:q5ns

求分享

求点赞

求在看
本篇文章来源于微信公众号: Ansys 流体大本营








评论前必须登录!
注册