如何使用udf将计算中的变量值输出为文本格式

如何使用udf将计算中的变量值输出为文本格式,第1张

方法有三:其一:双击该单元格,在6前面加个英文下的单引号',然后回车,这个单元格就变成文本了,适合数据量少的情况。其二:选中所有需要转换御银类型的单元格,点右键,左键选择“设置单元格格式”,在“数字”选项卡里面选择“文本”并确定。其三:选中单元格,然后点数据菜单,选择有效性,在设置选项卡里面把任何值改为文本长度,限定一个最大值和最小值,然后做迅确定纯拆此。

static int last_ts=-1 /*先在c文件头声明静态变谈锋量*/

DEFINE_ADJUST(name,d) /*用调整型函数解决你的问题肆岁*/

{

int int_time, curr_ts

curr_ts=RP_Get_Integer("time-step")

/含雹晌*通过循环给你需要输出的参数赋值,eg: your_pressure,该部分代码需要你自行编写*/

/*以下是我之前编程定时输出的解决方案,仅供参考*/

if (last_ts!=curr_ts)

{

last_ts=curr_ts

current_time=RP_Get_Real("flow-time")

int_time=(int)(current_time)

if (int_time % 300==0) /*每隔一定时间输出你要的参数*/

{

fprintf(fp, "%f %e \n", current_time, your_pressure)

}

}

}

你要写udf实现吗?给你个例子吧,没有编译过,可能有点小错。这个是你需好渣要的时候人工输出的,如果要每算一步自动输出就把define宏模袜简改成DEFINE_EXECUTE_AT_END

DEFINE_ON_DEMAND(output)

{

cell_f f

Thread*tf

real xf[ND_ND]

tf=Lookup_Thread(Get_Domain(1),threadID)//注意,threadID是你的入口边界的号码旦裤,从边界条件的对话框下可以看到

begin_f_loop(f,tf)

{

F_CENTROID(xf,f,tf)

//以下为输出到屏幕,分别是坐标各分量,速度各分量,静压。如果要输出到文件,就按照c语言规范定义一个文件指针就行了

#if RP_2D

Message0("x=%f\ty=%f\tu=%f\tv=%f\tp=%f\n",xf[0],xf[1],F_U(f,tf),F_V(f,tf),F_P(f,tf))

#else

Message0("x=%f\ty=%f\tz=%f\tu=%f\tv=%f\tw=%f\tp=%f\n",xf[0],xf[1],xf[2],F_U(f,tf),F_V(f,tf),F_W(f,tf),F_P(f,tf))

#endif

}

另外其实Fluent的后处理自带了这个功能。你可以用plot,把横坐标选成速度,纵坐标选成静压就行了,这个是可以直接输出成文件的。

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12131369.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存