首页/文章/ 详情

NFX|CFD函数

2年前浏览1331
在某些情况下,需要各种函数来执行流体分析。CFD函数是通过菜单栏中的[CFD] - [属性 /坐标 系 /函数 ] - [函数 ]来 定义的,可以在每个相关窗口中进行选择。
midas NFX结构部分提供多种形式的函数关系

NFX-CFD支持前处理函数定义

也支持后处理结果自定义输出(如风压系数/三分力系数等)

一般 CFD函数
定义可以在各种边界条件和材料中使用的函数。基本上,您可以输入基于
C语言的函数。
midas NFX CFD的 函数仅提供数值,不提供单位,所以使用时需要格外
注意单位。
函数

函数运算符
abs(input) : 输入的绝对值
acos(input) : 输入的反余弦;
asin(input) : 输入的反正弦;
atan(input) : 输入的反正切;

aver(input) : 相邻节点输入的平均值

CloudOfDataFile(filename) :从输入的文件名对应的文本文件执行三维插
值,这里的文件名必须是路径,而不能只是文件名称。例如,应使用
CloudOfDataFile(C:\Users\Desktop\速度.txt),而不能使用CloudOfDataFile(
速度.txt)。需要特别说明的是,在路径中不要带有 administrator 字符。用
于CloudOfDataFile流体分析函数的文本文件中应包含4列,前3列为X、Y Z 的 坐 标 值 , 第 4 列 为 输 入 值 。参 考 如 下 的 例 子 :

0.0 0.0 0.0 1.0

0.0 1.0 0.0 0.5

1.0 1.0 1.0 2.0

5.0 2.5 2.0 5.0

 cos(input) : 输入的三角余弦

cosh(input) : 输入的双曲余弦

curv(input) : 输入曲线

dsx(input) : 输入名称对应的壁面边界条件的X 方向位移

dsy(input) : 输入名称对应的壁面边界条件的Y 方向位移

dsz(input) : 输入名称对应的壁面边界条件的Z 方向位移

exp(input) : 输入的指数函数

fac(input) : 输入的阶乘(阶乘,fac)

heaviside(input 1,input 2) : 亥维赛函数; 见下文

亥维赛函数:

int(input) : 输入的整数转换值(取整)

