吾生有涯 学海无涯
析模有界 知识无界

Fluent获取RP宏支持的字符串列表

内容纲要

Fluent UDF中,经常可用使用RP宏获取求解器中的一些信息。最常见的如RP_Get_Real("flow-time")得到当前的时间。然而文档中并未明确列出其支持的字符串列表,导致RP宏使用起来不怎么方便。

这里可以通过在TUI窗口输入下面的命令将所有支持的字符串列举出来:

(cx-send '(for-each (lambda (v) (pp v)) rp-variables))

命令会返回一个超长的列表,部分结果如下所示。

(sg-swirl? #f boolean #f #f)
(rp-seg? #t boolean #f #t)
(rf-energy? #f boolean #f #f)
(rp-inviscid? #f boolean #f #f)
(rp-lam? #f boolean #f #f)
(adapt/method 2 integer () 2)
(workflow/type "" string #f "")
(solver/state () list #f ())
(workflow/state () list #f ())
(femcore/structure/stress/interpolation 0 integer #f 0)
(femcore/structure/coordinate/interpolation 3 integer #f 3)
(femcore/structure/displacement/interpolation 3 integer #f 3)
(femcore/use? #f boolean #f #f)
(point-creation-tolerance 0.0001 real #f 0.0001)
(virtualboundary/diag-level 0 integer #f 0)
(virtualboundary/bndint () list #f ())
(virtualboundary/geom () list #f ())
(virtualboundary/geomids () integer-list #f ())
(sponge/verbosity 0 integer #f 0)
(sponge/map () list #f ())
(expr/evaluate-also-in-host? #f boolean #f #f)
(expr/enable-caching? #t boolean #f #t)
(register-reports () list #f ())
(inline-expressions () list #f ())
(named-expressions () list #f ())
(inert/h-c-ratio 2.25 real #f 2.25)
(inert/amg-stabilization 0 integer #f 0)
(inert/default 0 real #f 0)
(inert/patch 0 real #f 0)
(inert/amg-method 0 integer #f 0)
(inert/cycle-type 0 integer #f 0)
(inert/amg-beta 0.7 real #f 0.7)
(inert/amg-alpha 0.1 real #f 0.1)
(inert/scheme 1 integer #f 1)
(inert/relax 1 real #f 1)
(inert/solve? #t boolean #f #t)
(inert/off? #t boolean #f #t)
(premix/les-peters-sct-factor 0.7 real #f 0.7)
(premix/ewald-exponent-q 0.66 real #f 0.66)
(premix/peters-coeff-cs 2 real #f 2)
(premix/peters-coeff-b3 1 real #f 1)
(premix/peters-coeff-b1 2 real #f 2)
(premix/blint-coeff-bl2 0.7 real #f 0.7)
(premix-g-var/max-iter 5 integer #f 5)
(premix-g-var/residual-tolerance 0.0001 real #f 0.0001)
(premix-g-var/iter-tolerance 0.05 real #f 0.05)
(premix-g-var/amg-stabilization 0 integer #f 0)
(premix-g-var/amg-method 0 integer #f 0)
(premix-g-var/cycle-type 0 integer #f 0)
(premix-g-var/amg-beta 0.7 real #f 0.7)
...
后面还有非常多~

这玩意儿怎么看?举个例子。

如上面列表中的(inert/relax 1 real #f 1),其中innert/relex为字符串的名称,1为当前值,real为其类型,后面的不用管,猜测应该是其上下限什么的。那么在UDF中要获取此参数,可以使用下面的程序:

r = RP_Get_Real("inert/relax");

在UDF中使用这些变量,需要注意其类型,对于整形数据,需要使用RP_Get_Integer,布尔类型的数据使用RP_Get_Boolean,字符串类型的数据使用RP_Get_String。相应的如果要设置这些变量,可以使用RP_Set_Real等。

TUI中访问这些变量,可以使用rpgetvalrpsetval来实现。

如上面的变量可以在TUI中这么访问:

(%rpgetval 'inert/relax)

返回结果如下图所示。

具体可参见Fluent UDF手册3.6节。


(本文结束)

本篇文章来源于微信公众号: CFD之道

赞(1) 打赏
版权声明:未经允许,请勿随意用于商业用途。
文章名称:《Fluent获取RP宏支持的字符串列表》
文章链接:https://www.topcfd.cn/19772/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

说两句 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者吧

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册