NFX-CFD支持前处理函数定义
也支持后处理结果自定义输出(如风压系数/三分力系数等)
aver(input) : 相邻节点输入的平均值
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)的旋转角
用于定义函数的变量或常量 。
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 : 工作压力
操作器
普通运算符
+ : 加号
- : 减号
^ : 指数
× : 乘号
/ : 除号
~ : 负运算符,取相反数
(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 : 求反运算符
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