SOLVED:Udf function average temp inlet  outlet
Hello,
I would appreciate if somebody take a look in the UDF and give me some advices. I am trying to get the average temperature at the outlet of a pipe, and after some manipulations use it in the pressure inlet of the next time step. It compiles and the simulation runs up to the first time step. It starts with reversed flow then just after the first time step prints Temperature limited to 1 in the domain 1. Tavg prints nan. Thanks DEFINE_EXECUTE_AT_END(Temp_inlet) { Domain *d; real Temp_t; real area; real area_tot; real tavg; real A[ND_ND]; Thread *t; face_t f; d=Get_Domain(1); t=Lookup_Thread(d,11); begin_f_loop(f,t) { area = F_AREA(A,f,t); Temp_t += F_T(f,t); area_tot += area; tavg += Temp_t*area; } end_f_loop(f,t) tavg /= area_tot; tavg_tot1=tavg; printf("\n Tavg = %f\n",tavg_tot1); /*output nan*/ } DEFINE_PROFILE(Temp_inlet,t,i) { face_t f; real time; real current_time; time=CURRENT_TIMESTEP; current_time=CURRENT_TIME; if (current_time >=10.) { begin_f_loop(f,t) { F_PROFILE(f,t,i)=((fabs(flow_tot)*(tavg_tottavg_tot1)*time)/15.)+tavg_tot1; } end_f_loop(f,t) } else { begin_f_loop(f,t) { F_PROFILE(f,t,i)=288.16; } end_f_loop(f,t) } } 
Hi,
I think the problem is in your face loop, substitute this and check. hope that help you: Quote:

Solved
Thanks Amir, I did your proposed changes and it worked, this thread has been solved :).

All times are GMT 4. The time now is 01:42. 