登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 理工学类 > 能源与动力工程 > 正文

传热学虚拟实验平台的开发外文翻译资料

 2022-10-30 10:46:29  

英语原文共 43 页,剩余内容已隐藏,支付完成后下载完整资料


FLUENT SCHEME5&6*编程手册

奥地利林茨的若阿内斯·开普勒大学的流动和传热过程的米尔科·贾夫克研究所http://fluid.jku.at

起步于2000年9月补充:2003年,10-2004

目录

前言

介绍

Fluent-Scheme接口

RP变量

CX变量

Fluent-Scheme-UDFs接口

数据交换

调用函数

算术函数

全局Scheme变量

局部Scheme变量

串列(list)

If命令

Do 循环

Format 命令

for-each 循环

在TUI中的Alias方法

示例:创建动画

举例:从数据文件报告数据

示例:从Data或者Case文件你读取数据

示例:输出Fluent Zone的名称到UDF

迭代控制

Fluent Scheme 的特

串列命令

Format 命令

System命令

Fluent变量和函数

Scheme文献

Fluent Scheme 的标准函数

Fluent-Scheme 环境

前言

在Fluent中使用Scheme可以非常轻松的自动执行仿真流程。非常遗憾的是,到目前 为止都没有正式的支持文档。在Fluent中使用Scheme必须对标准的Scheme语言有足够的 了解。这个文档非常简单,但是仍然不失为一个好的参考资料,Fluent德国都是直接向用 户推荐这个手册,因为他们自己本身也没有官方的手册。实际上,Fluent的后续版本将不 会再使用Scheme作为开发语言,转而使用Python这个灵活度更高的语言。

简介

Scheme是Lisp的一个分支,有着非常统一而又简单的命令格式:

(commandname argumentl argument2 ...)

每一个命令调用都是一个函数调用,因此也就会输出一个结果。命令名和变量名不区分大 小写,但是只能以字母开头,可以包含除了 a-z和0-9之外的特殊符号,包括 - */lt;gt;=?.:%$!~八_ 等字符。注経使用;;开头,行结束就表示注経结束。

Fluent-Scheme 接口

Fluent中调用scheme命令

使用Fluent的命令行界面输入(也可以使用鼠标拷贝命令)或者在文本编辑器中编好Scheme程序,然后用.scm结尾的文件储存,再通过Fluent的菜 单 “File/Read/Scheme” 调用;

如果在用户文件夹中存在一个fluent文件,这个文件会随着Fluent的启动而运行。

在菜单” Solve/Monitor/Commands/Command “输入Scheme命令,可以在每次迭代或者时长运行。

在Scheme中调用Fluent命令

文字界面输入命令:

(ti-menu-load-string 'display/contour temperature 30 100')

返冋倌:#t代表执行成功,#f代表失败或者是使用Ctrl-C取消的;Ctrl-C终止Fluent命令,

但不终止Scheme程序的执行。

GUI命令:Journal文件中可以直接使用Scheme命令,执行图形化操作。比如:

(cx-gui-do cx-activate-item 'Velocity Vectors*PanelButtons*PushButton1(OK)')

文字命令执行速度更快,更紧凑,而且在很多方面可以使用。GUI命令比较慢,不方便查 看和编写(查找Fluent命令比较麻烦)。因此应该优先使用文字界面命令,只有当没有文字命令可以使用的时候才使用GUI命令。文字界面命令还不能注释,操作步骤:搜索想要运行的命令,尝试运行,然后组织命令行。

在Fluent文字界面的输出样式:

(display object)

(newline)

Scheme中的文件访问(读/写)(参见示例)。

RP-变量

获得变量值:比如获得模拟时间:

  • (rpgetvar flow-time)

0.1

设置变量值:

  • (rpsetvar flow-time 0)

所有RP变量都是在Case中定义(参考'变量'一章).

CX-变量

读取变量,比如说颜色历程表,

  • (cxgetvar lsquo;cmap-list)

0.1

设置变量:

  • (cxsetvar def-cmap 'rgb')

所有的CX变量都是在Case文件中定义的(参考” Cortex变量”)

