UDFHow to calculate gradient of a scalar
Hi! I am trying to write a UDF for fluent. I need to calculate the gradient of a scalar. Does anybody have any idea how can I do that. That is, what are the macros available in Fluent that I can usse to calculate the gradient? Thanking you in advance Tony

Re: UDFHow to calculate gradient of a scalar
Fluent will store the gradient of all User Defined Scalars. So, enable a scalar in the Define > Models > User Defined Scalars panel, and turn off it's solution in the Solve > Controls panel. Then, in your UDF, copy the scalar that you want (say temperature) into the User Defined Scalar ( C_UDSI(c,t,0) ), and you can use it's gradient ( C_UDSI(c,t,0)[i], where i=0,1 and 2 in 3D).

Re: UDFHow to calculate gradient of a scalar
Hi Everbody I would like to thank Graham very much for his reply. On the other hand, I will need more help on this. I am trying to get the gradient of a scalar that I get by using UDS in Fluent. That is, I want to use the gradient of C_UDSI(c,t,0) in my UDF code. Is C_UDSI_G(c,t,0) will give me the gradient of C_UDSI(c,t,0)?
If that is correct why in my UDF the gradient returns no value? Thanking you in advance Regards 
Re: UDFHow to calculate gradient of a scalar
Hi Everybody, I post a message concerning the calculation of a gradient of a scalar. I would like to share more information on that. There is a sample program in Fluent files. It calculates the magnitude of the gradient of T^4.I have tried to compile that code. But,the code did not generate an executable file. So there is something missing. I think I need to do something in fluent to make that code to work but I do not know what. I will aprciate your help Thanking you in advance Ilkay

Re: UDFHow to calculate gradient of a scalar
Graham,
Thanks for your suggestions. Is it necessary to copy the scalar to a UDS as you suggest in order to determine the gradient?? For example, for temperature can one access the gradient through the macro: C_T_G(cell,thread)[x], where x = 0, 1, 2 for the spatial direction I notice that in mem.h, C_DUDX (which calculates the gradient of the velocity component U in the xdirection) and others are actually defined as: C_U_G(cell,thread)[0] etc. Also, how do you determine the temporal gradient of a scalar in transient calculations? In particular if I have a UDS how do I get access to the transient term, to add as a source term to one of the other transport equations??? Thanks Regards Greg Perkins 
UDF How to retrieve WSS from Fluent and calculate temporal and spatial gradients?
How to retrieve WSS from Fluent and calculate temporal and spatial gradients in UDF?

Hi,Greg Perkins,
Implemented of the source term is a way, but there may be a convergence problem. I'm not sure if i understand U, but, in my opinion,the DEFINE_UDS_UNSTEADY udf is a good reference. Wond 
How to calculate UDS gradient
The following code should poplulate the UDS gradient variable:
Code:
#include "udf.h" Then, in your UDF, you can access the gradient with C_UDSI_G(c,t). Remember, this is a vector quantity. 
Quote:
As we know, The ANSYS FLUENT (V.13 or higher) have the couple levelset option. Do you have any idea to export the levelset function by udf? Thanks a lot! Wond 
UDS Gradient variable
A would like to thank you so much to Bill Wangard for his immediate reply and for his help!
Wish you great further successes! Nina Philipova 
Regarding coupled levelsets, I don't have any information for you. Sorry.

Calculating WSS components and their derivatives
I found a code, that calculate WSS as a magnitude of viscous fources vector. Area vector is given also as a magnitude of a vector.
I need to calculate components of WSS and their gradients, I don't need a magnitude of vector. Can someone help with advise, please! #include "udf.h" DEFINE_ON_DEMAND(wall_shear_calc) { Domain *d; real wall_shear_force, area; face_t f; real A[ND_ND]; cell_t c, c0; Thread *t,*t0, *c_thread; int Zone_ID=6; /* Zone ID of the wall on which shear stress has to be calculated */ /* It can be obtained from the boundary condition panel.*/ d=Get_Domain(1); /* Initialize the UDM value to zero in complete domain */ thread_loop_c(c_thread,d) { begin_c_loop(c, c_thread) { C_UDMI(c,c_thread,0)= 0; } end_c_loop(c, c_thread) } /* Calculate wall shear stress and store them in UDM */ t=Lookup_Thread(d,Zone_ID); begin_f_loop(f, t) { F_AREA(A,f,t); area = NV_MAG(A); wall_shear_force = NV_MAG(F_STORAGE_R_N3V(f,t, SV_WALL_SHEAR)); c0 = F_C0(f,t); t0 = THREAD_T0(t); C_UDMI(c0,t0,0)= wall_shear_force/area; } end_f_loop(f, t) } /* *********************************************** */ 
How to Calculate WSS Spatial and Temporal Gradients
Please, exuse my misunderstanding!
If I correctly understood, I must retrieve calculated by Fluent Wall Shear Stress not to caculated them again. I am not sure that the available gradients and the stored variable are exactly WSS In code of Bill Wangard. Excuse me for that. I have just a small atempt in UDF. How can I assign exactly x, y, zderivatives of WSS components and to calculate WSS temporal or spatial gradient. 
does anybody here know that how to calculate velocity gradient over tracked particles?

Quote:
Isn't it possible to identify the cell at which particle is present at a specific moment?! If yes, I think it would be a good approximation to use velocity gradient of the cell instead of the particle. Bests. 
Quote:
Thanks alot 
UDS gradient
Hi Bill
I found your code of gradient is not working. Have you checked at your end? Can you please tell me the procedure? Thank you 
Thanks for all posts.

All times are GMT 4. The time now is 15:08. 