problem with real number in udf
hi guys i'm making udf for unsteady inlet velocity ( step train ) with certain value
with respect to time but i having problem with direction and magnitude as some of the flow goes into the reverse direction here is the code i wrote i hope someone can tell me what is wrong with it #include "udf.h" DEFINE_PROFILE(unsteady_x_velocity, thread, position) { face_t f; real t = CURRENT_TIME; if(t < 0.1) { F_PROFILE (f, thread, position)= 8.479; } if(0.1 < t > 0.2) { F_PROFILE (f,thread,position)= 1.357; } if(0.2 < t <0.3) { F_PROFILE (f,thread,position)= 8.479; } if(0.3 < t > 0.4) { F_PROFILE (f,thread,position)= 1.357; } if(0.4 < t < 0.5) { F_PROFILE (f,thread,position)= 8.479; } if(0.5 < t < 0.6) { F_PROFILE (f,thread,position)= 1.357; } if(t > 0.6) { F_PROFILE (f, thread, position)= 0; } } |
I think you should have a loop !!
|
you are right diamond x i tried the loop and it corrected the direction , still have problems with values but thanks for helping
|
You have ambiguous instructions, for example t>0.4 is defined twice:
in (0.3 < t >0.4) and (0.4 < t < 0.5). And t=0.1, t=0.2... is not defined. Check that, is an error you made several times. User diamondx is right, you need a loop. Cheers |
i fixed it and it worked and here is the right code in case someone needed it
#include "udf.h" DEFINE_PROFILE(unsteady_x_velocity12, thread, position) { face_t f; real tm = CURRENT_TIME; begin_f_loop (f,thread) { if(tm < 0.1) { F_PROFILE (f,thread,position)= 8.479; } if(tm > 0.1) { F_PROFILE (f,thread,position)= 1.36; } if(tm > 0.2) { F_PROFILE (f,thread,position)= 8.479; } if(tm > 0.3) { F_PROFILE (f,thread,position)= 1.36; } if(tm > 0.4) { F_PROFILE (f,thread,position)= 8.479; } if(tm > 0.5) { F_PROFILE (f,thread,position)= 1.36; } } end_f_loop (f,thread) } |
All times are GMT -4. The time now is 21:33. |