Temperature gradient macros on face
How to obtain a temperature gradient directly from the solver for the UDF purposes? Does any macro exist to compute temperature gradient on a face?
my aim i to extract heat flux on a face! Thank you |
Quote:
|
Thanks, but i don't need of a heat flux, i want to know dt/dn i.e. gradient.
Bye. |
Quote:
Then use the UDS gradient on cell, distance vector to compute the temperature gradient on face. #include "udf.h" DEFINE_ON_DEMAND(test) { face_t f; cell_t c0; Thread *tf,*t0; Domain*domain=Get_Domain(1); real NV_VEC(dist_vector); real f_centoid[ND_ND],c_centroid[ND_ND]; real face_value,cell_value; thread_loop_f(tf, domain)/* loops over all face threads in a domain*/ { begin_f_loop(f, tf) /* loops over faces in a face thread */ { F_CENTROID(f_centoid,f,tf); //centroid of a face c0=F_C0(f,tf); t0=THREAD_T0(tf); C_CENTROID(c_centroid,c0,t0); //centroid of the neighbour cell NV_DD(dist_vector,=,f_centoid[0],f_centoid[1],0,-,c_centroid[0],c_centroid[1],0); face_value=C_UDSI(c0,t0,0)+NV_DOT(C_UDSI_G(c0,t0,0 ),dist_vector); cell_value=C_UDSI(c0,t0,0); Message0("x coord.=%g,face value=%g,cell value=%g\n",f_centoid[0],face_value,cell_value); } end_f_loop(f, f_thread) } } |
convective boundary condition
after writing a similar face gradient, i have to give a mass convection boundary condition with the face and air, but i couldn't manage to put the cell (for air) and face (for solid face) together. can you help me?
|
I am solving a 2D problem. I want to calculate temperature gradient (and also write it) on the surface(line) whose end points I know. Can anyone tell me how to do it
Thank you |
udf for temperature gradient
I want x and y component of temperature gradient, please tell me how can i be able to get it.
i have done solve/set/expert to retain various gradients. but when i am try to run the simulation fatal error occurs. I am writing my code below. #include "udf.h" DEFINE_ADJUST(my_adjust,domain) { Thread*t; cell_t c; real vol_tot, tavg; tavg=0.; vol_tot=0.; domain=Get_Domain(1); thread_loop_c(t,domain) { begin_c_loop(c,t) { vol_tot += C_VOLUME(c,t); tavg += (C_T(c,t)*C_VOLUME(c,t)); end_c_loop(c,t) } tavg= tavg/vol_tot; printf("Volume integral of temperature:%g\n", tavg); } thread_loop_c(t,domain) { begin_c_loop(c,t) { C_UDMI(c,t,0)=tavg; C_UDSI(c,t,0)= C_T_G(c,t)[0]; } end_c_loop(c,t) } } DEFINE_SOURCE(mom_source,c,t,dS,eqn) { real x[ND_ND]; real source; C_CENTROID(x,c,t); source= 1.0+5.33*(C_T(c,t)-C_UDMI(c,t,0)); dS[eqn]= 0.0; return source; } |
All times are GMT -4. The time now is 06:08. |