CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   FLUENT (http://www.cfd-online.com/Forums/fluent/)
-   -   Switch problem! using 2 custom udf laws at the same time (http://www.cfd-online.com/Forums/fluent/34625-switch-problem-using-2-custom-udf-laws-same-time.html)

HP September 15, 2004 09:48

Switch problem! using 2 custom udf laws at the same time
 
Hi! I have written 2 custom udf laws (one for devolatilization and one for surface combustion). When I hook my custom devol law instead of Fluent's one, everything works fine. Similarly when I hook my surf combustion law (instead of Fluent's standard), but when I hook them both simultaneously, then surface combustion does not occur.

Can anybody tell me what the problem is? Is it a switching problem? Any suggestions would be appreciated.

Thanks in advance Ilias.

The laws are:

#include "udf.h" #define PI 3.14159265358979323

boolean just_started_dev_law=1; boolean just_started_cc_law=1;

/************************************************** ******************** constant diameter law for devolatilisation ************************************************** *********************/

DEFINE_DPM_LAW(devol_const_diam_law, p, ci) {

static real dp_law_init;

//Get particle state when law starts

if(just_started_dev_law){

dp_law_init=P_DIAM(p);

just_started_dev_law=0;

}

//first, call standard devolatilization routine to calculate

//the mass and heat transfer

DevolatilizationLaw(p);

//then set the current diameter (constant during the devolatilisation

//procedure) equal to the after drying diameter

P_DIAM(p)=dp_law_init;

//calculate and set the current density (according to the

//constant diameter)

//rho=m/V

P_RHO(p)=P_MASS(p)/(PI*dp_law_init*dp_law_init*dp_law_init/6);

}

/************************************************** ******************** constant density law for char combustion ************************************************** *********************/

DEFINE_DPM_LAW(char_comb_const_diam_law, p, ci) {

static real rhop_law_init;

//Get particle state when law starts

if(just_started_cc_law){

rhop_law_init=P_RHO(p);

just_started_cc_law=0;

}

//first, call standard char combustion routine to calculate

//the mass and heat transfer

SurfaceCombustionLaw(p);

//then set the current density (constant during the char combustion

//procedure) equal to the after devolatilisation density

P_RHO(p)=rhop_law_init;

//calculate and set the current diameter (according to the

//constant density)

//dp=f(rho,m)=(6m/rho/pi)^0.333

P_DIAM(p)=pow(6*P_MASS(p)/(PI*rhop_law_init),0.3333333333); }


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