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_ENDDEFINE_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,把横坐标选成速度,纵坐标选成静压就行了,这个是可以直接输出成文件的。
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)