![]() |
UDF for velocity inlet depending on time
1 Attachment(s)
Hello,
I'm trying to setup a velocity which changes its value depending on time (attahced figure), in an inlet boundary condition. The UDF that I have written is the following: DEFINE_PROFILE(y_velocity,t,i) { real T, H; /* variable declarations */ face_t f; T = 1; H = 3; begin_f_loop(f,t) { if(CURRENT_TIME <= T/2) F_PROFILE(f,t,i) = 0; else if (CURRENT_TIME <= 3*T/2 && CURRENT_TIME >T/2) F_PROFILE(f,t,i) = 4*H/pow(T,2)*pow(CURRENT_TIME-T,2)-H; else F_PROFILE(f,t,i) = 0; } end_f_loop(f,t) } I am quite new to UDFs and Im having some trouble. Any help would be really appreciated. Thank you. Enrique P. __ |
Hi Enrique,
This looks basically OK to me, except that you need a line include "udf.h" at the start. What trouble are you having? I would always recommend that you compile UDFs rather than interpreting. Here are some useful posts on compiling UDFs -- for example: links to instructions Visual Studio 2017 for udf use - which modules do I need?; troubleshooting errors How to solve UDF compilation problems in Fluent.; the basic steps of compile/load/hook The UDF library you are trying to load (libudf) is not compiled for 3D on the current. (at the end). Ach, I can't resist tweaking your code. It bothers me slightly to see T and t in the same code, though this is perfectly safe, but the thing that really bothers me is recalculating the same velocity for every face. Why not calculate it once and then use it repeatedly? Like this: Code:
#include "udf.h" Ed |
Hello again, Obscureed.
I made the silliest mistake ever by not including the "udf.h". I realized like 5 mins after posting this. Thanks for your help and for the improvement in the code. Really appreciated. |
All times are GMT -4. The time now is 22:38. |