
[Sponsors] 
February 18, 2000, 14:33 
UDFHow to calculate gradient of a scalar

#1 
Guest
Posts: n/a

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


February 20, 2000, 16:44 
Re: UDFHow to calculate gradient of a scalar

#2 
Guest
Posts: n/a

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).


February 22, 2000, 17:24 
Re: UDFHow to calculate gradient of a scalar

#3 
Guest
Posts: n/a

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 

February 22, 2000, 20:09 
Re: UDFHow to calculate gradient of a scalar

#4 
Guest
Posts: n/a

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


February 24, 2000, 02:51 
Re: UDFHow to calculate gradient of a scalar

#5 
Guest
Posts: n/a

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 

July 7, 2013, 06:42 
UDF How to retrieve WSS from Fluent and calculate temporal and spatial gradients?

#6 
New Member
Nina Philipova
Join Date: Jul 2012
Posts: 8
Rep Power: 5 
How to retrieve WSS from Fluent and calculate temporal and spatial gradients in UDF?


July 14, 2013, 05:03 

#7 
New Member
Join Date: Jun 2013
Posts: 16
Rep Power: 4 
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 

July 16, 2013, 12:37 
How to calculate UDS gradient

#8 
New Member
Bill Wangard
Join Date: Jan 2011
Posts: 21
Rep Power: 6 
The following code should poplulate the UDS gradient variable:
Code:
#include "udf.h" #include "sg.h" DEFINE_ADJUST(adjust,d) { int n; for(n=0; n<n_uds; ++n) uds_derivatives(d, n); /* The UDS gradients are now available */ } void uds_derivatives(Domain *d, int n) { /* Code to compute derivative of a variable. Variable storage allocation first.... */ MD_Alloc_Storage_Vars(d, SV_UDSI_RG(n), SV_UDSI_G(n), SV_NULL); Scalar_Reconstruction(d, SV_UDS_I(n), 1, SV_UDSI_RG(n), NULL); Scalar_Derivatives(d, SV_UDS_I(n), 1, SV_UDSI_G(n), SV_UDSI_RG(n), NULL); return; } Then, in your UDF, you can access the gradient with C_UDSI_G(c,t). Remember, this is a vector quantity. 

July 17, 2013, 01:16 

#9  
New Member
Join Date: Jun 2013
Posts: 16
Rep Power: 4 
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 

July 17, 2013, 04:03 
UDS Gradient variable

#10 
New Member
Nina Philipova
Join Date: Jul 2012
Posts: 8
Rep Power: 5 
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 

July 17, 2013, 18:50 

#11 
New Member
Bill Wangard
Join Date: Jan 2011
Posts: 21
Rep Power: 6 
Regarding coupled levelsets, I don't have any information for you. Sorry.


July 20, 2013, 08:00 
Calculating WSS components and their derivatives

#12 
New Member
Nina Philipova
Join Date: Jul 2012
Posts: 8
Rep Power: 5 
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) } /* *********************************************** */ 

July 22, 2013, 03:28 
How to Calculate WSS Spatial and Temporal Gradients

#13 
New Member
Nina Philipova
Join Date: Jul 2012
Posts: 8
Rep Power: 5 
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. Last edited by n.phililipova; July 23, 2013 at 07:26. 

July 16, 2014, 15:19 

#14 
New Member
Azadeh Saeedi
Join Date: Mar 2014
Location: Canada
Posts: 23
Rep Power: 3 
does anybody here know that how to calculate velocity gradient over tracked particles?


July 18, 2014, 18:56 

#15  
Senior Member
Syavash
Join Date: Apr 2010
Location: Tehran, Karaj
Posts: 215
Rep Power: 8 
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. 

July 18, 2014, 20:34 

#16  
New Member
Azadeh Saeedi
Join Date: Mar 2014
Location: Canada
Posts: 23
Rep Power: 3 
Quote:
Thanks alot 

February 9, 2015, 02:12 
UDS gradient

#17 
Senior Member
Vaze
Join Date: Jun 2009
Posts: 133
Rep Power: 8 
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 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
How to calculate the gradient along the boundaries from a known volScalarFiled?  shddx1  OpenFOAM Programming & Development  2  October 28, 2011 18:04 
how to calculate scalar data at a particular plane  premchand  CDadapco  4  May 27, 2008 10:32 
Calculated gradient boundary condition similar to gammaContactAngle  adona058  OpenFOAM Running, Solving & CFD  0  September 26, 2007 15:23 
Gradient of Scalar calculation in 3D BFCskew grids  james T  Phoenics  0  March 28, 2007 07:12 
Wall shear stress gradient udf  Andrew  FLUENT  0  March 8, 2006 23:19 