Interpolate(#x0,y0,x1,y1,…,#input) : 对#间的离散数据点进行线性插值,

input 定义x 值所表示的物理量。

InterpolateSpline(#x0,y0,x1,y1,…,#input) : 对#间的离散数据点进行三次

样条插值,input 定义x 值所表示的物理量。

InterpolateFile(filename,input) : 根据filename 对应的文本文件中的离散

数据点进行三次样条插值,input 定义第一列所表示的物理属性值。例如,

输入为“tm”,则表示温度;输入为“t”,则表示历经的时间。所以文本文

件应包含两列数据,第一列数据为input 对应的值,即自变量,第二列为

因变量的值。输入的filename 可以是文件名(必须和NFX 文件在同一目

录下),也可以是路径。需要特别说明的是,在路径中不要带有administrator

字符。

j0(input) : 输入的0 阶第一类贝塞尔函数值

 j1(input) : 输入的1 阶第一类贝塞尔函数值

jn(input) : 输入的n 阶第一类贝塞尔函数值

 LinearInterpolateFile(filename,input) : 根据filename 对应的文本文件中

的离散数据点进行线性插值,input 定义第一列所表示的物理属性值。例

如,输入为“tm”,则表示温度;输入为“t”,则表示历经的时间。所以文

本文件应包含两列数据,第一列数据为input 对应的值,即自变量,第二

列为因变量的值。输入的filename 可以是文件名(必须和NFX 文件在同

一目录下),也可以是路径。需要特别说明的是,在路径中不要带有

administrator 字符。。

ln(input) : 输入自然对数

log(input) : 输入常数对数

mat(input) : 如果在该区域中定义的材料名称与输入名称相同,则输出1;

否则,输出0。如果该区域是在2D 中使用不同材料共享两个面的曲线,

或者在3D 中共享两个体积的面,则当只有一种材质名称与输入相同时,

也会输出1。

maxs(input) : 在相邻节点之间输入的最大值。

maxvar(input) : 在整个分析区域中输入的 属性 值的最大值

meds(input) : 右侧附加节点中输入的最大和最小特征的两个特征值的平

均值

mins(input) : 附加到侧面的节点中最小输入属性值的值

minvar(input) : 在整个分析区域中输入的 属性值 的最小值

pfx(input) : 输入名称对应的壁面边界条件上由于液压力产生的 X方向分

pfy(input) : 输入名称对应的壁面边界条件上由于液压力产生的 Y方向分

pfz(input) : 输入名称对应的壁面边界条件上由于液压力产生的 Z方向分

pmx(input) : 输入名称对应的壁面边界条件上由于液压力产生的 X方向

力矩

pmy(input) : 输入名称对应的壁面边界条件上由于液压力产生的 Y方向

力矩

pmz(input) : 输入名称对应的壁面边界条件上由于液压力产生的 Z方向

力矩

readfile(filename) :执行输入文件名 对应的 文本文件 中的函数或命令。文件

名可以是文件名称,也可以是文件路径 。需要特别说明的是,在路径中不

要带有 administrator字符;为文件名称时,必须和 NFX文件在同一目录

下 。

例如,文本文件中的第一行定义使用流体分析函数的 历经 时间,第二行定

义了用于分析的函数。当在CFD函数中输入了readfile (C:\Temp\velx.txt)

则文件名 为 velx.txt的文件必须存在于 C:\ Temp文件夹中,并具有以下

内容:

Time = 0.1;

Function = “interpolate(#0,1,1,2#t)”

rtx(input) : 输入名称对应的壁面边界条件的关于 X轴的旋转角

rty(input) : 输入名称对应的壁面边界条件的关于 Y轴的旋转角

rtz(input) : 输入名称对应的壁面边界条件的关于 Z轴的旋转角

sin(input) : 输入的三角正弦

sinh(input) : 输入的双曲正弦

sqrt(input) : 输入的平方根

srand(input) : 输入的伪随机值 ; 0 output 1

tan(input) : 输入的三角正切

tanh(input) : 输入的双曲正切

vfx(input) : 输入名称对应的壁面边界条件上由于粘性产生的 X方向分力

vfy(input) : 输入名称对应的壁面边界条件上由于粘性产生的 Y方向分力

vfz(input) : 输入名称对应的壁面边界条件上由于粘性产生的 Z方向分力

vlx(input) : 输入名称对应的壁面边界条件的 X方向速度

vly(input) : 输入名称对应的壁面边界条件的 Y方向速度

vlz(input) : 输入名称对应的壁面边界条件的 Z方向速度

vmx(input) : 输入名称对应的壁面边界条件上由于粘性产生的 X方向力

vmy(input) : 输入名称对应的壁面边界条件上由于粘性产生的 Y方向力

vmz(input) : 输入名称对应的壁面边界条件上由于粘性产生的 Z方向力矩

vrx(input) : 输入名称对应的壁面边界条件的关于 X轴的旋转角速度

vry(input) : 输入名称对应的壁面边界条件的关于 Y轴的旋转角速度

vrz(input) : 输入名称对应的壁面边界条件的关于 Z轴的旋转角速度

xcg(input) : 输入名称对应的壁面边界条件重心的 X分量

xrot(input) : 输入坐标的 X分量的位移相对于( 0,0,0)的旋转角

y0(input) : 输入的 0阶 第 二类贝塞尔函数的值

y1(input) : 输入的 1阶 第 二类贝塞尔函数值

yn(input) : 输入的 n阶 第 二 类贝塞尔函数的值

ycg(input) : 输入名称对应的壁面边界条件重心的 Y分量

yrot(input) : 输入坐标的 Y分量的位移相对于( 0,0,0)的旋转角

zcg(input) : 输入名称对应的壁面边界条件重心的 Z分量
变量 /常量

用于定义函数的变量或常量 。

全局变量
dt : 时间增量
it : 间隔时间;重新启动的时间
rand : 随机数生成
step : 分析过程中的当前步骤
t : 总分析进度时间
几何变量
nx X方向法线向量
ny Y方向法向矢量
nz Z方向法向矢量
phis:球坐标系的相应分量与 Z轴投影分量形成的角度 ;tan^(-1)〖√
(x^2+y^2)/x〗
 rhoc:圆柱坐标半径 ;√√(x^2+y^2)
thetac:圆柱坐标系角度 ;tan^(-1)〖 y/x〗
rhos:球坐标系的半径 ;√√(x^2+y^2+Z^2)
thetas:球面坐标系 XY平面投影分量与 X轴形成的角度 ;tan^(-1)〖 y/x〗
x:直角坐标系 x坐标值
y:直角坐标 y坐标值
z:直角坐标系 z坐标值
未知数和属性
bt : 自由水面高度功能
cm : 可压缩系数
cp : 比热
ds : 距最近的墙边界条件的距离
dn : 密度
ep : 湍流变量ε
ke : 湍动能

kt : kτ; 湍流变量 k与切应力 τ 的乘积

kvs : 运动粘度

kis : 热传导系数

kxx : 固体热传导系数 XX分量

kxy : 固体热传导系数 XY分量

kxz : 固体热传导系数 XZ分量

kyy : 固体热传导系数 YY分量

kyz : 固体热传导系数 YZ分量

kzz : 固体热传导系数 ZZ分量

mx : 网格变形 X方向分量

my : 网格变形 Y方向分量

mz : 网格变形 Z方向分量

ols : 等级值

om : 湍流变量ω

ph : 体积分数 ;ph 将 在下面 对 多 个参数进 行排序。有多个 定义的变量 表

示 如下 ph1, ph2, ph3

pr : 压力值

pt : 表压力 包括静水压力和工作压力

sdn : 固体密度

sp : 浓 度 你 可以在 sp 之后 将这 些定 义 的 组分标为数 字。有多个定义的

组分表示为:sp1, sp2, sp3

tm : 温度

vx : 速度 X分量

vy : 速度 Y分量

vz : 速度 Z分量

vt : 湍流粘度

vs : 粘度

说明:变量是从紧接的上一个步骤计算得出的。
常数

dt : 当前步骤的时间步

exp(1) : 2.7182818284590452354

infinite:无穷大

op : 工作压力

pi : 3.1415926535897932385

操作器

普通运算符

+ : 加号

- : 减号

^ : 指数

× : 乘号

/ : 除号

~ : 负运算符,取相反数

(input1)div(input2) : 输入 1除以输入 2的值 ,只取商的整数部分 ,如

10div2=5 10div3=3;

(input1)mod(input2) : 输入 1除以输入 2后的 值,只取商的余数部分 ,如

10mod4=2,,-17mod4=-1;

max(input1, input2) : 输入 1和输入 2的最大值

min(input1, input2) : 输入 1和输入 2的最小值

not : 求反运算符

笛卡尔坐标微分
dx(input) : 输入的 X的导数
dy(input) : 输入的 Y的导数
dz(input) : 输入的 Z的导数
grad(input) : 输入的梯度
逻辑判断语句
关系运算符

input1<input 2 : 如果输入 2大于输入 1,则为输出 1,如果小于则输出

0;>同样可用

input 1<=input 2 : 如果输入 2大于或等于输入 1,则输出 1;如果输入2小于输入 1,则输出 0 > =同样可用

input 1=input 2 : 如果输入 1和输入 2相同,则为 1;如果不同,则为 0

input 1~=input 2 : 如果输入 1和 2不同,则为 1,如果相同则为 0输出

input 1&input 2 : 当输入 1和输入 2均为 1时,输出 1;当输入 1和输

入 2为 0时,输出为 0。

input 1|input 2 : 如果输入 1和输入 2为 1,则输出为 1,表示为 true;如

果输入 1和输入 2均为 0,则输出为 0。

if-else条件语句

if(input1)then(input2)else(input3)endif : 如果 input1为 true,则输出

input 2的值;如果 input1为 false,则输出 input 3的值 。且必须以 endif结尾。

if(input1)then(input 2)elif(input 3)then(input 4)else(input5)endif: 如果

input 1为 true,则输出 input 2的值;如果 input 1为 false,则继续判断

如果 input 3为 true,则输出 input 4的值,如果 input 3为 false,则输出

input 5的值。且必须以endif结尾。

示例

x+y : x和 y的分量之和

0.1*vx*vy : 速度 x和 y分量乘积乘以 0.1

120.0*(tm-25) : 温度减去 25后,乘以 120.0

0.1*sp2 : 第二个定义的组分值乘以 0.1

sin(x-t)*log(y^2) : x和 y分量之差的正弦函数乘以 y的平方的常数对数

2*sqrt(y) : 2和 y平方根的乘积

x*fac(5) : x坐标值和 5的阶乘

srand(0) : 伪随机数为 0

log(abs(x)) : x坐标的绝对值的自然对数

exp(5) : 自然指数的指数值为 5

interpolate(#1.0,2.0,2.0,2.5,3.0,2.0#t^2) : 时间平方的线性插值

maxvar(vx) : X分量速度的最大速度值

mat('Fluid') : 在定义了名为“ fluid”的材料的区域中,输出 1。

(y>2) :如果 Y坐标大于 2,则输出 1,表示 true。

(x!=1) :如果 X坐标不为 1,则输出 1,表示 true。

(y>2)&(x>2)&(x<3)&(y<3) : 在坐标系中,必须同时满足 2 <X <3和 2 <Y <3才能输出 1,这表示 true。

vx*dx(vx) : X方向速度的一阶导数乘以 X方向速度

if(y>2)then(if(x<1)then(1)else(0)endif)else(0)endif : 如果 Y坐标大于 2

则输出 if x <1 then 1 else 0 endif,如果 Y坐标小于 2,则输出 0。

if(y>2)then(1)elif(x<1)then(2)else(0)endif : 如果 Y坐标大于 2,则输出 1

如果 Y坐标小于 等于 2,且 x<1时,则输出 2;其他的情况都输出为 0

来源:midas机械部落
湍流NFX材料
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-11-25
最近编辑:2年前
MIDAS官方
幸福、贡献、分享-用技术创造幸福
获赞 127粉丝 354文章 491课程 11
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