![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
fluent的UDF,如何设置按时间步长向外输出TXT数据
在fluent计算一个非稳态的情况,需要对一个面的压力值进行按时间步长的输出。在udf中有一个输出宏,但却是每一步都输出,我不想输出那么多,请问应如何编写程序?或者用什么...
在fluent计算一个非稳态的情况,需要对一个面的压力值进行按时间步长的输出。在udf中有一个输出宏,但却是每一步都输出,我不想输出那么多,请问应如何编写程序?或者用什么宏?
展开
3个回答
展开全部
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);
}
}
}
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);
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询