CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
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...

Quote:
Originally Posted by Antoine
;139313
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"

DEFINE_PROPERTY(user_power_law,c,t)

{

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*/

mu_temp=k*pow(C_STRAIN_RATE_MAG(c,t),index_n-1)*exp(T0/(temp-T1));

if (N_ITER<1)

{

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

}

else if

((N_ITER>=1)&&

(mu_temp>visc_dyn_min)&&

(mu_temp<

visc_dyn_max))

}

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

{

mu_app=visc_dyn_max;

}

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

{

mu_app=visc_dyn_min;

}

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

}

Best regards

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

Comments

 

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