CFD Online Logo CFD Online URL
Home > Forums

power law code

Register Blogs Members List Search Today's Posts Mark Forums Read

Rate this Entry

power law code

Posted June 12, 2012 at 01:26 by alven299

This is a very useful UDF for beginners...

Originally Posted by Antoine
I've finally found the causes of the problem. To initialize correctly the apparent viscosity, I used the current iteration number macro N_ITER, so when it is < 1 (computation is not launched) apparent viscosity is set to a fixed value. Also, in my previous udf, I defined -k because I'm used to see a minus sign before k in the definition of the shear stress. But the apparent viscosity is positive so the minus sign is a source of error because mu_app always took a negative value < visc_dyn_min... I've also modified some lines of the last version of the udf because they finally weren't necessary. Now the udf works fine, I tested the case of a simple power-law and I obtained errors below 0.5% compared to the fluent integrated power-law. Here is the tested last version of the user defined power-law. Even if I don't find problems anymore, you should test it before launching important computations.

#include "udf.h"



real visc_dyn_min=0.0001; /*Define the minimum limit for the value of viscosity*/

real visc_dyn_max=10000; /*Define the maximum limit for the value of viscosity*/

real index_n=0.9; /*Define the power law index*/

real k=1; /*Define the consistency index*/

real T0=0; /*Define the reference temperature T0*/

real T1=0; /*Define the fixed temperature T1*/

real temp=C_T(c,t); /*Define the access to the temperature calculated by Fluent through the temp variable*/

real mu_app; /*Define the variable for the apparent viscosity which will be returned to the solver*/

real mu_temp; /*Define a temporary variable to stock the user defined apparent viscosity*/


if (N_ITER<1)


mu_app=k; /*Initialize mu_app to the value of k*/


else if






mu_app=mu_temp; /*Replace the value of mu_app by the calculated user-defined temporary viscosity when the computation has been launched*/


else if ((N_ITER>=1)&&(mu_temp>=visc_dyn_max))




else if ((N_ITER>=1)&&(mu_temp<=visc_dyn_min))




return mu_app; /*Set the value of the user-defined viscosity in Fluent*/


Best regards

Posted in Uncategorized
Views 798 Comments 0 Edit Tags Email Blog Entry
« Prev     Main     Next »
Total Comments 0



All times are GMT -4. The time now is 00:00.