Fluent-Scheme-UDFs 接口

数据交换

可以定义自己的RP变量,通过Fluent的文字界面或者在UDF中通过特殊的函数进行调用。 定义一个自己的RP变量::

(rp-var-define name default-and-init-value type #f)

类型:int real boolean string ...?

比如:

gt; (rp-var-define udf/var1 0 real #f)

变量信息:

gt; (rp-var-object udf/varl) (udf/varl 0 real #f 0)

gt; (rp-var-object udf/var2)

#f

变量的改变和查询可以像上面一样通过rpsetvar和rpgetvar来完成。

如果一个变量己经被定义一次,则在Fluent程序结束之前它都是有效的,储存在每个Case 文件里面。重新载入这样的一个Case文件的时候,如果此变量没有被定义,则它会被自动 创建,并且储存在Case文件里面的变量值会被指定给这个变量。 在UDF里面,RP变量可以通过如下的C函数(在Fluent.Inc/fluentX.Y/src/var.h中被声明)

赋值和查询

real RP_Get_Real(char *s); long RP_Get_Integer(char *s); char *RP_Get_String(char *s); boolean RP_Get_Boolean(char *s);

void RP_Set_Real(char *s, real v); void RP_Set_Integer(char *s, long v); void RP_Set_Boolean(char *s, boolean v); void RP_Set_String(char *s, char *v); void RP_Set_Symbol(char *s, char *v);

例如:

var1 = RP_Get_Real('udf/var1');

RP_Set_Real('udf/var1', 3.2);

如果UDF是在并行模式中被使用,RP变量的操作需要特别注意,详情请查阅Fluent的 UDF手册。

调用函数

EOD类型的UDF可以使用Scheme的如下命令调用:

(%udf-on-demand 'udf-eod-name')

目前还没有可能在在UDF中调用Scheme函数;虽然Fluent.Inc/fluentX.Y/cortex/src/cx.h中 声明的 C 函数 CX_Interpret_String('scheme-command-string')可以解释'scheme-command- string', 但是没有途径可以进入此环境。

数学函数

基本运算 -*/,可以有2个以上的参数:

gt;( 245)

11

  • (/ 6 3)

2

  • (/2) ;;等同于(/1 2)

0.5

其它函数:(abs x), (sqrt x), (expt x y) [= xy], (exp x)[= ex], (log x) [= In x], (sin x), (cos x), (atan x), (atan x y) [= arctan(x/y)], ^

取整函数:

  • (remainder 45 6)

3

  • (modulo 5 2)

1

(truncate x), (round x), (ceiling x), (floor x),...

其它

(max x y ...), (min x y ...)

比如,寻找串列中的最大值:

  • (apply max (1 5 8 3 4))

8

全局Scheme变量

用如下方法定义:

  • (define x 3)
  • ( x 1)

4

没有变量类型区别(Integer, Real, String,hellip;)-每个变量都可以接受任何一种类型的值. 使用再定义方法改变变量值(不能在函数内部操作,函数内部是局部变量区域,所以定义的 将会是一个新的局部变量),更好的方式是使用如下的句子:

(set! x 1)

输出显示变量值

(display x)

或者

(write x)

Write仅当Fluent变量值都储存在文件里面而又想读出来的时候才使用;Write使用前置符 号显示符号变量值。

常量:整数(2),浮点数(2.5),布尔值(#t真,#f假)字符串('this is a text string')和符号 (rsquo;symbol),比如:

(define x this-is-a-symbol)

字符串中的特殊符号使用:

' '

新行

全局变量和自定义Scheme函数的有效性保持到Fluent结束运行。

局部Scheme变量

(let ((var1 value1) (var2 value2) ...) ...命令...

)

串列(list)

定义方法,例如:

  • (define my-surfaces (wall-top wall-bottom symmetry))

任意长度,支持动态管理和嵌套 使用如下格式进行定义:lsquo;(elements ...):

  • (define l (a b c))

串列的第一个元素

  • (car l) a

串列剩下的部分(没有第一个元素的串列)

  • (cdr l)

(b c

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[138391],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图